Herokuの無料枠が廃止に伴い、移行先render.comの性能比較とベンチマークをしてみた
Herokuのフリープラン廃止
個人開発者界隈では、嘆きの声が聞こえていますが
私も嘆きました
血眼で移行先を探した結果renderというサービスを見つけたので共有します
デプロイ方法
基本的にはGithubからクローンしてビルドされるっぽいです
privateリポジトリでも可能だったので、ここらへんは、Herokuと遜色ないと思いました
デプロイ方法の詳細はそのうち誰かが上げてくれる(調べれば出てくるし)と思うので割愛します
基本的な性能比較(Freeプラン)
Heroku | render.com | |
---|---|---|
メモリ | 512MB | 512MB |
利用可能時間(月) | 550時間(クレジットカード登録で1000時間) | 750時間 |
アクセスがない場合のスリープまでの時間 | 30分 | 15分 |
CPU | Shared | Shared |
CPUの性能比較
CPUがSharedでよく分からない上に、render.comの方が遅そうだったので、時間計測してみます
計測にはPyFuncApiと下記コード(円周率の計算 1000万回計算する)を使用します
import random
incount = 0
def GenerateRandom():
x, y = random.random(), random.random()
number = x ** 2 + y ** 2
return number
iteration = 10000000
for ite in range(iteration):
check = GenerateRandom()
if (check < 1):
incount += 1
quadrant = 4
exec_result = str(incount * quadrant / iteration)
Pythonで円周率を求めてみるを参考にさせていただきました
計測範囲
Postmanから叩いてレスポンス時間を計測します(POSTMANに表示されるレスポンスタイム)
それぞれ3回ずつ実行した結果です(sharedなので、実行する時間帯によっても違うのかもー)
1000万回計算する
- Heroku
- 6.64s
- 6.60s
- 6.73s
- render
- 計測不可(30.49s)
あららー
何度実行しても502エラーが出てしまったので計算回数を落とします
100万回計算する
- Heroku
- 1.18s
- 0.81s
- 0.95s
- render
- 6.53s
- 7.16s
- 6.89s
fly.ioも計測
1000万回計算する で
7.65s
7.38s
7.63s
でした
herokuとほぼ同じくらいの性能
ただしメモリが256MB...
総括
renderのCPU性能はHerokuと比べ6~7倍低いことがわかりました
とはいえ、クレカ登録せずに750時間使える上、CPU性能を重視しないサービスであれば使えるのではないでしょうか!!こちらからは以上です!
どうでもいいこと
renderというサービス名が色々なものと被りまくって調べづらい、MVCのrenderであったりね、、、
タグもどうすればいいかわからん。。。