Feed on
Posts
Comments
Email訂閱

之前就發現xajax的效能很差,一個簡單的request發出,大概要4~5秒才會得到回應。經過抽絲剝繭後,發現可能是server.php把所有的server side 一次include進來,於是每發送一個request,都會重新載入相關的php程式碼,所以理論上應該是一個service,在server端只載入相對的程式碼即可,但如此做法又會讓程式碼太過分散。因此作了以下調整:

  1. 維持一個server.php,但根據request function name,用include的方式動態載入相關的程式碼。
  2. 將原本勉強歸類在一起的程式碼,拆開成個別的檔案,並以 classname.funcname.php的方式取名。
  3. 將inc目錄下的include 檔案,依每個對應的Ajax service再拆開分解,縮小檔案大小。有些include file,若無其他程式引用,直可直接放在ajax server的service程式中,就不要再另外做include的動作。

經過這樣的調整之後,速度果然有提升約25%。未來的Ajax可能會直接改採用jquery的ajax,直接減少server side引用xajax lib

 

留言區