最近搬迁服务器也遇到一个问题,一个ecshop的站点,访问速度很慢,以前也没有这种情况发生,现在出现这么慢的情况确实让人疑惑,换了另外一个服务器也还是这样,可是访问的人也不多呢,带宽也不差,所以纳闷。。。

多搜索一下资料看看,似乎找到了出路,可以不用再尝试换服务器了。
我把表类型换为innodb类型后,情况就好很多了,请参考后面的资料。
sql语句类似 ALTER TABLE aslibra  TYPE = innodb ; 很简单

其实碰到这个问题我就看了一下数据库的进程,发现有很多locked状态的查询语句,比较奇怪为何会这样,为什么会出现这样的情况的,这个情况很可能是读写限制所导致的,也可能是读写速度有关,可是不理解为何一直锁定而不放开,导致页面等待时间很长。况且读写也要求不高,带宽访问人数等都并不高呢?

换了一个数据库还是不行,看来得郁闷一阵了,搬服务器真能够让人变得暴躁,起码我就不耐烦了,搬来搬去的折磨的要死,就好像给你两个瓶子,从A瓶子倒东西到B瓶子,然后复制一份到A,把A搬走,A稳定后,又开始把A的东西挪到B,反复折磨人的意志。

查了些资料,记录一下,希望以后借鉴:

1 《MySQL的表存储格式对速度的影响》By 王宗义
http://www.uuki.com/blog/index.php?2005/11/19/56-mysql

引用
最近有个项目网站访问很慢。上去查了查,发现cpu经常100%,运行vmstat看了看,发现瓶颈不在cpu,不在磁盘上。系统是java+mysql,发现这两个东西也几乎不占用cpu,都是排在很后面的。

难道是网络问题,查了一下也不是,那么就是mysql内部问题。运行 SHOW PROCESSLIST,发现很多Locked,难道就是这个问题。因为一开始就把mysql设置成MyIasm的格式,因为这个速度比较快,不过这种格式是表锁定的,看来就是这里。于是改了程序中某些频繁更新的操作,做成cache,然后更新上去,现在速度好了。不过下来还是需要把数据库换成innodb格式。

由此得出结论,MyIasm适合读远大于写的情况,比如CMS之类的,而读写频繁的可能要innodb方式的。javaeye的robbin把数据库从myiasm换成innodb据说性能好了太多,看来也是这个问题。
Tags:
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐