zoukankan      html  css  js  c++  java
  • 记一次文件上传远程服务器问题

    15号客户反映,在上传视频大文件(大概是500兆往上)的时候,前端会表现出:慢、不能上传、进度条100% pass等表现。
    针对这个问题,起初很是不知道什么缘故。于是各种找原因。试着测试了下上传大视频文件,发现后台log:[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_sizemax_body_size,想到可能是这里的问题,于是换了个参数值,改为原来的两倍(http_server = HTTPServer(WSGIContainer(app1), max_buffer_size=1009715200, max_body_size=1009715200)),再次测试,问题解决,顺利上传上去了。

    反思:1、这段代码是单位的一大佬写的,没怎么留意这里的问题,导致问题发现慢;2、自己技术非常菜,并且排错纠错的速度很慢,原因分析不怎么快等等。

    转载请备明出处:洪荒少男~

  • 相关阅读:
    进度条加载
    插件
    倒计时
    阿里云oss教程
    拖拽排序插件 ---- Dragula
    预览图片代码
    Error: spawn xxxx ENOENT原因与解决
    关于环境配置的随笔
    js下载文件
    QuickStart系列:docker部署之redis
  • 原文地址:https://www.cnblogs.com/sirxy/p/11880766.html
Copyright © 2011-2022 走看看