欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

服务器运行了三十天,部分请求变慢了求解决

程序员文章站 2022-06-17 20:53:35
...
部署在阿里云上的服务器,双核,内存4G。centos6.4,apache,php5.3,mysql,Yii框架。PV一天三万多,负载并不高。
运行了三十天,这两天变得不太稳定,有时候出现请求时间长,大约1-10秒内。

通过MYSQL的profile记录了一下查询超过0.03秒的SQL语句,发现有时候update,closing tables,end,query end其中一两个耗时比较长,从0.几秒到几秒不等。而这些语句都是比较简单的update , insert , select语句。

还有一些请求是运行时间长,又没有SQL慢查询记录的。

同一样的请求,有时候就慢,有时候就快。。top命令监测下,CPU基本在10%多,内存30%,CPU wa一般都在30%以下,偶尔会到四十多。

求各位大神帮看看是什么原因。。


回复讨论(解决方案)

感觉是数据库设计问题,索引设计的问题。但是说mysql没有慢查询,就不清楚了。

查看一下各项日志,如:apache日志,mysql日志,看是否有异常现象。

阿里云的IO瓶颈问题不是一天两天了...

感觉是数据库设计问题,索引设计的问题。但是说mysql没有慢查询,就不清楚了。

如果是数据库设计问题的话,一些简单的语句应该不会有问题吧。。像Insert , update主键,select主键这些语句有时候都可以用1秒多

阿里云的IO瓶颈问题不是一天两天了...

感受到了~

查看一下各项日志,如:apache日志,mysql日志,看是否有异常现象。

看过了 日志并无异常。。

怎么说呢,觉得,国内的云服务器目前不是很靠谱,之前有用几台云服务器,时不时就不稳定,但是没遇过IO问题,主要是连不上,或者机器卡死。

数据量大了,自然查询速度就慢了。。。

你说的有时慢有时快,这跟并发量有关,也跟网络当前状况有关,还跟db当前的负载有关。


数据库的锁有时也会影响写的速度。尤其是你在运用了大量MYISAM表时,表级锁对于同时有读写操作的表来说是致命的。所以尽量都用innodb,除非你100%确定某个表对于用户来说永远没有写操作。

结果是阿里云的IO问题,导致的不稳定。。。坑爹的阿里云~ 暂无解决办法,只好等阿里云升级