Python 优化django和mysql以满足峰值需求
我用django 1.9编写了我最近发布的移动应用程序的后端,我使用的数据库是MySQL。我将要开始一个大型的促销活动,所以我会尝试为同样的目的对后端进行升级 我经常面临的一个问题是,当我通过ApacheJMeter在10秒内启动大约100个线程时,其中大量(约60个)线程无法得到服务。Django服务器日志如下所示:Python 优化django和mysql以满足峰值需求,python,mysql,django,Python,Mysql,Django,我用django 1.9编写了我最近发布的移动应用程序的后端,我使用的数据库是MySQL。我将要开始一个大型的促销活动,所以我会尝试为同样的目的对后端进行升级 我经常面临的一个问题是,当我通过ApacheJMeter在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
[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)
断裂的管子到底意味着什么?如何解决这个问题?这是一种常用的技术,可以扩展到多个实例(不同的计算机),然后使用、和等工具应用静态文件缓存和负载平衡
下面的答案解释了破裂的管道:“我还应该做些什么来准备大量的点击?”结束:太宽了。“断了的管道……这意味着什么?我该如何修复它?”他回答道。请把你的问题改成一个问题。我推荐后者我也这么认为。编辑:)您是在前面使用nginx负载平衡测试jMeter,还是只是在使用Django调试服务器?我正在使用nginx将请求路由到Django调试服务器。这在这里有区别吗?是的,一个很大的区别。内置Web服务器并不意味着性能就绪,因此没有必要对其进行负载测试。通常,您希望nginx(或类似的东西,但它非常好且可扩展)在几个uwsgi服务器前进行负载平衡,以大规模运行Django。