簡體   English   中英

PHP性能指標

[英]PHP Performance Metrics

我目前正在為個人項目開發PHP MVC框架。 在我開發框架的同時,我有興趣通過實現不同的優化技術來看到任何顯着的性能。 我已經實現了一個粗略的BenchMark類來記錄mircotime。

問題是我沒有執行時間的參考框架。 我非常接近這個項目的開始,有一個數據庫連接和一些查詢,但沒有輸出(禁止一些調試文本和BenchMark日志)。 我的當前執行時間為0.01917 seconds

我期待這個更低,但正如我之前所說,我沒有參考框架。 我很欣賞在演出時要考慮很多變量,但我希望找到某種指標
a)測量性能的技術,例如每秒的請求和
b)例如比較結果; “標准”Web服務器上的“適度”大小的PHP應用程序將如何執行。 我理解“適度”和“標准”是非常主觀的詞,因此可能是特定應用程序的已知執行時間表(例如StackOverFlow的執行時間)。

除了執行時間之外,還有哪些其他測量性能的技術?

在查看MVC框架性能比較時,它討論了每秒請求數(RPS)。 這是怎么計算的? 我猜測我當前的執行時間0.01917 seconds可以處理52 RPS (= 1 / 0.01917 ) 這似乎明顯低於圖表上引用的內容,尤其是當您考慮我目前有限的功能時。

要對特定頁面進行基准測試,請使用ab 要對服務器上的頁面加載進行基准測試,請嘗試圍攻

然而......這兩者仍然主要是人工測試。 我個人也添加了一些額外的日志。

  • 網頁服務器(或代理,無論如何)中的頁面加載時間
  • 數據庫中的慢查詢日志記錄
  • 如果可能,也會在每頁查詢計數記錄,這樣您就可以知道頁面有多重;)

您可以使用xdebug來分析您的代碼。 但是你在開發過程中過早地優化了方法。 只是調用microtime的行為會減慢速度,因為它必須調用系統(在PHP引擎之外)。 相對而言,每個包含,對象創建,與另一個資源(即數據庫)的連接將增加大量開銷。

如果您將系統設計為非常緩存友好,那么您不必執行代碼。 例如,WordPress非常慢。 在體面的Web服務器上大約15頁/秒。 它做了很多包括並運行了很多代碼。 但是添加SuperCache插件並且性能提高了10倍。 它的工作原理是創建一個緩存文件並使用一些Apache規則,因此PHP根本不必運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM