RailsアプリをHerokuのHobby Dynosでデプロイしていて、数日に1回くらいのペースで急激にメモリがオーバーしてトラフィックをさばき切れていない問題が今まで起きていて、気になっていた。
これは自分のコーディングスキルが低くてなんか変なデータの呼び方をしてしまっているんだろうなと思っていたが、ログを追ってみると特定のユーザー(クライアントID)が複数ページにまたがる、とあるデータを片っ端からリクエストしていることが判明。それも3秒に1回くらいのペースなので、人間がやっているとしたら故意にサーバーに負荷をかけようとしているに違いないような挙動だった。
いたずらかなぁ、と思いながらこの特定のクライアントIDだけのログを見てみると、一番最初にアクセスしているパスがrobots.txtだった・・・
つまりGoogleのインデックスクローラが最初にサイトのrobots.txtを参照して、そこでアクセス禁止されていないページを巡回しようとして、大量のデータページを片っ端からリクエストしていたわけっぽい。
別にGoogleにインデックスを作ってもらう必要もないデータページなので、クローラアクセスを禁止して様子を見てみることにしよう。