错误2006:MySQL服务器消失了
我正在使用uWSGI和nginx在CentOS服务器上运行Python Pyramid应用程序。我使用SQLAlchemy作为ORM,使用MySQLdb作为API,并使用MySQL作为数据库。该站点尚未上线,因此唯一的访问量是我和公司的其他一些员工。我们购买了一些数据来填充数据库,因此最大(也是最经常查询)的表是〜150,000行。 昨天我快速连续打开了网站的四个新标签,然后又收到了502错误的网关错误。我查看了uWSGI日志,发现了以下内容: sqlalchemy.exc.OperationalError: (OperationalError) (2006, 'MySQL server has gone away') 'SELECT ge... 重要说明: 此错误不是由于MySQL的wait_timeout。去过也做过。 我想知道问题是否是由同时处理并发请求引起的。我让自己成为一个穷人的负荷测试仪: for i in {1..10}; do (curl -o /dev/null http://domain.com &); done; 可以肯定的是,在这十个请求中,至少有一个会引发2006年错误,而且有时还会更多。有时错误会变得更加陌生,例如: sqlalchemy.exc.NoSuchColumnError: "Could not locate column in row for column 'table.id'" 当该列最明确存在并且在所有其他相同请求上均能正常工作时。或者,这一个: sqlalchemy.exc.ResourceClosedError: This result object does not return rows. It has been …