Quantcast
Channel: MySQL Performance Blog » Search Results » mysql 5.1 ga 2008
Viewing all articles
Browse latest Browse all 60

XtraDB/InnoDB CPU bound benchmarks on 24cores server

$
0
0

One of our customers gave me a chance to run some benchmarks on 24-core (intel cpu based) server, and I could not miss it and ran few CPU-bound tasks there.

The goal of benchmarks was investigation of InnoDB-plugin and XtraDB scalability in CPU-bound load.

CPU specification:

processor       : 23
vendor_id       : GenuineIntel
cpu family      : 6
model           : 29
model name      : Intel(R) Xeon(R) CPU           E7450  @ 2.40GHz
stepping        : 1
cpu MHz         : 2394.011
cache size      : 12288 KB
physical id     : 3
siblings        : 6
core id         : 5
cpu cores       : 6
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips        : 4788.59
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

I tested MySQL-5.1.30 with InnoDB plugin, Xtradb-1.0.2-1, and XtraDB-1.0.2-2 (rel2). XtraDB-rel2 has not been released yet, we still are doing internal QA for, but it will be ready soon. Main difference XtraDB-rel2 it contains additional scalability fixes for buffer_pool (split_buffer_pool_mutex patch).

my.cnf is

[mysqld]
user=root

binlog_cache_size=1M
default_table_type=MYISAM
ft_min_word_len=4

innodb_additional_mem_pool_size=16M
innodb_buffer_pool_size=15G
innodb_data_file_path=ibdata1:10M:autoextend
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=2
innodb_log_buffer_size=8M
innodb_log_files_in_group=2
innodb_log_file_size=512M
innodb_status_file=0
innodb_thread_concurrency=0

innodb_io_capacity=1000
innodb_write_io_threads = 16
innodb_read_io_threads = 16


join_buffer_size=1M
max_allowed_packet=1M
max_connections=3000
max_heap_table_size=64M
max_prepared_stmt_count=1000000
query_cache_size=0
skip_grant_tables
skip_locking
sort_buffer_size=64K
table_cache=2048
thread_cache_size=16
thread_concurrency=16
thread_stack=196K
tmp_table_size=64M
transaction_isolation=REPEATABLE-READ
local-infile=1

At first I tried sysbench oltp read-only with 10mil rows (the datasize is about 2.5GB), uniform distribution.
The results you can see there: (Results are removed for additional checking)

In the next run I tested sysbench oltp read-write load, and the results are:

Here starting 16 threads the result is dropping down with the same speed as it grew, and with 128 connections we have the same TPS as with 1 connection (and it is on 24-cores box!). XtraDB is slightly better there than InnoDB, but nothing special to be proud of. We definitely we will look how to fix it as next step, read detailed investigation what is the reason of performance drop in next post.

And last one workload I tried is TPCC-like benchmark (you can get it on https://launchpad.net/perconatools), with 100 Warehouses (about 9.5GB datasize).
The result is:

Here the result grows up to 16 connections, but after that InnoDB-plugin is dropping down. XtraDB and XtraDB-rel2 seem quite better, I guess this is mostly because fixes to rw_locks and to buffer_pool mutex (in rel2).

Conclusion: As read-only workload seems fine, read-write cases is something to worry about in 16+ cores boxes.
Intel Based 24 Core Servers are not mainstream these days but as number of cores is increasing now at the same pace as CPU frequency before we believe they are very soon to come. Also in real production there may be not a lot database fits “in-memory” cases – but on other hand 64-128GB RAM per box is not something rare already and recommendation to fit at least active dataset in memory is one we use for our customers.

The post XtraDB/InnoDB CPU bound benchmarks on 24cores server appeared first on MySQL Performance Blog.


Viewing all articles
Browse latest Browse all 60

Trending Articles