求助,感觉运行效率开始低了
发布于:2022-01-17 09:50:54
#1 膂蒤芣寂寞
随着代码的增加,感觉框架写出的网站打开的时间变的越来越长了,下面这个controller里面就一个echo,但和直接的php感觉明显差了很多:
框架的:
http://www.jiariji.com/index.php?c=wechat_control&a=api裸php的:
http://www.jiariji.com/test.php所以我想问一下速度变慢的主要瓶颈在哪里?如何可以优化?是不是model添加多了,每次打开网站都有一个初始化数据对象的过程,所以拖慢了速度,还是其他什么原因?
求高手指点
2013-04-08 23:41:16
#2 jake
一般PHP最大的瓶颈是磁盘IO,最好检查一下数据库读写。
从几个方面检查:
1. mysql的慢查询日志,看看哪段SQL语句耗费时间太长。能否加索引优化。
2.
推荐一个测试工具,xhprof。如果是SAE环境是自带的,开启一段时间看看就能得出性能瓶颈。
2013-04-09 08:55:31
#3 膂蒤芣寂寞
jake 发表于 2013-4-9 08:55 
一般PHP最大的瓶颈是磁盘IO,最好检查一下数据库读写。
从几个方面检查:
收到!感谢Jake大神
2013-04-09 12:02:21
#4 膂蒤芣寂寞
jake 发表于 2013-4-9 08:55 
一般PHP最大的瓶颈是磁盘IO,最好检查一下数据库读写。
从几个方面检查:
使用了xhprof,确实很强大,定位到了mysql_connect(),这个函数花了5秒。。。
是说建立数据库连接需要这么长时间?SAE的数据库连接能否优化啊?
BTW:mysql慢查询没有日志,应该不是慢查询的问题
2013-04-09 12:26:21
#5 jake
mysql_connect能优化的地方不多,如果是远程服务器的话,主要是看网络链路的问题了。
可以做的,是考虑把mysql_connect所用的“域名”,直接写成IP的方式,这样可以节省DNS查询的时间。
慢查询应该要看标准的。标准宽松的话,记录就少,标准严格就多。估计是SAE标准还算宽松吧。
2013-04-09 12:30:19
#6 膂蒤芣寂寞
jake 发表于 2013-4-9 12:30 
mysql_connect能优化的地方不多,如果是远程服务器的话,主要是看网络链路的问题了。
可以做的,是考虑把m ...
我想到是不是因为index.php里面都需要mysql_connect?但其实不是每个页面都需要数据库的
这方面能否优化呢?
刚才尝试过mysql_pconnect,貌似速度起来了,不过pconnect在sae上有些问题
2013-04-09 12:47:21
#7 膂蒤芣寂寞
膂蒤芣寂寞 发表于 2013-4-9 12:47 
我想到是不是因为index.php里面都需要mysql_connect?但其实不是每个页面都需要数据库的
这方面能否优化 ...
汗,我傻了,index里面一句mysql_connect是没用的,不知道什么时候加上(可能是初学的时候),然后一直以为是数据库的配置代码,结果所有页面都带着mysql_connect跑
直到刚才改了mysql_pconnect,发现这个被sae禁了居然程序还能跑,突然反应过来了。。。。
汗死
2013-04-09 12:59:24
#8 jake
膂蒤芣寂寞 发表于 2013-4-9 12:47 
我想到是不是因为index.php里面都需要mysql_connect?但其实不是每个页面都需要数据库的
这方面能否优化 ...
这个要看你的程序怎么写了。正常来说框架是到了model层实例化后才链接数据库的。index.php一般不会有链接。
2013-04-09 13:00:35
#9 jake
膂蒤芣寂寞 发表于 2013-4-9 12:59 
汗,我傻了,index里面一句mysql_connect是没用的,不知道什么时候加上(可能是初学的时候),然后一直以 ...
囧
2013-04-09 14:46:08