28. 07. 2019.

How to quickly perform REST API performance test

REST API interface is dominant way of machine-to machine communication because of its flexibility, performance, simplicity and lightweight.   Recently I had to perform a quick performance test to check if response time of one application is in line with SLA (Service Level Agreement). Such performance tests are particularly important in case of SaaS architecture […]

22. 07. 2019.

Oracle database benchmarking by using CALIBRATE_IO

CALIBRATE_IO is yet another popular database simulation/stress test utility, mainly used to perform IO benchmarks.   Procedure, that is part of DBMS_RESOURCE_MANAGER package, will generate read-only workload made up of 1 MB of random of I/Os to the database to determine the maximum number of IOPS and MB per second. You can save the following […]

17. 07. 2019.

Implement High Performance Computing tools to test cluster stability

There are many benchmark testing tools that are focusing on various fields of a cluster like computing capabilities, energy efficiency, data & storage, memory etc. In this article I’m going to use Somberero – High Performance Computing tool suitable to run a test against your home PC or cluster of supercomputers. Sombrero is particularly useful […]

17. 05. 2019.

How to change the execution plan without changing the code in Oracle 10g

Recently I had an interesting case when I’ve been asked how to change the execution plan of one complex query without changing the code. I’ve already had a lecture with similar title at 2012 in Oracle User Group Conference – more details you can find at the following link: How to change the execution plan […]

08. 05. 2019.

Processing billions of records with Python & Oracle

Suppose you want to analyze data set by using your favorite tools (Pandas/NumPy). By reading my previous article: How to efficiently load data into Python from the Oracle RDBMS , you should realize how important is to do as much of data processing at the database SQL engine layer to get out dataset suitable for […]

23. 04. 2019.

How to efficiently load data into Python from the Oracle RDBMS

Python has many different ways to fetch the data needed to do some processing. Although majority of examples you can find around are using CSV file load, fetching a data from the database is still the most common way in practice. For all tests I’ll use SALES table from the Oracle SH sample schema. 1. […]

19. 02. 2019.

Bulk collect and memory limits

We all know that for bulk collect PL/SQL operation it’s important to keep the memory consumption under control. For that reason all bulk collect operations should be combined with a LIMIT clause like in the following code fragment: Setting the limit to process only 10K records in bulk is does not impress me in a […]

11. 02. 2019.

Performance comparison: Python & cx_Oracle versus SQL*Plus & SQL*Net

In this article I want to check the truth about the slowness of Python language when it comes to retrieving data directly from Oracle database. Second goal is to show graphically impact of changing the array size on performance, which is not possible and convenient to do with SQL*Plus.   Python is widely used as […]

10. 02. 2019.

Impact of the parameter arraysize on performance

Main goal of this article is to explain impact of the parameter arraysize on database performance. First it’s important to define what array size is. The array size is the number of rows fetched by the server. I’m using Oracle’s SH demo schema, and it’s SALES table which has almost 1 million rows. In the […]

04. 01. 2019.

Multipath I/O and Network bonding

Event though Multipath I/O and NIC bonding is more related to sysadmin and storage admin tasks, it is good idea to grab some knowledge about those keywords as they play important role in achieving good performance. In the series of articles about disk speed I explained why it is good to know what values you […]