[CONC-17] Very Slow Performance Created: 2013-03-14 Updated: 2013-03-20 Resolved: 2013-03-19 |
|
| Status: | Closed |
| Project: | MariaDB Connector/C |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | John Schember | Assignee: | Georg Richter |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Kubuntu 12.10 x64 |
||
| Description |
|
The MariaDB Client Library for C is much slower than the MySQL 5.5 client library by an order of a magnitude. Sysbench was used to test the performance of the two libraries. The same MySQL 5.5 server installation (as installed from the distribution repository) was used for each test. Sysbench was compiled against the Maria and MySQL client libraries. Trunk as of a few days ago and 5.5.29. MariaDB Client Library for C took 5190.0790s vs MySQL's Client Library 26.5353s. 5K+ seconds vs 26.5 is a huge difference. Sysbench linked against MariaDB Client Library for C:
Sysbench linked against MySQL Client Library:
|
| Comments |
| Comment by Georg Richter [ 2013-03-19 ] |
|
Neither Axel Schwenke nor me could reproduce such a difference: Tested against lp:mariadb-native-client rev. 45. It seems that there is some space for improvement: The memory management in the prepared statement implementation should be reviewed and optimized (Likely we can reduce some malloc/alloc_root stuff). |
| Comment by John Schember [ 2013-03-19 ] |
|
Did you use sysbench for your testing? I can run it again later today or tomorrow against rev. 45 and see if there is an improvement over what I was getting previously. |
| Comment by Georg Richter [ 2013-03-19 ] |
|
Tests were done with sysbench (statically linked) gcc -pthread -g -O2 -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a /usr/local/mdb_lgpl/lib/mariadb/libmysqlclient.a -lssl -lrt -lm and gcc -pthread -g -O2 -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a /usr/local/mariadb-5.5/lib/libmysqlclient.a -lssl -lrt -lm |
| Comment by John Schember [ 2013-03-20 ] |
|
I'm seeing the ~8 difference you're seeing with rev 45. Looks like debugging was the reason for the slow down. |