2016-08-24 4 views
3

私は最近起動したモバイルアプリケーションのバックエンドをdjango 1.9でコーディングしました。私が使用したデータベースはMySQLです。私は大規模なプロモーションキャンペーンを開始しようとしているので、同じバックエンドを実現しようとしています。ピーク要件のためにdjangoとmysqlを最適化する

私が常時直面している1つの問題は、Apache Jmeterを使用して10秒間に100スレッド程度のスレッドを発生させると、そのうちの数(〜60)が処理されないということです。 Djangoサーバのログは次のようになります。

[24/Aug/2016 22:43:01] "GET /my/api/ HTTP/1.0" 200 78547 
[24/Aug/2016 22:43:01] "GET /my/api/ HTTP/1.0" 200 78547 
- Broken pipe from ('127.0.0.1', 53582) 
- Broken pipe from ('127.0.0.1', 53597) 
[24/Aug/2016 22:43:01] "GET /my/api/ HTTP/1.0" 200 78547 
- Broken pipe from ('127.0.0.1', 53551) 

壊れたパイプは正確に何を意味していますか?これをどうやって回避するのですか?

+2

「?私はヒットの数が多いために準備ができて何をすべきより多くの」閉じる:広すぎます。 "壊れたパイプ...これはどういう意味ですか、どうすれば修正できますか?"答えることができます、upvote。 _あなたの質問を修正してください。私は後者をお勧めします。 ;) –

+0

もそう思った。編集されました。 :) – Chetan

+0

あなたはnginxロードバランスでjMeterをテストしていますか、まさにDjangoデバッグサーバを叩いていますか? –

答えて

0

複数のインスタンス(異なるコンピュータ)を作成し、NGinx,VarnishHAProxyなどのツールで静的ファイルのキャッシュと負荷分散を適用する通常の技術です。

壊れたパイプがSOに答える本で説明されています:https://stackoverflow.com/a/30091579/1001643

関連する問題