ruby/docs.ruby-lang.org

docs.ruby-lang.org上のるりまサーチが重い

Closed this issue · 8 comments

sho-h commented

docs.ruby-lang.orgの方のるりまサーチが重いみたいです。

以下は確認しましたが原因はわかっていません。

  • RubyのプロセスがCPUを食ってる
  • nginxのerror.log的には気になるものはない
  • access.logが4.5Gあってrotateされてないのは気になる

最後のものについては以下を確認しましたが、今日重くなる理由には該当しにくい気もします。

  • logrotateのpostrotateに失敗している(おそらくnginx.pidがないため)
    • nginx自体は生きている
    • access.log-<最後の日付>に追記が続いているのでシグナルをその日以来受け取らずにずっと動いている?
    • logrotate.d/nginxはnotifemptyなので、それ以降はrotateもされていない
    • crondは動いおり、cronのログも残っていたのでnginxだけの問題に見える

原因としてはアクセスが多くて単に重いか上記が理由でじわじわ重くなっていたかくらいしか思いつきませんでした。どちらも判断材料がないですが...

一度サービスを再起動してみるのがいいかもしれません。

hsbt commented

慢性的に、CPU を使いきっているようなのでインスタンスが弱いのかもしれませんね...

kou commented

これはですねぇ、bingbotが節操無くアクセスしてくるからなんですよ。
bingbotがトップページ以外にアクセスしたらトップページにリダイレクトするようにしようかしら。

sho-h commented

なんと...そうなんですか。だとするとサービスの再起動は効果薄いかもしれませんね。

kou commented

bingbotからのアクセスは全部トップページ(負荷が低め)にリダイレクトするようにしました。
Googlebotからのアクセスは普通に処理していますが、bingbotほど節操ないわけじゃないので、大丈夫じゃないかと思います。

これでかなり軽くなったはずです。

PIDファイルがなくてlogrotateがおかしくなっているやつはPIDファイルがないのが変なので、一度nginxを止めてから起動してPIDファイルを作りなおしました。(再起動だとPIDファイルは作り直されなかった。)

kou commented

ところで、mackerel.ioで取得していたdocs.ruby-lang.orgのメトリックスを取らないようにしてあるのはrubyオーガニゼーションのサーバー数が増えすぎたから切ったっていう感じでしょうか。

なにかあったときに調べるのに役立つのでどこか違うところで取るようにしようかしら。

hsbt commented

@kou OSSプランだとホストが10台までだったので、一旦退役にしていたのですが、必要ということなので復活させておきました!

kou commented

確認しました!
ありがとうございます!

sho-h commented

対応ありがとうございました!