【发布时间】:2018-04-06 06:05:45
【问题描述】:
我正在我的 linux mint 上运行一个 uwsgi 应用程序。它确实适用于数据库并在我的本地主机上显示它。我在 127.0.0.1 IP 和 8080 端口 上运行它。之后我想通过 ab(apache benchmark) 测试它的性能。
当我通过命令uwsgi --socket 0.0.0.0:8080 --protocol=http -w wsgi 运行应用程序并对其进行测试时,它可以正常运行但速度很慢。
所以我想用多个线程运行应用程序以加快速度。所以我使用--threads 选项和命令是uwsgi --socket 0.0.0.0:8080 --protocol=http -w wsgi --threads 8 例如。
但是当我运行 ab 对其进行测试时,在 2 或 3 个请求之后,我的应用程序停止并出现一些错误,我不知道如何修复它。每次我运行它,错误的类型都是不同的。一些错误是这样的:
(Traceback(最近一次通话最后一次):2014,'Command Out of Sync')
或
(回溯(最近一次调用最后一次):文件“./wsgi.py”,第 13 行,在 应用 返回 show_description(id) 文件“./wsgi.py”,第 53 行,在 show_description cursor.execute("select * from info where id = %s;" %id) File "/home/mohammadhossein/myFirstApp/myappenv/local/lib/python2.7/site-packages/pymysql/cursors.py", 第 166 行,在执行中 结果 = self._query(查询)文件“/home/mohammadhossein/myFirstApp/myappenv/local/lib/python2.7/site-packages/pymysql/cursors.py”, 第 322 行,在 _query 中 conn.query(q) 文件“/home/mohammadhossein/myFirstApp/myappenv/local/lib/python2.7/site-packages/pymysql/connections.py”, 第 856 行,查询中 self._affected_rows = self._read_query_result(unbuffered=unbuffered) '包序号 错误 - 得到 1 个预期 2',) 文件 “/home/mohammadhossein/myFirstApp/myappenv/local/lib/python2.7/site-packages/pymysql/connections.py”, 第 1057 行,在 _read_query_result 中
或
('数据包序列号错误 - 得到 1 预期 2',) Traceback (大多数 最近通话最后一次):
或
('数据包序列号错误 - 得到 1 预期 2',) Traceback (大多数 最近通话最后一次):文件“./wsgi.py”,第 13 行,在应用程序中 返回 show_description(id) 文件“./wsgi.py”,第 52 行,在 show_description cursor.execute('UPDATE info SET views = views+1 WHERE id = %s;', id) 文件 “/home/mohammadhossein/myFirstApp/myappenv/local/lib/python2.7/site-packages/pymysql/cursors.py”, 第 166 行,在执行中 结果 = self._query(查询)
请帮助我如何在多个线程安全的情况下运行我的 uwsgi 应用程序。欢迎任何帮助
【问题讨论】:
标签: python multithreading server uwsgi