Aug 14

2007

記事投稿の際のping送信の際に500 Error (Internal Server Error) を頻発する件まとめ

10回ほど記事を投稿してテストした結果をまとめておく。ping送信の際に500 Errorが出る原因としてはmt-config.cgiのPingTimeoutの値が小さいとか、pingの送信先の中にもうサービスを停止したものとかアドレスが変更されたものがあるなどが挙げられる。あとサーバーの負荷の問題等もあるんだけど、とりあえず新規投稿するたびに魔の500 Errorのページを拝むのは勘弁なので時間をかけて問題解決に取り組んでみた。

1回目の投稿
mt-config.cgiのPingTimeoutの値をいくら弄っても(PingTimeoutの値を60→120にしてみる)、ping送信先の数を絞っても(18→12)、まったく改善されない。Google Blog Searchで自分の記事を検索してもヒットしないし・・

2回目の投稿
pingの送信先をさらに絞ってみた。(12→10)

3回目の投稿
すごいイライラする。。。ping送信先をさらにさらに絞って投稿テスト(10→7)。エントリー投稿完了画面出てきてくれ!

4回目の投稿
ふと考えてみてKaspersky(アンチウイルスソフト)をとめてみる。

5回目の投稿
Kaspersky(アンチウイルスソフト)ををきってみても改善せず。PingTimeoutの値を今度は逆に少なくしてやれ30にしてみる

6回目の投稿
pingの送信先を5個まで絞った。もう絞れない><。どうにか記事投稿完了画面を見せてくれ!

7回目の投稿
6回目の投稿にしてようやく500エラーをまぬがれ、ダッシュボード、投稿完了画面が表示された。ただ5つに絞ったpingの送信先のうち、3箇所でエラーが出ている模様。gooとテクノラティとGoogleだ。ふと思い検索してみるとGoogleのpingの送信先がcomからco.jpに変わっていた!

8回目の投稿
今回も投稿完了画面が表示される。Google(ブログ検索)へのpingの送信も成功。テクノラティもOK。gooに関してエラーが出ている模様だがpingの送信自体は成功してるっぽい。(Thanks for the ping.という文が表示されているのでたぶん、ping自体は受け入れられてるのだろう)

まとめ
結局pingの送信先を18箇所から5箇所に減らしたこと、mt-config.cgiのPingTimeoutの値を30にしてみたことで、500 Errorから逃れることができた。汎用性はないと思うのであしからず。自分用のまとめとしてping送信先5箇所をリストアップしておこう。

  • http://rpc.technorati.jp/rpc/ping/
  • http://api.my.yahoo.co.jp/RPC2/
  • http://rpc.reader.livedoor.com/ping/
  • http://blog.goo.ne.jp/XMLRPC/
  • http://blogsearch.google.co.jp/ping/RPC2