- 本文地址: https://www.laruence.com/2010/12/17/1833.html
- 转载请注明出处
今天在微薄看到一个转帖, 题目触目惊心《PHP的echo为什么这么慢》,
点进去一看, 大意是说在PHP中echo一个500K的字符串, 会耗时几百ms,
然后作者说打开Apache的压缩以后呢, 速度就快了.
之后, 又看到一个同学, 从HTTP协议入手, 分析了chunked模式和直接传输模式, 意思可能是说, 和分段传输相关...
我在这里不是批评或者驳斥谁, 相关者莫要生气, 我只是害怕误导别人..
echo 一个500K的字符串, 速度慢, 这个和PHP没关系, 也和PHP的实现者C也没关系,, 关系在于IO, IO的速度限制了输出的速度,,
至于说Apache的压缩,,这个,,压缩了, 字符串变小了(字符串的压缩率很大), 自然也就快了(CPU换IO)....
最后, PHP真的很无辜, 和它真没关系..
[…] PHP是无辜的 […]
[…] @Laruence PHP是无辜的 […]
[…] 我在之前的文章中, 已经解释过了原因, 也希望能纠正”PHP的ECHO性能差”的这个误会. […]
[…] 我在之前的文章中, 已经解释过了原因, 也希望能纠正”PHP的ECHO性能差”的这个误会. […]
支持下。。。。。。。
我一直在PHP最浅层上折腾!
我当时在学习PHP就是冲着,输出只要“echo”,而不像ASP那样子的,什么 Respons…write(哎,杯具啊,到现在这个词还写不出来)——刚学习,哪知道封装函数的说法啊(正儿八经的草根中的草根!)
[…] 我在之前的文章中, 已经解释过了原因, 也希望能纠正”PHP的ECHO性能差”的这个误会. […]
[…] 本文地址: http://www.laruence.com/2010/12/17/1833.html […]
[…] 我在之前的文章中, 已经解释过了原因, 也希望能纠正”PHP的ECHO性能差”的这个误会. […]
[…] 执行时间会明显的长, 也就会有朋友认为PHP的ECHO性能很差. 我在之前的文章中, 已经解释过了原因, 也希望能纠正”PHP的ECHO性能差”的这个误会. […]
dth801 | 23 Dec 2010 14:42
来向大牛求助… 不知道有没搞过Mysql数据的字符集转换? 我需要从utf8_general_ci 转到 gbk_chinese_ci 求助求助~~~~ 怕你不查看留言,错宝地再发一下 见谅..
mysqldump的时候指定一下字符集吧,mysqldump –default-character-set=gbk_chinese_ci > /tmp/sql.log
博客好久没看到新内容了
有空请加我QQ 聊一下图书选题1370610196@qq.com
应该是和浏览器端的渲染有关,当数据只传输一部分时浏览器会立即解析已接收的数据(HTML)却又不能有效解析(比如闭合标签还未发送过来),解析效率很低而影响数据的整体接收和表现,在用户的角度就会明显感觉到很卡,其实不是网络问题、也不是服务器端的问题,虽然这会导致整个数据传输过程增长,但不是服务器端的问题,而是浏览器的问题。
使用 output buffer 会好很多。使用 gzip 应该和使用 ob 差不多,是压缩好之后一次性发送给浏览器端。
不过话说回来,数据不能快速、完整的发送给浏览器,服务器端应该也有问题,但是不是局限于 php。在高速网络这些优化是有意义的,如果网络速度非常慢,像电信、网通互访那样,,这些优化在浏览器渲染效率的提升上也没太大意义。
明显是网络传输的延迟
ECHO 字符大自然慢了!
@雪候鸟
我也确实是这样做的,但我感觉这样很笨…
我的场景是因为之前设计的失误,页面编码和数据库编码不一致,从而导致了虽然页面显示正常,但直接查看数据库中的数据是乱码.因此我用phpmyadmin导出来的数据也是乱码,更别想往GBK的库中导了. 我的想法是有没有办法把我通过phpmyadmin导出来的乱码文件转换成正常的GBK编码格式的? 因为虽然是乱码,但通过PHP程序调用到页面的是可以正常显示的.
稍微通用也行呀 不通用的结果就是我用PHP读出来再插进去了十六W条记录 郁闷…
@dth801 导出来, 转换, 导进去~
来向大牛求助… 不知道有没搞过Mysql数据的字符集转换? 我需要从utf8_general_ci 转到 gbk_chinese_ci 求助求助~~~~ 怕你不查看留言,错宝地再发一下 见谅..
要不然又被误导了
最近还看到一个比这个php还无辜的是mysql。。。
大意是说mysql一个查询几万条记录要几秒钟,然后以前用sql server多么会,总结是看来mysql还不行,我都直接无语了,很想知道他数据库是怎么设计的,然后抓住抽一顿。。。
确实PHP很无辜…
可以理解成是慢在Apache输出上了么?还是说客户端的IO
时空转换。
他怎么不说echo 1T字节的东西会死机。