WordPress用のMySQLチューニングにチャレンジしてみた

基礎からのMySQL [基礎からのシリーズ] (プログラマの種シリーズ)

さくらのVPS 1.5Gに移転してメモリに余裕が出来たこともあり、MySQLの設定値などを見直してみました。

前提条件として、サーバの搭載メモリは1.5GB、スワップに4.9GB割り当て。ApacheとMySQLが同一サーバで動いています。他サービスなどは動かしておらず、WordPressで1つのブログが動いています。

一日のセッションは8千ぐらい、PVは1万5千前後で、ロボットを含めたUUは1万程度です。

ネットの各種情報を漁りながら検討した結果、まずはこんな感じに落ち着きました。

$sudo vi /etc/mysql/my.cnf
    # file: my.cnf
    key_buffer              = 128M
    max_allowed_packet      = 16M
    join_buffer             = 1M
    read_buffer_size        = 1M
    read_rnd_buffer_size    = 768K
    thread_stack            = 192K
    thread_cache_size       = 512
    max_connections         = 300
    table_cache             = 1024
    tmp_table_size          = 16M
    thread_concurrency      = 4

    query_cache_limit       = 4M
    query_cache_size        = 64M
    query_cache_min_res_unit= 4k
    query_cache_type        = 1

    [isamchk]
    key_buffer      = 64M
    sort_buffer     = 64M
    read_buffer     = 16M
    write_buffer    = 16M

    [myisamchk]
    key_buffer      = 64M
    sort_buffer     = 64M
    read_buffer     = 16M
    write_buffer    = 16M
$ sudo service mysql restart

きちんと計測はしていませんが、設定変更後は体感速度が速くなったような気がします。