Здравствуйте! Имеется след. сервер:
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 44
Stepping: 2
CPU MHz: 2399.885
BogoMIPS: 4799.77
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 12288K
NUMA node0 CPU(s): 0-11
# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5645 @ 2.40GHz
stepping : 2
cpu MHz : 2399.885
cache size : 12288 KB
physical id : 0
siblings : 12
core id : 0
cpu cores : 6
apicid : 0
initial apicid : 0
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 pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt lahf_lm ida arat epb dts tpr_shadow vnmi flexpriority ept vpid
bogomips : 4799.77
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
# free
total used free shared buffers cached
Mem: 12186140 4113300 8072840 0 243176 2079056
-/+ buffers/cache: 1791068 10395072
Swap: 4192184 0 4192184
# cat /proc/version
Linux version 2.6.32-431.5.1.el6.x86_64 (mockbuild@c6b10.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Wed Feb 12 00:41:43 UTC 2014
Довольно таки неплохой, на мой взгляд, но настроен весь или только БД, как-то не очень, что ли..
my.cnf
[mysqld]
innodb_buffer_pool_size = 4G
innodb_flush_log_at_trx_commit = 2
innodb_flush_method=O_DIRECT
transaction-isolation=READ-COMMITTED
innodb_doublewrite=0
innodb_support_xa=0
innodb_thread_concurrency=16
innodb_log_buffer_size = 8M
innodb_log_file_size = 128M
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
init_connect = 'SET collation_connection = utf8_general_ci,NAMES utf8'
collation_server = utf8_general_ci
character_set_client = utf8
character_set_server = utf8
query_cache_limit = 128M
tmp_table_size = 1G
max_heap_table_size= 1G
thread_cache_size = 64
sync_binlog = 0
table_open_cache=5000
thread_stack = 256K
#auto_commit = 1
query_cache_type = on
query_cache_size = 128M
key_buffer = 32M
max_allowed_packet = 32M
expire_logs_days = 10
max_binlog_size = 100M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Имеем результаты:
База данных MySQL (запись) 1 821 5 600 количество запросов на запись в секунду
База данных MySQL (чтение) 7 800 7 800 количество запросов на чтение в секунду
База данных MySQL (изменение) 4 254 5 800 количество запросов на изменение в секунду
На том же недорогом сервере hetzner у меня 20-30к показатели. Читал про ext4 и барьер=0 при монтировании, поможет? Или чисто с конфигом mysql можно подшаманить?
Заранее спасибо за помощь!