• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > php编程 >

简单说说PHP优化(2)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-11点击:

  <?php

  ob_start(); //打开缓冲区

  ?>

  php页面的全部输出

  <?php

  $content = ob_get_contents(); //取得php页面输出的全部内容

  $fp = fopen("output.html", "w"); //创建一个文件,并打开,准备写入

  fwrite($fp, $content); //把php页面的内容全部写入output.html,然后……

  fclose($fp);

  ?>

 

  当然这个ob系列函数还有其他很多用处我就不在这里一一说明了。

  2、apache输出控制

  将SendBufferSize设置为页面大小,这样就能将页面一次性放在发送缓冲区从而增加处理速度。

  SendBufferSize 指令

  说明:TCP发送缓冲区大小(字节)

  语法:SendBufferSize bytes

  默认值:SendBufferSize 0

  作用域:server config

  状态:MPM

  模块:beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker

  这个指令设置服务器的TCP发送缓冲区的大小(字节)。提高这个值会导致两个后果:高速度和高潜伏时间(100ms左右)。如果设置为"0",将使用操作系统默认值。

  通过源代码方式编译你的Apache/PHP/Database 可让你的程序增加10--15%的速度

  下面再说说在代码优化的时候应该注意的

  1、短代码不等于快的代码

  很多人在写程序时希望将代码写的越简洁越好,但是越短的代码有时候反而需要更长的执行时间,所以哪怕是用更多的代码也不使用速度慢的代码

  2、在写程序的时候更应该注重程序的扩展性,而不是追求速度

  3、在优化你的代码之前,先看看跟数据库有关的部分,因为大多数应用程序的瓶颈在数据库而不是代码

  4、微优化得不偿失

  什么叫做微优化?就像前面所说的将正则表达式部分的代码改用字符串函数代替。这样做有以下缺点:

  (1)花费时间较长

  (2)不会解决你的性能问题

  (3)很有可能会破坏以前的代码从而产生未知的错误

  (4)付出大于回报

  这里还不得不提到一个误区,有些人为了让程序更加优化,在分析业务逻辑的时候便将优化考虑在内了,从而为了得到更优的代码而改动业务逻辑。这是十分愚蠢的想法,因为程序的目的便是为了处理现实中遇到的问题,是为这些问题服务的,怎么能本末倒置呢。

标签: php 说说 简单

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ