性能优化常见问题

1、长事务

如果事务耗时过长,只有等事务结束之后,DB连接才会释放,此类长时间占用DB连接的称为长事务。一旦外部有大量请求就会造成连接池爆满。这种情况会导致访问速度很快的请求被阻塞。查看jstack会发现很多速度很快的请求被阻塞。

改善方式:

  • 减少慢查询
  • 事务不应该包含任何RPC调用,HTTP调用,IO操作,减少事务粒度
  • 次级服务消息队列不应该放在事务内,而且消息队列组件等需要设置超时时间
  • 跨库、跨库类型如redis,不应该放同一个事务,避免交叉感染
原文地址:https://www.cnblogs.com/yaohuiqin/p/12680545.html