next up previous
Next: Code and application environment Up: Implementation Previous: Performance testing

Problems encountered during performace test

Performance tests are also a good way to discover some problems or errors that may result from technologies' missing features. We have created a very simple mysql database and inserted 100000000 (100 million) rows into one of its tables. However the dumping process did not succeed. Instead of the backup file we have received the following error: "java.lang.OutOfMemoryError". That shouldn't have happened, because Jdbdump copies tables directly to a file record after record, not loading entire tables into memory.
It turned out that the guilty one was the Mysql server and JDBC driver. In our java application we have used setFetchSize() method to make the program download data piece by piece, that means if you write setFetchSize(100) and want to download data from a table consisting of 1000000 rows, it should download only the first 100 rows at the beginning, and then the next 100 rows when they are accessed, and so on. However, to our surprise it turned out that this feature is available only in MySQL 5.0. So we had to implement it ourselves in our code.


next up previous
Next: Code and application environment Up: Implementation Previous: Performance testing
Wiktor Kolodziej 2006-01-12