ゆっくりと、他の症状を渡すプログレスバーに100%をアップロードすることはできません:15社の顧客は、フロントが表示されます(500メガバイトまで約)大きなビデオファイルをアップロード、反映しています。
この問題に対処するために、それは、最初にどのような理由を知っていません。だから、さまざまな理由を探します。:、大きなビデオファイルをアップロード舞台裏ログを見つけた次のテストを試してみてください[INFO][2019-11-15 15:24:46,429][16204][MainThread:18256][http1connection.py:253][_read_message][Malformed HTTP message from 100.100.100.100: Content-Length too long]
。
バイト数はあまり書かれましたか?
これは、アップロードされたリミットああに何もしなかった理由に立っています。
私は、フロントを見つけるために問題を探して、兄を任意の制限をしない、フロント首長を尋ねたことがnginxの制限が行われるかもしれないと述べたので、限界がオープンバックします。
その後、私が行っていたテストを、ビデオの500メガバイトまでアップロード、またはありません。
これはオーバーです。この問題は、バックエンドでなければなりません。
我々は、バックエンドの制限を行っていたところがあったかのように脳は、突然、考えました:
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
import os
from app import create_app
if __name__ == '__main__':
app1 = create_app()
print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
# Execution will block here until Ctrl+C (Ctrl+Break on Windows) is pressed.
try:
http_server = HTTPServer(WSGIContainer(app1), max_buffer_size=504857600, max_body_size=504857600)
http_server.listen(21603)
IOLoop.instance().start()
except (KeyboardInterrupt, SystemExit):
pass
トップhttp_server = HTTPServer(WSGIContainer(app1), max_buffer_size=504857600, max_body_size=504857600)
ここだmax_buffer_size
、max_body_size
考えは(その後、変更されたパラメータ値が代わりに倍増し、ここでの問題かもしれませんhttp_server = HTTPServer(WSGIContainer(app1), max_buffer_size=1009715200, max_body_size=1009715200)
)、再度テスト、問題解決には、正常に行くアップロードしました。
リフレクション:1、このコードは大きな牛の技術的な単位であるここで問題に注意を払うにはどのようにではなく、書き込み、原因の問題が遅い見つけ; 2、独自の技術は非常に原因分析、非常に一品でのトラブルシューティングおよびエラー訂正が非常に遅いです、ではありません速いのように。