php涉及数据库操作时响应很慢。
症状描述:
网站是php开发的,大部分页面响应很慢。
本地开发时响应速度很快,但是部署到生产环境后大部分响应很慢。
通过谷歌浏览调试发现PHP页面加载很慢,有个别的php请求的响应时间甚至超过10秒,php请求的处理都不是很复杂,不该这么慢。
主要花费的时间全耗在了Waiting(TTFB)上,有的很慢的页面如那个10.2秒的页面,Waiting的时间竟然达到了10秒。
偶然间发现有个别的页面,在不登陆的情况下响应很快,登录后响应很慢,这样的页面特别查看了下,发现登录情况下会执行mysql的select,不登陆则直接显示固定的内容。
因此锁定为在涉及mysq操作时响应速度才很慢。
写了个简单的mysql 的select查询,通过web访问后发现很慢,通过microtime()统计执行时间发现时间是几十毫秒或毫秒级的,但是Waiting的时间仍然是秒级的。这明显的不科学啊,php从开始执行到结束的时间 和 web的响应时间差好几个数量级的。
涉及mysql操作时很慢,但是php本身执行完 mysql操作花费的时间并不慢啊。
弄到这也没啥路子了,只能去搜度娘了,结果还真搜到了,有人也出现一样的情况在度娘上提问了,竟然还有人回答了,突然感觉还是好人多啊。
按回答者的意思是连接数据库时使用的是localhost,但是hosts中没有配置localhost。
去查看hosts了,一看,我去。。。真没有localhost。
添加上
127.0.0.1 localhost
,生成环境下php web访问速度立马给力了。
php涉及数据库操作时响应很慢。的更多相关文章
- Asp.net 4.0,首次请求目录下的文件时响应很慢
原文:Asp.net 4.0,首次请求目录下的文件时响应很慢 1. 问题起因2. 尝试过的处理思路3. 解决方法 1. 问题起因 一个从VS2003(.Net Framework 1.1)升级到.ne ...
- Access 中数据库操作时提示from子句语法错误
问题:如果在Access 中数据库操作时提示from子句语法错误原因:语句中某一单词为Access中的关键字.如:select * from user.其中user就是一关键字.解决:用中括号[]将其 ...
- PHP进行数据库操作时遇到的一个问题
PHP进行数据库操作时遇到的一个问题 昨天在进行数据库操作时,遇到了一个问题(用的是 wampserver 环境): <?php $link = @mysqli_connect('localho ...
- 跨越数据库操作时注意要加dbo
跨越数据库操作时注意要加dbo insert into hrdb.dbo.TB_B_PROJECTS :这样是正确的 insert into hrdb.TB_B_PROJECTS :这样是错误的
- 用JDBC操作MySQL——大量数据库操作时使用批处理提速
之前所有的操作由于数据量很小,所以没有进行批处理的优化,性能也没有出现明显的恶化,但是随着我用java处理数据量的大幅提高,频繁使用静态SQL语句的方法严重降低了处理效率,这里总结一下JDBC批处理的 ...
- sql server 2008 r2 数据库操作时提示 9002错误“事物日志已满”问题
事务日志截断 若要避免数据库的事务日志被填满,例行备份至关重要.在简单恢复模式下,备份了数据库后会自动截断日志,而在完整恢复模式下,只有备份了事务日志后方才截断日志.但是,截断过程有时也可能发生延迟. ...
- SVN提交时响应很慢,我是这样解决的。
现象:使用TortoiseSVN提交文件时,弹出提交窗口,要等待30秒的样子,才开始工作,开始提交文件后速度还是很快的. 解决后提交文件几乎是秒杀. 解决办法 (我的电脑可以了,但还是有些同事的电脑没 ...
- MongoDB:利用官方驱动改装为EF代码风格的MongoDB.Repository框架 六:支持多数据库操作
本次主要内容:修正MongoDB.Repository框架对多数据库的支持. 在之前的五篇文章中对MongoDB.Repository框架做了简单的介绍是实现思路.之前是考虑MongoDB.Repos ...
- java之Hibernate框架实现数据库操作
之前我们用一个java类连接MySQL数据库实现了数据库的增删改查操作---------MySQL篇: 但是数据库种类之多,除了MySQL,还有Access.Oracle.DB2等等,而且每种数据库语 ...
随机推荐
- C++宏定义详解
一.#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质 ...
- 输出流 写文件 文本 换行nextLine
FileOutputStream fos = new FileOutputStream( "c:\\test.txt "); String nextLin ...
- Java读写大文本文件(2GB以上)
如下的程序,将一个行数为fileLines的文本文件平均分为splitNum个小文本文件,其中换行符'r'是linux上的,windows的java换行符是'\r\n': package kddcup ...
- 【转】linux之e2label命令
转自:http://www.th7.cn/system/lin/201311/46743.shtml 前言 e2label命令,用于获取或设置ext2.ext3文件系统对应的分区的卷标. 卷标:简单来 ...
- Cocos2d-android (03) 向量
向量的基本运算及动作 import org.cocos2d.actions.interval.CCJumpBy; import org.cocos2d.actions.interval.CCMoveB ...
- Android百度地图开发(三)范围搜索
// 1.新建项目 将地图API添加进classpath中: 2.在activity_main.xml中添加一个MapView,用来显示地图: <LinearLayout xmlns:andro ...
- NewtonPrincipia_物体的运动_求向心力
NewtonPrincipia_物体的运动_求向心力 让我们看一下十七世纪的被苹果砸中的艾萨克,是怎样推导出向心力公式的 在现在的观点看来,其中涉及到的很多没有符号表示的微分量.下面的内容只是叙述了推 ...
- Android开源图表库介绍
XCL-Charts XCL-Charts V1.8 Android开源图表库(XCL-Charts is a free charting library for Android platfo ...
- UNIX环境下用C语言写静态库与动态库
静态库,动态库用UNIX 的术语来说,或者叫做归档文件(archive 常以.a 结尾)和共享对象(share object 常以lib 开头.so 结尾)更为准确.静态库,动态库可能是WINDOWS ...
- jspace2d——A free 2d multiplayer space shooter
http://code.google.com/p/jspace2d/ —————————————————————————————————————————————————————————————— We ...