Heroku上で画像の読み込みが非常に遅い
Herokuに自作アプリケーションをデプロイしたものの、どうも最初にアクセスするときに時間がかかりタイムアウトのエラー(H12)が出る。
開発環境ではスッとアクセスできる。
とりあえずHerokuのログを見てみる。
INFO -- : [3b31ed68-8e79-4c34-b04b-d2c8d08a1484] Rendered home/_jumbotron.html.erb (0.2ms) INFO -- : [3b31ed68-8e79-4c34-b04b-d2c8d08a1484] Rendered home/index.html.erb within layouts/application (119.8ms) INFO -- : [b6bb796c-5986-447c-8d9c-d6eaefc6c25c] Rendered layouts/_header.html.erb (53436.8ms) INFO -- : [b6bb796c-5986-447c-8d9c-d6eaefc6c25c] Rendered layouts/_footer.html.erb (0.8ms) INFO -- : [b6bb796c-5986-447c-8d9c-d6eaefc6c25c] Completed 200 OK in 54801ms (Views: 53683.7ms | ActiveRecord: 486.9ms)
_header.html.erbを読み込むのに時間がかかりすぎている。50秒以上も……
試しにヘッダーのロゴ部分をまるごと削除してみたら解消された
INFO -- : [e8e88dda-e163-4913-beb6-245d755baf55] Rendered layouts/_header.html.erb (15.1ms) INFO -- : [e8e88dda-e163-4913-beb6-245d755baf55] Rendered layouts/_footer.html.erb (0.8ms) INFO -- : [e8e88dda-e163-4913-beb6-245d755baf55] Completed 200 OK in 610ms (Views: 162.2ms | ActiveRecord: 181.5ms)
ただいくらなんでもヘッダーのロゴを削除するわけにはいかない。
<%= link_to root_path, :style=>"text-decoration: none; color:black; font-size:20px;" do%> <%= image_tag 'note_icon.jpeg' %> BLOG <% end %>
原因はこの部分にあるはず。
試しにソースコードを確認してみる。
ん?
jpegからjpgになってるな……
調べてみるとこんな記事を見つけた。
プリコンパイルの時に拡張子jpegがjpgに変換されるらしい。
ファイルの拡張子をjpgに書き換えたら解決しました。
サイト上の他の画像はすべてpngで保存していたので、ヘッダーのロゴアイコンでだけこの問題が発生していたみたい。
プログラミングを始めて約半年、勘が働くようになってきた。