結果から言うと、チューニングを止めました。
ひとまず今後のapacheとmysqlのパラメータは固定で運用することにします。
httpレスポンス
starttransfer timeが平均130ms、total timeが平均226msということで先月から微増。そしてなんとなくグラフが右肩上がりにみえます。そういえば以前運用していたニュースサイトでもhttpレスポンスを記録していましたが、半年以上稼動した状態からの再起動でレスポンスが上がったので徐々に遅くなるものなのでしょう。
メモリ使用率
2つで消費メモリの85%を占めるhttpdとclamdのチューニングをしていないので3月末からまったく動きなし。
mysql
mysqlは無闇にキャッシュサイズを拡大することを止め、mysqlに関する消費メモリを減らす方針にしました。
cat /etc/my.cnf
skip-innodb
query_cache_size=8M
thread_cache=32
table_cache=48
tmp_table_size=20M
max_heap_table_size=20M
max_connections = 32
key_buffer_size = 8M
その結果がコレだよ!
# mysqltuner -------- Performance Metrics ------------------------------------------------- [--] Up for: 26d 21h 29m 9s (1M q [0.508 qps], 41K conn, TX: 4B, RX: 139M) [--] Reads / Writes: 94% / 6% [--] Total buffers: 36.0M global + 2.7M per thread (32 max threads) [OK] Maximum possible memory usage: 124.0M (12% of installed RAM) [OK] Slow queries: 0% (6/1M) [OK] Highest usage of available connections: 28% (9/32) [OK] Key buffer size / total MyISAM indexes: 8.0M/248.0K [OK] Key buffer hit rate: 99.7% (541K cached / 1K reads) [OK] Query cache efficiency: 87.2% (868K cached / 995K selects) [OK] Query cache prunes per day: 0 [OK] Sorts requiring temporary tables: 0% (0 temp sorts / 20K sorts) [!!] Temporary tables created on disk: 31% (5K on disk / 18K total) [OK] Thread cache hit rate: 99% (9 created / 41K connections) [!!] Table cache hit rate: 3% (34 open / 1K opened) [OK] Open file limit used: 6% (69/1K) [OK] Table locks acquired immediately: 99% (74K immediate / 74K locks) -------- Recommendations ----------------------------------------------------- General recommendations: When making adjustments, make tmp_table_size/max_heap_table_size equal Reduce your SELECT DISTINCT queries without LIMIT clauses Increase table_cache gradually to avoid file descriptor limits Variables to adjust: tmp_table_size (> 20M) max_heap_table_size (> 20M) table_cache (> 48)
サーバは完全に安定しましたので、今後はチューニングに掛ける時間をコンテンツに当てて更新を増やそうと思います。