掌握PHP讀寫 Cookie的執行時間與效率問題,了解PHP讀寫Cookie對性能的影響,並在實際開發中合理的使用PHP讀寫Cookie,分析工具采用PEAR Benchmark_Iterate類,主要關注指標為PHP讀寫Cookie的程序執行時間。
目錄
一,什麼是PEAR與Benchmark類
二,為什麼要分析PHP讀寫Cookie情況
三,性能測試代碼
四,性能測試結果
五,性能測試總結
六,setcookie函數說明
七,附性能測試源代碼下載
參考資料
一,什麼是PEAR與Benchmark類
請參考PHP性能優化系列
第二期 PHP性能優化工具篇Benchmark類調試執行時間
第一期 PHP性能優化准備篇圖解PEAR安裝
二,為什麼要分析PHP讀寫Cookie情況
1,什麼是Cookie?
Cookie,指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據。
2,PHP與Cookie
PHP通過內置函數setcookie()寫cookie,通過$_COOKIE全局變量讀cookie,在實際開發中,讀寫Cookie是與用戶交互最主要的方式之一,並且使用也非常頻繁,因些需要了解PHP在讀寫操作Cookie的性能與效率問題。
三,性能測試代碼
編寫三個函數,分別為寫cookie、讀cookie和讀寫cookie,代碼如下:
代碼如下 復制代碼 <?php使用Benchmark_Iterate類工具分別調用各個函數50次獲取PHP讀寫Cookie的平均執行時間並生成圖表。
四,性能測試結果
1,PHP寫Cookie的執行時間
圖解:使用PHP內置函數setcookie()向客戶端發送一個 HTTP cookie,寫Cookie的執行時間 0.00072s左右 注s表示秒
2,PHP讀Cookie的執行時間
圖解:使用全局變量$_COOKIE獲取客戶端cookie值,讀Cookie的執行時間 0.00051s左右
3,PHP讀寫Cookie的執行時間
先讀取cookie值,然後再向客戶端發送一個 HTTP cookie,讀寫Cookie的執行時間 0.00088s左右
五,性能測試總結
通過折線圖可以清楚看到,setcookie() 函數向客戶端發送一個 HTTP cookie需要的執行時間大約是0.00072s左右,也就是0.7毫秒,PHP讀取Cookie的執行時間為0.00051s左右,也就是0.5毫秒,如果同時讀寫操作Cookie需要的執行時間為0.00088s,也就是0.8毫秒左右,這些操作在秒的時代基本上執行的時間非常短,但請不要小看這個值,正常的PHP內置函數執行的時間大約在0.3毫秒左右,相對而言讀寫Cookie的執行時間是比較耗時的,因此,在實際開發中要盡量少用這樣的函數,充分考慮讀寫Cookie的情況,特別是寫cookie的情況!
毫秒世界還在繼續,請關注下一期PHP性能優化系列。
六,setcookie函數說明
setcookie() 函數向客戶端發送一個 HTTP cookie。
代碼如下 復制代碼bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
1,cookie 是由服務器發送到浏覽器的變量。
2,cookie 通常是服務器嵌入到用戶計算機中的小文本文件。每當計算機通過浏覽器請求一個頁面,就會發送這個 cookie。
3,cookie 的名稱指定為相同名稱的變量。例如,如果被發送的 cookie 名為 "name",會自動創建名為 $user 的變量,包含 cookie 的值。
4,必須在任何其他輸出發送前對 cookie 進行賦值。
5,如果成功,則該函數返回 true,否則返回 false。