这个问题我已经纠结很久了:我的服务器和数据库都很不错,为什么网站运行这么慢?
服务器是阿里云ECS 1核1G 2M
数据库是阿里云RDS云数据库,速度非常快
系统是CentOS 6.5 64位
服务器是NGINX 1.6.2
PHP是5.4.38 已经安装了OPCache
网站程序是开源CMS,别人的网站基本都是秒开,所以程序没什么问题
我使用阿里云OSS储存静态文件,css、js等,速度也很快
ping一下域名基本都是在50ms
直接访问静态文件只需要100ms,所以Nginx是正常的
可是网站访问时候响应实在太慢太慢了,每点击一下都需要等待4s-5s才能返回结果,所以我坚信是PHP的处理速度太慢了,请问大神:
这种情况该如何配置、加速PHP呢?不要求像别人那样秒开了,至少不要这么差劲吧!
感谢!
回复内容:
各位前辈,请你们帮忙:
服务器是阿里云ECS 1核1G 2M
数据库是阿里云RDS云数据库,速度非常快
系统是CentOS 6.5 64位
服务器是NGINX 1.6.2
PHP是5.4.38 已经安装了OPCache
网站程序是开源CMS,别人的网站基本都是秒开,所以程序没什么问题
我使用阿里云OSS储存静态文件,css、js等,速度也很快
ping一下域名基本都是在50ms
直接访问静态文件只需要100ms,所以Nginx是正常的
可是网站访问时候响应实在太慢太慢了,每点击一下都需要等待4s-5s才能返回结果,所以我坚信是PHP的处理速度太慢了,请问大神:
这种情况该如何配置、加速PHP呢?不要求像别人那样秒开了,至少不要这么差劲吧!
感谢!
速度慢有很多种情况,比如
- DNS解析
- CDN(可能用了国外的cdn,也会导致很慢的)
- 服务器IO(阿里云的io做的不是很好,频繁的操作io,可能很慢)
- 数据库
- 当然跟访问用户的网络也有关系
可以仔细排查下。
使用 xdebug + webgrind 调试下你的 PHP 代码性能。看看代码阻塞在哪里了。比如 curl 访问其他站点阻塞了
xdebug: 获取函数的调用栈和调用时间
webgrind: 通过 web 界面展示 xdebug 的结果
你可以用Apache Bechmark
去测试下你的网站响应速度,看看是静态文件还是你的PHP处理速度慢,再决定下一步。
1.静态问题是否使用了CDN加速?
2.是否有静态化?
3.数据库是否合理建立了索引?
4.不妨发下你的网站地址,我们帮你把把脉?
参考这个
http://segmentfault.com/q/1010000002680980/a-1020000002681487
检查网页代码里是不是调用了google的东西,只要有就会很慢
升级服务器吧,1核 1G有点慢了。
我感觉,当所有外部环境都不是问题的时候,那就是事应该想想是不是自己的问题,我感觉,就是程序的问题。程序效率太低。
能否提供一下服务器ssh信息,我去围观围观。。。
上一篇: php乱码原因分析_PHP教程
下一篇: 怎么查看一个PHP数组占用的内存?