zoukankan      html  css  js  c++  java
  • 网站访问量大+数据量大=>看似简单的SQL语句也会搞挂系统

          一个简单的SQL语句:select count(1) from tableName with(nolock) where columnA=A and columnB=B and columnC=C,被一个关键页面调用,虽然加了Memcache缓存,但由于数据结构设计问题,造成了数据库服务器CPU负载高达100%,关键页面响应超时,造成极其不好的影响。

          究其原因,缺少索引,数据结构设计之初,没有为该表建立索引,而后又忽略了该表仅测试数据就达到五六百万级别,以每天25万左右的速度增长。测试时,由于没有访问量,性能问题没被发现;而上线前的压力测试,由于测试帐号只有有限的几个,而系统根据帐号增加了Memcache缓存,因此该问题又被忽略了;直到系统上线第二天,真实的用户访问量上来了,该问题才暴露无遗,客服电话很快被打爆。

          为了彻底解决该问题,花费了几个工作日,血淋淋的教训。如果开发之前设计好数据结构建好索引、如果开发测试的时候关注下数据量、如果把写好的SQL语句放到查询分析器分析下性能...做设计写程序,意识不能少,开发前的设计要做到位,开发流程要把握好,否则发生杯具只能自己埋单了。

  • 相关阅读:
    JAVA的中文字符乱码问题
    JAVA SSH 框架介绍
    MySQL必备命令
    java文件操作
    注意事项
    再探java基础——throw与throws
    table与div互相嵌套注意
    数列F[19] + F[13]的值
    统计各类字符个数
    长理ACM 14-星期几(谌海军)
  • 原文地址:https://www.cnblogs.com/freshman0216/p/1866788.html
Copyright © 2011-2022 走看看