7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Herokuでデプロイしたアプリの起動の遅さの原因

Last updated at Posted at 2021-02-14

はじめに

先日、HTML,CSS,Javascript,Ruby,RubyonRailsを使った簡単なアプリケーションを作成し、Herokuへデプロイしました
自分でもアプリを使っており、毎日1〜2回webページを開こうとすると毎回読み込みがものすごく遅い。。。
待つときは10数秒待つようなこともありました
そこで、読み込みが遅い原因とその解決方法についてまとめました

環境

ruby 2.6.5
rails 6.0.3.4
herokuは無料版認証済みのアカウントを使用

読み込みが遅い理由

読み込みが遅い理由はwebサーバーがアクセスの度に起動するため、起動時間がかかっているのが原因のようでした
heroku無料版では、30分ごとに使っていなければwebサーバーが停止します(スリープ状態)
そのため、時間を開けてアクセスするとその度にwebサーバーが起動するため、webサーバーが立ち上がるまでの時間が読み込みが遅いと感じるようです

対策

30分ごとにサーバーが停止するなら30分以内に毎回アプリを起動すればいいじゃない!
ということで、herokuにスケジューラというアドオンを追加します
アドオンとはソフトウェアに新たな機能を追加するプログラムのことです
https://qiita.com/kyabetsuda/items/391044601a113f73667d
こちらの記事を参考に10分おきに自分のwebページへアクセスし、webサーバーがスリープしないよう設定しました
curlコマンドというものがでてきましたが
curlコマンドはサーバへ、またはサーバーからデータを転送を行うコマンドとのこと。

curl URL

でURLのwebページをHTTPリクエストのGETメソッドで取得するという記述になります
これをスケジューラに登録したので、10分ごとに自分のアプリケーションのデータを取得しに行ってくれるため、サーバーが起きている状態になります

意外と簡単に対策できるので、自作アプリをherokuにデプロイされている方は是非お試しください!

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?