日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
ラジコン
2024年4月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

Django CGI(1.x 2.x) 2019年度版

2019-07-08 22:39
Django CGI(1.x 2.x) 2019年度版

執筆:2019.07.08
編集:2019.07.08


django1.x と2.xの両方で動作可能な django.cgiを作ったので速度を比較してみた。
前回とは違うアプローチをしてみたので、1個のファイルに小さく収まりました。

ベンチマークをすると CGI起動だとdjangoは 応答速度的に使えないコと判明しました。
ただし、CGIではなく常駐で運用するとレスポンスはとても速いです。

結論
djangoをCGIで動かすと何もなくても 0.5~0.6秒 レスポンスまでに時間がかかります。
djangoをCGIで運用することはお勧めできません。
mod_wsgiが使えない場合は、mod_phpなら導入されているサーバーは多いので、phpのフレームワークを検討したほうが賢明です。

原因
djangoは多数のファイルに分散されて、起動時にそれを読み込むため、CGIで動作させると とても時間がかかります。

速度比較いろいろ

django1とdjango2の速度差はそれほどなく、若干django2のほうがレスポンスが速い傾向にありました。

django

サーバー CGI

manage.py
runserver

mod_wsgi
localhost 1.11秒 0.01秒 0.03秒
さくらインター
ネット ライト
1.23秒 - -

※ 応答速度が1秒を超えると閲覧者に遅いとストレスを感じさせてしまいます。

CGI版での速度比較 (調査日 2019年7月7,8日)

サーバー
(apache2.4)
django1(CGI) hello.cgi
/admin/ hello python php C言語 GO
Windows10
(ローカルホスト)
5.86秒 2.64秒 0.30秒 0.25秒 0.02秒 0.06秒
FreeBSD11
(イントラネット)
1.11秒 0.51秒 0.03秒 0.03秒 0.01秒 0.02秒
さくらインターネット
ライト
FreeBSD9
(インターネット)
1.23秒 0.64秒 0.08秒 0.12秒 0.06秒 0.06秒
※ 時間は、URL呼び出し開始からデータ取得終了までにかかった時間。
※ C言語バイナリが最小時間は一番小さかった。

CGIのサイズ
ファイルサイズ hello.cgiの種類
1,988,354 GO バイナリCGI
6,604 C言語 バイナリCGI
140 PHP CGIスクリプト
115 perl CGIスクリプト



ブログ内 関連記事: Django CGI (1.x 2.x)


ブログ内 関連記事: Django CGI (1.x 2.x)

トラックバック
トラックバックはありません。
PR

[PR]