どうも昨日からNucleusのレスポンスが悪く、1回ののリクエストを処理するのに数秒というオーダーで時間がかかっています。暴走しているプロセスがあるのか*1と思ってサーバの具合を確かめてみたのですが、特段負荷がかかっているわけでもありませんでした。
最初は何か変なSQLでも処理しているのかと思ったのですが、先日のチューニングの際にクエリキャッシュを有効にしたので、たとえ変なSQLであっても同じSQLならば、リロードしたときに時間が短縮されるはずです。ところが、画面のリロードをかけても処理時間が短縮されていないので、この仮説はちょっと怪しい・・・・・・と、そんなことを繰り返しているうちに、処理時間に1~10秒というバラツキがあることに気づきました。処理時間に影響を与えやすく、人が分かる程度のオーダーで処理時間にバラツキがあるもといえばネットワーク通信くらいでしょうか。
そんな目星はすぐについたのですが、プラグインをこれでもかと突っ込んでいるNucleusでその部分を探すのはちょっと難しそうなのでAPDを使ってみました。APDというのはPHP用のプロファイラで、PHPが実行されるときにどの部分にどれくらい時間がかかったかをレポートしてくれる機能を持っています。そんなAPDがはじき出した犯人はNP_BlackListのfopen()でした。
† black listのURLが変更されている
この部分のプログラムを調べてみるとどうやら、定期的にblack listを外部から取得している部分のようです。取得先はデフォルトではhttp://www.jayallen.org/comment_spam/blacklist.txtなのですが、何らかの理由でこのファイルが取得できなくなっているのが原因のようでした。
そのURLをブラウザで開いてみると、こんな表記が。
The master blacklist has moved. If you are seeding your blacklist for the first time, feel free to use it.
However, if you are an anti-spam tool developer, do not program your tool to poll the master blacklist. For over a year, I have provided a file which lists all of the latest changes in the last week and this should be used instead. Abuse of the master blacklist will get your IP and possibly your IP block banned.
プログラムを読む限りでは、プラグイン設定の「From which URL should we get a fresh blacklist copy?」を空欄にすれば回避できるようなので、空欄にしました。NP_BlackListを使っていてサイトの反応が鈍いようならば試してみることをオススメします。
† 10/7追記
この件については、マスターのブラックリストが公開停止になるという結末になりました。フォーラムにてこれまでのまとめと、今後を検討するスレッドが始まっていますので、詳しくはこちらを参考にしてください。
【スパム対策】NP_BlackList について ◎たぶん重要◎
僕もなにか貢献できる部分を探さないと・・・・・・
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。