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