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


各位前辈,请你们帮忙:

服务器是阿里云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, 2 months ago

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

qwe4372 answered 10 years, 2 months ago

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

yihensi answered 10 years, 2 months ago

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

野生UP菌 answered 10 years, 2 months ago

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

鐵拳raico answered 10 years, 2 months ago

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

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

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

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

xyaa01 answered 10 years, 2 months ago

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

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

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

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

可以仔细排查下。

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

Your Answer