Sidebar |
Django CGI(5.x / 1.x 2.x)
執筆:2019.07.08
編集:2019.07.08 編集:2024.08.04 (2024-08-04)
PythonのバージョンとDjango を最新の5.0をインストールするとDjango 2.xのコードは そのまま動きました! 相変わらずオーバーヘッドが大きい CGI版での速度 (調査日 2024年8月4日)
(2024-07-18)
しばらく使っていない間に、The latest official version is 5.0.7.になっていますね https://www.djangoproject.com/download/ https://docs.python.org/ja/3.12/library/cgi.html Python cgiモジュールは、バージョン 3.11 で非推奨、バージョン 3.13 で削除予定とありますね 上記ページで3.13以降のマニュアルにするとなくなっています。 ということで、Django をCGIとして動作させる裏技は将来的に封殺されるかもしれないです。 CGIアプリケーションを作りたい場合は、Pythonは候補からはずれるということです。 格安運用でdjangoがいい場合は、共有サーバーではなく、安いVPS(仮想専用サーバー)を借りないといけないのかもしれないですね~。400円/月くらいですか? VPSは自己管理なので面倒ですよね~ 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のほうがレスポンスが速い傾向にありました。
※ 応答速度が1秒を超えると閲覧者に遅いとストレスを感じさせてしまいます。 CGI版での速度比較 (調査日 2019年7月7,8日)
※ C言語バイナリが最小時間は一番小さかった。 CGIのサイズ
|
Sidebar |