请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

求教如果提升mysql的效率

公司一开始使用flask,但非多线程不好用。没办法换了sanic。但是一样在mysql连接池卡住了,无论怎样tps都上不去200了。但如果只是数据处理和转发,不用连接mysql就可以轻松1000多tps。
mysql缓存加了,长连接设置了。一个线程的程序执行时间是2毫秒,连接数是10,50并发还好,但上了200就阻塞。
我们使用了aiomysql.Pool 也还是一样。
求教有什么方法可以提升吗?

正在回答

2回答

那可以试试mysql的最大连接数设置是不是太小了。

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕虎4093423 #1
    非常感谢!非常感谢。
    回复 有任何疑惑可以回复我~ 2021-01-14 17:43:37
  • 提问者 weixin_慕虎4093423 #2
    发现原因了,因为没有用到携程,所以还堵塞了。现在改了,不过有时候会丢链接,连接不到数据库了。
    回复 有任何疑惑可以回复我~ 2021-01-14 18:53:17
7七月 2021-01-14 16:58:02

首先应该判断下,瓶颈到底是HTTPServer还是数据库.

如果是数据库的瓶颈,那再需要判断下是不是慢查询太长了,导致线程无法及时释放。

一般解决方案可以参考下面几种:

  1. 优化慢查询,比如加索引、优化sql执行效率

  2. 分库

  3. 增加redis缓存

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕虎4093423 #1
    sql查询时间平均低于4毫秒,open-file和最大连接数以及缓存都调上去了。索引也都加上了。
    回复 有任何疑惑可以回复我~ 2021-01-14 17:02:24
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号