采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
公司一开始使用flask,但非多线程不好用。没办法换了sanic。但是一样在mysql连接池卡住了,无论怎样tps都上不去200了。但如果只是数据处理和转发,不用连接mysql就可以轻松1000多tps。 mysql缓存加了,长连接设置了。一个线程的程序执行时间是2毫秒,连接数是10,50并发还好,但上了200就阻塞。 我们使用了aiomysql.Pool 也还是一样。 求教有什么方法可以提升吗?
那可以试试mysql的最大连接数设置是不是太小了。
非常感谢!非常感谢。
发现原因了,因为没有用到携程,所以还堵塞了。现在改了,不过有时候会丢链接,连接不到数据库了。
首先应该判断下,瓶颈到底是HTTPServer还是数据库.
如果是数据库的瓶颈,那再需要判断下是不是慢查询太长了,导致线程无法及时释放。
一般解决方案可以参考下面几种:
优化慢查询,比如加索引、优化sql执行效率
分库
增加redis缓存
sql查询时间平均低于4毫秒,open-file和最大连接数以及缓存都调上去了。索引也都加上了。
登录后可查看更多问答,登录/注册
7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程
1.5k 20
2.9k 17
2.6k 15
3.0k 14
1.7k 13
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号