提高网站性能

我要说的性能,是指服务器端代码运行时间,如果你想知道前端优化的方法,抱歉,你走错了,但是来也不能白来,推荐给你一本书,叫做高性能网站建设进阶指南,这里有你想要的。

最近一直在做性能优化的工作,趁着周六周日总结一下计划一下,一些可用的优化手段

俗话说,工欲善其事,必先利其器,首先得有一个性能测试工具,我选用的是xhprof,安装和使用不细说

优化可以从几个方面考虑

  1. 程序需求:产品经理很有可能会提出一点锦上添花的小需求,这个需求可能对用户来讲,很不重要,但是如果实现起来确实非常麻烦,这时候,可以商量着砍掉这个需求
  2. 程序的设计
  3. 类和子程序的设计:是否选用了合适的数据结构和算法
  4. 程序同操作系统的交互:同操作系统交互的函数一般是同外部文件,动态内存,或输出设备打交道的,尽量减少这类函数的使用
  5. 代码编译
  6. 硬件
  7. 代码调整
        
具体的措施如下
1.加缓存:缓存分为连个方面,一是数据的缓存,一个是代码的缓存,无论是哪种形式的缓存,我们选择其的标准就是能否透明缓存,即在不修改代码的基础上很容易的加上缓存,也可以在不影响功能,不修改代码的基础上很容易去掉缓存
a. 数据的缓存
一般的措施是加入memcache,varnish等,rest服务+varnish是个很好的选择
b. 代码的缓存
可以开启apc的opcode
2. 重新编译php, 重配php.ini,去掉不需要的php模块,上线时可以去掉xhprof模块
3. web服务器nginx的配置:
worker_processes,fastcgi,keepalive_timeout,gzip_min_length参数的配置要注意
4.关闭系统不必要的进程
5.关于代码级别的优化就是最后的考虑了,但是代码调整更容易执行,一般的方法包括
a. 减少循环
b. 能用php自带的函数则用它的,不要自己写
c. 减少curl请求,或者使用multi_curl并发请求,参考示例
http://code.google.com/p/rolling-curl/source/browse/trunk/RollingCurl.php
e. curl请求如果实在是多,请使用curl_multi
f. 减少系统函数的调用
g. 减少数据格式的转换,例如json_decode,json_encode,unserlize等
h. 惰性求值,即在需要的时候才去求值
i. 减少数据库请求,这点很重要
j. 用低级语言重写
  




你可能感兴趣的:(数据结构,优化,json,性能优化,web服务,测试工具)