On Tue, May 19, 2009 at 6:21 PM, Vadim Tkachenko <vadim@xxxxxxxxxxx> wrote:
Mark,
We ported Google V3 patch to XtraDB (on QA stage), will you be able to try
it if I prepare binaries ?
I can try it if you give me source. I have to compile/link so that it
will use libraries available on my servers.
Thanks,
Vadim
MARK CALLAGHAN wrote:
I am running tpcc-mysql on:
* 4 core server
* 10 disk SW RAID 0, 1MB stripe
* 100 warehouses
* 16, 32 or 48 clients
* XtraDB == InnoDB Plugin 1.0.3-5a started
* tpcc-mysql run with rampup=1200 and run=14400
I am testing XtraDB and the v3 google patch, with some new changes for
the v3 patch that are not yet published. As the number of clients is
increased from 16 to 32 to 48, XtraDB gets slower and there is more
CPU overhead.
For XtraDB TpmC is ~3000 at 16 clients and ~1800 at 32 clients
For v3 Google TpmC is ~3000 at 16 and 32 clients
Typical vmstat output for the v3 patch with 48 clients is:
procs -----------memory---------- ---swap-- -----io---- --system--
----cpu----
r b swpd free buff cache si so bi bo in cs us sy
id wa
9 42 0 1973636 60048 11177032 0 0 13210 11952 2160 24209
20 8 22 50
Output for XtraDB is:
12 11 0 2467368 44080 10941560 0 0 13526 8967 2072 33098
29 8 16 47
Top sources of CPU overhead reported by oprofile for XtraDB:
samples % image name app name symbol
name
2055060 18.5289 mysqld mysqld
buf_LRU_free_block
1383852 12.4771 mysqld mysqld
buf_LRU_search_and_free_block
534130 4.8158 mysqld mysqld
buf_calc_page_new_checksum
235780 2.1258 mysqld mysqld
ut_delay
173743 1.5665 mysqld mysqld
rec_get_offsets_func
156347 1.4097 mysqld mysqld
buf_page_get_gen
149936 1.3519 mysqld mysqld
mutex_spin_wait
142288 1.2829 libc-2.3.6.so mysqld memcpy
and for the v3 patch:
samples % image name app name symbol
name
484956 7.6402 mysqld.io5 mysqld.io5
buf_calc_page_new_checksum
247386 3.8974 mysqld.io5 mysqld.io5
rec_get_offsets_func
244578 3.8532 mysqld.io5 mysqld.io5
os_aio_simulated_handle
128979 2.0320 highlanderd highlanderd (no
symbols)
112779 1.7768 libc-2.3.6.so mysqld.io5 memcpy
110709 1.7441 mysqld.io5 mysqld.io5
buf_flush_free_margin
90865 1.4315 mysqld.io5 mysqld.io5
buf_page_get_gen
82670 1.3024 mysqld.io5 mysqld.io5
ut_2_power_up
82453 1.2990 mysqld.io5 mysqld.io5
cmp_dtuple_rec_with_match
79781 1.2569 mysqld.io5 mysqld.io5
hash_mutex_exit
76743 1.2090 mysqld.io5 mysqld.io5
hash_mutex_enter
my.cnf for XtraDB:
[mysqld]
innodb_log_file_size=1900M
innodb_buffer_pool_size=2G
innodb_flush_log_at_trx_commit=2
innodb_flush_method=O_DIRECT
innodb_io_capacity=1250
innodb_use_sys_malloc=0
innodb_read_io_threads=4
innodb_write_io_threads=4
innodb_max_dirty_pages_pct=20
innodb_ibuf_max_size=200M
my.cnf for v3 Google patch (not all of these are published yet)
[mysqld]
innodb_buffer_pool_size=2G
innodb_log_file_size=1900M
innodb_flush_log_at_trx_commit=2
innodb_flush_method=O_DIRECT
innodb_io_capacity=1250
innodb_read_io_threads=4
innodb_write_io_threads=4
innodb_max_dirty_pages_pct=20
innodb_ibuf_max_pct_of_buffer=10
innodb_doublewrite=0
innodb_ibuf_flush_pct=40
skip_innodb_ibuf_reads_sync
innodb_check_max_dirty_foreground
innodb_adaptive_checkpoint
allow_view_trigger_sp_subquery
innodb_thread_concurrency=0
innodb_file_per_table
innodb_ibuf_active_contract=1
innodb_ibuf_accel_rate=400
innodb_doublewrite=0
innodb_file_per_table
innodb_thread_concurrency=0
--
Vadim Tkachenko, CTO
Percona Inc.
ICQ: 369-510-335, Skype: vadimtk153, Phone +1-888-401-3403
MySQL Performance Blog - http://www.mysqlperformanceblog.com
MySQL Consulting http://www.percona.com/