提高網站性能

我要說的性能,是指服務器端代碼運行時間,如果你想知道前端優化的方法,抱歉,你走錯了,但是來也不能白來,推薦給你一本書,叫做高性能網站建設進階指南,這裏有你想要的。

最近一直在做性能優化的工作,趁着週六週日總結一下計劃一下,一些可用的優化手段

俗話說,工欲善其事,必先利其器,首先得有一個性能測試工具,我選用的是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併發請求,參考示例
e. curl請求如果實在是多,請使用curl_multi
f. 減少系統函數的調用
g. 減少數據格式的轉換,例如json_decode,json_encode,unserlize等
h. 惰性求值,即在需要的時候纔去求值
i. 減少數據庫請求,這點很重要
j. 用低級語言重寫
  




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章