apacheのチューニングが甘く、メモリリソースを完全に食い尽くしてました。
と言うのも、とりあえず/var/log/以下を見る前に、手軽にwebminのプロセスマネージャでメモリの様子見たら、
2GBあるメモリの大半をhttpdが食い尽くして、Swapまでもかなり侵食している状態で、
こりゃ不味いと思い、httpd.conf再確認してみたら正直酷すぎてワラッた。
と言うことで、もう一台のサーバを構築しつつ、確実に不必要なモジュールをガンガン削ったkernelをリビルドしつつ、
現行のサーバの方も少し手を入れました。
これで暫くは大丈夫だと思うけど、そもそもWordPressメモリ食いすぎw
最近のWordPressは頗る高機能でブログ管理が相当捗っているわけですけど、
それ相当のサーバスペックを要求すると言うか、チューニングしないとWordPressの能力を発揮できないと言う事がよく分かった。
あと、httpdのログをみた所、マイクロソフト製のクローラ、bingbotが異常に負荷掛けてる
何つも並列で回収しに来ているみたいなのだが、こちらのhttpd.confの設定がタコだったから、
ハードウェアの限界以上に返答して、一杯一杯になってる感じ。
とりあえず、今構築している方である程度チューニング済んだkernelで起動してみたが、15秒程度で起動するスペシャルなkernelのCentOSが出来上がった。
もう少し深くx86のハードウェアの知識があるなら、もっと不要なモジュールを削って、10秒以下まで短縮可能だと思うが、
現在の知識レベルだと試行錯誤に時間取られそうなので、今回はここいら辺で追うのは止めておく。
ちなみにlspciでみると、NICが”RTL8101E/RTL8102E”となっているが、
100BASE-TXのクセにどうやらGigabitEtherである”Realtek 8169 gigabit ethernet”のドライバを使うらしい。
100BASEのモジュールの方に無かったからわかり辛い・・点
CPU負荷の事を考えるとintelのNICを刺した方が良さそうだな。
時間が有ればもっとカリカリに最適化したいw
直接の原因は、Mediawikiがスパム書込みに侵食されてて、
そんな重くなっている状態で、bingbotが強烈に回収しにきて、
更にhttpd.confのpreforkがハードウェア性能に見合っていない設定だった事もあって、
頻繁に仮想メモリにスワップアウトしてしまっていたのが原因でした。
DBのデータをsqlファイルでエクスポートしてみたら900MBもありましたorz
しかし、なんとも正直と言うのか、コンピュータは融通が利かないなと思いつつ、
人間は臨機応変で挙動を変更できるから、その辺はまだコンピュータでは代替できない部分なんだろうと実感w
更に内部向けのDNSで満足してしまい、外部向けの名前解決が上手く行ってませんでした。
こりゃサーバ置き換え時に最終チェックシートみたいの作らなきゃダメっぽいな