RSS | コメントなしRSS(コメント無し)
トップ «前の日記(2015年07月25日(Sat)) 最新 次の日記(2015年07月29日(Wed))» 編集

$ ~ati/やる気 < /dev/zero

[ クッキングパパ レシピ検索 | ati's FREE素材集 ]

2015年07月28日(Tue) [長年日記]

_ 鯖、落とされた orz

tDiaryを動かすと、途端にメモリをバカ食いし始めて、rubyをOut of Memoryに追い込んでしまうVPSの新鯖。
スワップしまくることになるので、ディスクI/Oもかなりの頻度になっていたようだ。

で、それを理由に「他のお客さんの迷惑になるから」と、ウチのVPSが強制停止させられてしまった orz
以下、お名前.comからのメールの一部を引用:

このたびお客様にご利用いただいております、VPSの運用状況に
より、ご利用いただいているサーバーへのI/O Readが頻繁に
発生している状況を確認しております。

恐れ入りますが、ご利用いただいておりますサービスにおきまして、
I/Oへの負荷継続による他のご利用者様への影響懸念から該当VPSの
緊急停止措置を実施させていただきますこと、ご了承ください。

日記の公開とともに高負荷の状況が発生したことから、行儀の悪いクローラーやspam botの絨毯爆撃かと思っていたが、それにしちゃメモリの食いつぶし方が極端すぎる。
とりあえずaccess_logを確認してみたら…一目瞭然、

xxx.xxx.xxx.xxx - - [27/Jul/2015:13:11:16 +0900] "GET /~ati/diary/?date=20040511 HTTP/1.1" 504 247 "-" "DoCoMo (compatible; tDiary plugin; tlink; http://www.ohgami.jp/~ati/diary/)"

自分のIP(xxx.xxx.xxx.xxx)からのtlinkプラグインによるアクセスが山のように記録されていた。最初のうちは200で正常に応答してたものが、最終的には504 Bad Gatewayとなって、延々と。
ごはん日記の内容を統合した際、こちらの日記を参照するtlinkプラグインの記述をそのまま取り込んでしまったことで、tlinkプラグインが自分自身を含む記事を再帰的に参照する無限ループのような状態に陥っていたらしい。それでメモリを食いつぶし、rubyでOut of Memoryが発生、と。

データディレクトリの*.td2ファイルをgrepして問題の部分を確認、当該ファイルを編集してtlinkプラグイン使用部を削除の上、キャッシュファイルも削除。
あと、tlinkプラグインのtlink.datファイルも削除して、やっと問題が解決したっぽい。

日記へのアクセスにもすぐ応答が返ってくるようになったし、freeコマンドでもswapをほとんど使ってないことが確認できた。

$ free
total used free shared buff/cache available
Mem: 1884300 88400 1635896 3872 160004 1652928
Swap: 10452984 94164 10358820

管理コンソールのリソースモニタからも、対策の前後でディスクI/Oの状況が全く変わっているのが、分かり過ぎるくらい分かる ^^;

画像の説明

一時はVPSサービスから追い出されるんじゃないかと顔が青くなったが、これなら大丈夫だろう。やれやれ。

Tags: tDiary

トップ «前の日記(2015年07月25日(Sat)) 最新 次の日記(2015年07月29日(Wed))» 編集

人生感意気 功名誰復論

(今日: 昨日:)