2011-11-11 42 views
4

我們已經將一個網站的重要模塊從純PHP移植到Symfony。Php CPU循環基準測試

該模塊有很多頁面點擊,因此我們需要判斷附加的硬件需求(如果有的話)。我們希望對移植後的額外內存和CPU週期網頁進行基準測試。

PHP中是否有任何現有的工具或函數來獲取這些統計信息?我在php中遇到了getrusage函數,但它似乎並不可靠。

+0

不意味着迂腐,但它拼寫爲「Symfony」。 –

回答

0

相反標杆這種方式,你也許可以做出相當於生產一,以每秒相當於請求,例如Apache Benchmarking Tool開發服務器上的壓力測試。 (並且不要忘記安裝操作碼緩存)。

+0

是的,我們會這樣做,但如果我們獲得cpu時間和內存模式,那麼我們可以做得更好,因爲網站上還有很多其他模塊,並且模擬網站流量也會模擬它們。我們希望每個模塊類型的統計信息具有負載消耗,以進行容量規劃。 – Shivam

+0

好:)所以是的,請參閱symfony的分析模塊。 – Nanocom

3

XDebug可以用來創建callgrind文件和功能的痕跡。

前面解釋了請求時間花在哪裏,函數調用等的計數。例如,可以使用KCacheGrind來檢查該數據。

後者可用於查看實際中某些功能路徑如何工作,檢查函數的內存使用情況等。

+0

: - Xdebug和KcacheGrind類型的工具也將佔用cpu和內存資源,並且一次只能處理一個請求,我們想用apache benchmark等工具進行基準測試,然後使用cpu時間和通過工具記憶日誌以查看高負載下的模式。 – Shivam

+0

那些cachegrind文件可以被附加,而不是覆蓋每個請求。儘管它增加了很多額外的負載,但相對的使用大部分時間是正確的。 – Smar

0

請參閱我們的PHP Profiling Tools。你可以用最少的開銷獲得相對的計數,或者你可以得到方法和調用樹的時間。