高并发访问数据库的故障

故障现象:应用发布后,数据库load居高不下,远超过正常水平,持续报警。

原因分析:检查数据库,发现报警是因为某条sql引起的,这条sql是一条简单的有索引的数据查询,不应该引发报警。继续检查,发现这条sql执行频率非常高,远远超过正常水平。追查这条sql发现被网站首页应用调用,首页是被访问最频繁的网页,这条sql被首页调用,也就被频繁执行了。

经验教训:

  • 首页不应该访问数据库,首页需要的数据可以从缓存服务器中读取。
  • 首页最好是静态的。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s