I have tested PBXT before and it scaled great but had more overhead than InnoDB. Well, it still scales great but the overhead problem has been fixed. PBXT is very fast on this benchmark, faster than any enhanced version of InnoDB that I can produce at this point. Granted this is just one benchmark, but it is a great achievment.
Results are here. This displays sysbench throughput (transactions per second) for 1 to 64 concurrent users. All servers are compiled with gcc -O2. The versions listed on the chart are:
- 5037goog - MySQL 5.0.37 + the Google patch + tcmalloc, using InnoDB
- 5131pbxt - MySQL 5.1.31 + tcmalloc + the latest PBXT code, using PBXT
- 5131inno - MySQL 5.1.31 + tcmalloc + the 1.0.3 plugin for InnoDB, using InnoDB
- 5075myisam - MySQL 5.0.75 + tcmalloc using MyISAM
Update: results from Falcon compared to the InnoDB 1.0.3 plugin.
- 5131_inno - 5.1.31 + tcmalloc + InnoDB 1.0.3 plugin + InnoDB
- 6bzr_facon - mysql-6.0-falcon from launchpad + tcmalloc + Falcon
- 6010_facon - 6.0.10-alpha + tcmalloc + Falcon
- 609_falcon - 6.0.9-alpha + tcmalloc + Falcon
Update: details on the test
sysbench command line:
- sysbench with changes from me to support --oltp-secondary-index
- --test=oltp
- --oltp-read-only
- --oltp-table-size=2000000
- --max-time=60
- --max-requests=0
- --mysql-table-engine=$e
- --db-ps-mode=disable
- --mysql-engine-trx=yes
- --oltp-secondary-index
- --num-threads={1 .. 64}
- table_cache=2048
- join_buffer_size=64K
- record_buffer=128K
- sort_buffer=2M
- skip-name-resolve
- max_heap_table_size=100M
- tmp_table_size=100M
- max_tmp_tables=100
- max_connections=500
- thread_cache_size=100
- pbxt-record-cache-size=1G
- pbxt-index-cache-size=1G
- innodb_flush_log_at_trx_commit = 2
- innodb_log_files_in_group=2
- innodb_log_buffer_size=10M
- innodb_additional_mem_pool_size=100M
- innodb_lock_wait_timeout=50
- innodb_data_file_path = innodb_data1:200M:autoextend
- innodb_buffer_pool_size=1000M


Nice results.... small teams can do a lot, and 1 person is definitely a small team :)
ReplyDeleteThis could be regarded as a troll question, but have you tried Falcon any time recently? Just curious how it's faring now.
ReplyDeleteUpdated with a few results from Falcon
ReplyDeleteCan you list out the my.cnf and sysbench parameters you are specifying for your tests? Thanks.
ReplyDelete