MySQL性能¶
性能に関する機能¶
サーバーステータス変数¶
MySQLサーバーの操作に関する情報をステータス変数に保持しています。
SHOW GLOBAL STATUS
でステータス変数一覧を表示
Handler_delete¶
テーブルが行から削除された回数をカウンタとして保持(どのテーブルのとかの情報はない)
SHOW GLOBAL STATUS LIKE 'Handler_delete';
大量のレコードを削除した際、実際に削除されたかをこのカウンタの差分でチェックするなどに使用できます。 DELETE前にカウンタ値を記録し、DELETE実施後に実際に削除されたレコード数をカウンタ値の差分で調べます。
AWSのLinuxサーバー上で大量のDELETEを実施したときは、2万/秒でした。
MySQLベンチマーク¶
mysql-bentchによるベンチマーク結果¶
ベンチマーク条件と結果、ケース1¶
仮想マシンスペック¶
ホストCPU: AMD A10-6800K APU
ホストOS: CentOS 6.5
VCPU数: 1
メモリ割り当て:1GB
(1) MySQL 5.1.73 DBエンジンは標準InnoDBを使用、デフォルトパラメータ (2) MySQL 5.1.73 DBエンジンはha_innodb_pluginを使用(だが設定ミスあり)、デフォルトパラメータ (3) MySQL 5.1.73 DBエンジンはha_innodb_pluginを使用((2)の設定ミス修正)、デフォルトパラメータ (4) MySQL 5.1.73 DBエンジンは標準InnoDBを使用、パラメータ設定あり (5) MySQL 5.1.73 DBエンジンはha_innodb_pluginを使用、パラメータ設定
項目
(1)
(2)
(3)
(4)
(5)
alter-table
122
122
114
117
108
ATIS
395
390
396
393
394
big-tables
90
89
91
86
88
connect
49
46
46
47
47
create
4158
4030
4125
4030
4025
insert
56552
58005
39463
39944
40755
select
537
537
530
535
530
wisconsin
1231
1229
1249
1235
1256
/etc/my.cnfの内容
(1)の設定を表示する (1)の設定を隠す
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
default-storage-engine=InnoDB
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8
(2)の設定を表示する (2)の設定を隠す
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
default-storage-engine=InnoDB
plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8
(3)の設定を表示する (3)の設定を隠す
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
default-storage-engine=InnoDB
ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_lo\
cks=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_inno\
db_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_pl\
ugin.so
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8
(4)の設定を表示する (4)の設定を隠す
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
default-storage-engine=InnoDB
innodb_buffer_pool_size = 64M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 16M
innodb_log_buffer_size = 8M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8
(5)の設定を表示する (5)の設定を隠す
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
default-storage-engine=InnoDB
ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_lo\
cks=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_inno\
db_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_pl\
ugin.so
innodb_buffer_pool_size = 64M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 16M
innodb_log_buffer_size = 8M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8