这个问题我已经纠结很久了:我的服务器和数据库都很不错,为什么网站运行这么慢?


各位前辈,请你们帮忙:

服务器是阿里云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呢?不要求像别人那样秒开了,至少不要这么差劲吧!

感谢!

php-fpm php nginx web服务器 服务器

4646454 10 years, 10 months ago

你可以用 Apache Bechmark 去测试下你的网站响应速度,看看是静态文件还是你的PHP处理速度慢,再决定下一步。

qwe4372 answered 10 years, 10 months ago

使用 xdebug + webgrind 调试下你的 PHP 代码性能。看看代码阻塞在哪里了。比如 curl 访问其他站点阻塞了
xdebug: 获取函数的调用栈和调用时间
webgrind: 通过 web 界面展示 xdebug 的结果

yihensi answered 10 years, 10 months ago

能否提供一下服务器ssh信息,我去围观围观。。。

野生UP菌 answered 10 years, 10 months ago

我感觉,当所有外部环境都不是问题的时候,那就是事应该想想是不是自己的问题,我感觉,就是程序的问题。程序效率太低。

鐵拳raico answered 10 years, 10 months ago

升级服务器吧,1核 1G有点慢了。

菊部地区有血 answered 10 years, 10 months ago

检查网页代码里是不是调用了google的东西,只要有就会很慢

贤神D羊酱 answered 10 years, 10 months ago

xyaa01 answered 10 years, 10 months ago

1.静态问题是否使用了CDN加速?
2.是否有静态化?
3.数据库是否合理建立了索引?
4.不妨发下你的网站地址,我们帮你把把脉?

星界拉菲露 answered 10 years, 10 months ago

速度慢有很多种情况,比如

  1. DNS解析
  2. CDN(可能用了国外的cdn,也会导致很慢的)
  3. 服务器IO(阿里云的io做的不是很好,频繁的操作io,可能很慢)
  4. 数据库
  5. 当然跟访问用户的网络也有关系

可以仔细排查下。

射惠射惠射惠 answered 10 years, 10 months ago

Your Answer