用memcache.php监测memcache的状况

最新的memcache pecl中,新增了一个memcache.php,这个php文件可以用来方便的查看memcache的状况,界面上与apc自带的apc.php风格一致。
如图:

应该算是最方便的监测memcache的办法了。

阅读全文(128字)

评论

hidef —— 进一步提高define的性能

用apc_define_constants可以提升批量define的性能,但是每个请求,都免不了进行 读cache -> 批量define 这样一个过程,因此,这也算不上提升define性能的终极手段。
在翻看apc的手册时,无意中看到有这么一小段介绍:
For a better-performing solution, try the » hidef extension from PECL.
这里提到了一个叫hidef的扩展,看说明上的意思,应该是可以通过ini文件来批量定义常量。

阅读全文(730字)

评论 (2)

用apc来提高define的性能

php下的define()性能是很烂的,速度慢,尤其是当一个程序中有大量的常量需要定义,这个情况尤为明显。而apc这个扩展不仅仅提供了php的opcode缓存,同样也可以提供一些基本的cache功能,在apc 3.0.0版本之后,它甚至可以缓存常量。
一个用apc批量定义常量的例子
PLAIN TEXT
CODE:

阅读全文(558字)

评论 (1)

查看xdebug profile文件的几个程序

在优化php代码执行效率过程中,有个好办法是利用xdebug生成profile文件,然后查看整个程序的瓶颈在哪里。现在xdebug profile的查看程序有好几个,在这里罗列一下.
Wincachegrind
Wincachegrind是windows下的profile查看程序,使用起来感觉还不错,profile文件太大的话偶尔会崩溃。
今天在高春辉的博客上看到这些:

阅读全文(1264字)

评论 (1)

如何避免使用php的require_once

我们知道,在php中使用require_once/include_once虽然方便,但是代价昂贵,据测试数据来看,require_once比require慢3-4倍,所以在php开发中,我们应该尽量使用require/include。
列一下俺常用的避免require/include的方法。
使用__autoload
php5可以使用__autoload来避免require,用的好的话,代码里头甚至看不到几个require,实在是安逸啊。测试结果表明,使用__autoload之后的new Foo; 比 require_once 'foo.php'; new Foo; 大概要快3倍左右。

阅读全文(621字)

评论 (6)

用xdebug优化php的三个小窍门

xdebug的2.0正式版已经发布了。这个工具用在php的代码调试,优化方面效果很不错。下面贴上俺使用过程中的几个小窍门。

xdebug生成profile文件,可以用KCachegrind来查看,但是这个工具只在linux下面可用,没有windows下的版本。这里推荐一个win下的免费工具——wincachegrind,也可以查看xdebug的profile文件,用来分析php代码运行情况足够用了(偶尔不太稳定)。
xdebug一般情况下只会对一个请求做profile记录,如果需要查看几个请求的运行情况合集,可以设置xdebug.ini的xdebug.profiler_aggregate = 1记得重启你的apache。

阅读全文(552字)

评论 (5)

优化AWSTATS性能的7个建议

对于一个访问量巨大的网站来说,使用awstats来分析其日志是一件很痛苦的事情,这往往需要耗费很多时间才能得到一个结果,偶尔还会让机器内存耗尽。在awstats的文档中,找到几个关于性能优化的建议,如下:

关掉DNSLookup(DNSLookup不能设置为1). 虽然这样你会丢失一些关于访问者的国家信息,但是我觉得这无关紧要,大部分网站的访问者集中在国内。这样能给awstats性能带来小小提升。
小心使用这三个参数: URLWithQuery, URLReferrerWithQuery ,URLWithAnchor (如果你不知道它们有什么作用最好设置为0)

阅读全文(623字)

评论 (1)

http_load的使用

记得前些天介绍了一个幻灯——Getting Rich with PHP 5(IE之外的浏览器可看,见用php5来赚大钱),这个幻灯向我们展示了php程序优化的一些技巧,其中命令行工具http_load给我留下很深的印象,这工具看上去和apache的ab很相似,用来做网站的压力测试。昨天在服务器上安装http_load并试用了一段时间,下面是我的一点学习心得。
测试网站每秒所能承受的平均访问量
http_load -parallel 5 -fetches 1000 urls.txt
这段命令行是同时使用5个进程,随机访问urls.txt中的网址列表,总共访问1000次。运行之后的结果:

阅读全文(673字)

评论

用php5来赚大钱

写这个标题一定会被打死。
可能这个幻灯跟赚钱没关系--Getting Rich with PHP 5(IE之外的浏览器可看)。但是个人认为它所介绍的程序优化和分析的方法比较有意思,广大php爱好者如能掌握,说不定真的就解决了温饱问题进而赚了大钱。
幻灯的大义:
首先你准备建一个大流量的网站

阅读全文(397字)

评论 (2)

[mysql 5.1]使用Partitioning优化数据库性能

mysql 5.1新功能早知道 ---- Partitioning
Improving Database Performance with Partitioning
mysql站上关于的Partitioning说明文档

评论 (1)