別にさくらのVPSじゃなくても良いんですが…
MySQL の派生プロダクトとして Percona MySQL というモノがあります。
これは、MySQL Performance Blog を書いてる Percona 社が提供してくれているプロダクトで、MySQL からの公式ビルドには含まれていない人気のあるパッチを追加したものです。
高負荷時の InnoDB のパフォーマンスを向上してくれるパッチなんかも含まれます。
Percona 社さんが yum のリポジトリを提供してくれてるのでインストールも簡単です。
とりあえず、どんなもんか確かめてみたかったので、さくらのVPS 512 (CentOS 64bit) にインストールして、MySQL 用のベンチマークソフト super-smack で、ベンチを取ってみました。
インストール
まずは、インストール方法。
MySQL がインストールされているのなら、アンインストールしてください。
$ sudo yum remove -y mysql mysql-server mysql-libs php-mysql
まずは、/downloads/percona-release/ から、yum のリポジトリをとってきてインストールします。
$ wget http://www.percona.com/redir/downloads/percona-release/RPM-GPG-KEY-percona $ wget http://www.percona.com/redir/downloads/percona-release/percona-release-0.0-1.x86_64.rpm $ sudo rpm --import RPM-GPG-KEY-percona $ sudo rpm -Uvh percona-release-0.0-1.x86_64.rpm
ほんで、おもむろにインストール。
$ sudo yum --enablerepo=remi install Percona-Server-server-55 Percona-Server-client-55 Percona-Server-shared-compat php-mysql (略) Installed: Percona-Server-client-55.x86_64 0:5.5.17-rel22.1.197.rhel5 Percona-Server-server-55.x86_64 0:5.5.17-rel22.1.197.rhel5 Percona-Server-shared-compat.x86_64 0:5.5.17-rel22.1.197.rhel5 php-mysql.x86_64 0:5.3.8-5.el5.remi.1 Dependency Installed: mysql-libs.x86_64 0:5.5.18-1.el5.remi Complete!
/etc/my.cnf はインストールされないので適当に用意します。
MySQL がすでにインストールされていて、それをリムーブしたのであれば、/etc/my.cnf.rpmsave として残ってるはずなんで、そいつをリネームしても良いでしょう。
で、service コマンドで起動。サービス名は mysqld ではなくて mysql になってます。
$ sudo /sbin/service mysql start Starting MySQL (Percona Server).. [ OK ] $ sudo /sbin/chkconfig mysql on
super-smack でのベンチ結果
super-smack で、こんな感じでベンチマーク取ってみました。
super-smack share/select-key.smack 100 500
5回計測して最大値と最小値を除いて平均とった値が、こんな感じ
/ | query / sec |
---|---|
MySQL | 26662.60667 |
Percona | 28339.7 |
1割くらい速くなってますね。
今回ベンチに使用した my.cnf は、こんな感じです。
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql character-set-server=utf8 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 innodb_buffer_pool_size=32M innodb_flush_method=O_DIRECT query_cache_size=32M query_cache_limit=2M query_cache_min_res_unit=4k query_cache_type=1 tmp_table_size=32M max_heap_table_size=32M table_open_cache=1024 max_allowed_packet=1M sort_buffer=512K read_buffer_size=256K read_rnd_buffer_size=256K join_buffer_size=256K key_buffer_size=16M max_connections=64 thread_cache=64 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
マルチコアの環境とかでも、ベンチ取ってみたいですね。
ピンバック: さくらのVPSでWordPressを動かそう – MySQL・phpMyAdmin設定編 - - UKLab