percona-discussion team mailing list archive
-
percona-discussion team
-
Mailing list archive
-
Message #00225
[Bug 326464] Re: performance regression in tpc-c 1 thread
It may come from the following part of the patch innodb_io_patches.patch.
It may allow too many IOs as "not so busy".
I think these part has became unnecessary, now.
Because we have another parameter to tuning by another way in current version.
(e.g. innodb_adaptive_checkpoint, innodb_ibuf_active_contract, innodb_ibuf_max_size, etc.)
Please retry to patch reverse of the following part.
(How about with innodb_ibuf_active_contract = 1 ?)
---------
diff -ru a/srv/srv0srv.c b/srv/srv0srv.c
--- a/srv/srv0srv.c 2009-01-06 14:22:04.000000000 +0900
+++ b/srv/srv0srv.c 2009-01-06 15:10:05.000000000 +0900
.....
@@ -2377,10 +2397,10 @@
+ log_sys->n_pending_writes;
n_ios = log_sys->n_log_ios + buf_pool->n_pages_read
+ buf_pool->n_pages_written;
- if (n_pend_ios < 3 && (n_ios - n_ios_old < 5)) {
+ if (n_pend_ios < 3 && (n_ios - n_ios_old < PCT_IO(5))) {
srv_main_thread_op_info = "doing insert buffer merge";
.....
@@ -2428,10 +2491,10 @@
n_pend_ios = buf_get_n_pending_ios() + log_sys->n_pending_writes;
n_ios = log_sys->n_log_ios + buf_pool->n_pages_read
+ buf_pool->n_pages_written;
- if (n_pend_ios < 3 && (n_ios - n_ios_very_old < 200)) {
+ if (n_pend_ios < 3 && (n_ios - n_ios_very_old < PCT_IO(200))) {
....
---------
--
performance regression in tpc-c 1 thread
https://bugs.launchpad.net/bugs/326464
You received this bug notification because you are a member of Percona
developers, which is the registrant for Percona patches.
Status in Patches for MySQL by Percona: Confirmed
Status in Percona XtraDB Storage Engine for MySQL: Confirmed
Bug description:
I observe performance regression if run XtraDB (the same for percona patches in 5.0.75) with IO tuned parameters in 1 thread tpc-c benchmarks. With 4 threads = results are OK.
tuned parameters:
innodb_write_io_threads=4
innodb_read_io_threads=4
innodb_io_capacity=800
innodb_adaptive_checkpoint=1
full my.cnf:
====
[mysqld]
#mysqld options in alphabetical order
user=root
default_table_type=MYISAM
innodb_buffer_pool_size=3G
innodb_data_file_path=ibdata1:10M:autoextend
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=8M
innodb_log_files_in_group=2
innodb_log_file_size=128M
innodb_thread_concurrency=0
innodb_flush_method = O_DIRECT
innodb_write_io_threads=4
innodb_read_io_threads=4
innodb_io_capacity=800
innodb_adaptive_checkpoint=1
#innodb_extra_rsegments=16
#innodb_thread_concurrency=16
max_connections=3000
query_cache_size=0
skip-name-resolve
table_cache=2048
===
I use tpc-c 100W.
for 1 thread not tuned I have 3483.8 TpmC
tuned - 3156.6
for 10 threads:
not tuned: 8039.1
tuned: 9111.9
So we have something wrong in 1-thread case.
References