2011-11-19 81 views
0

我想知道在運行/執行PHP文件之前哪些文件用於初始化或啓動PHP。如何獲得PHP的初始化或啓動時間

另外,我該如何計算(在本地和服務器)初始化或PHP的啓動時間?

誰能幫助我呢?

+2

爲什麼?爲什麼?如果不深入挖掘PHP源代碼,這兩件事情都是不可能的 –

+0

您可以使用'strace'作爲第一個問題。定時啓動時間將是不精確的。 (可能必須編寫一個類似'time php -r「posix_kill(getmypid(),9)的C程序;」'但這太超古怪了。) – mario

+0

@Pekka 我想計算啓動時間我可以將它與另一種腳本語言進行比較,並基於此獲得其性能的一些結果 – aniruddh

回答

1

Linux內核提供/proc/<pid>/stat中進程的啓動時間;這是第22場。它會在程序啓動之前計算引導後的jiffies數量。我相信「jiffies」已被固定爲100 /秒,現在有很多版本,但我無法命名哪一個版本引入了它。

將jiffies自啓動以來的時間轉換爲有用的時間有點困難,但這全是算術運算。

time(2)返回自紀元以來的秒數;將流程的開始時間除以100(或者平臺上的任何瞬間/秒),以便從啓動開始獲得秒數,從其他時間中減去該時間以獲得流程啓動時間,並將其轉換爲您的時間喜歡的格式如你所需。

+0

嘿是可能使用PHP的解決方案? 和windows怎麼樣? – aniruddh

+0

它當然可以。打開'/ proc/self/stat',讀取文件中的第22項,並開始做數學。 :) – sarnold

0

我要計算的啓動時間,這樣我可以有另一種腳本語言進行比較,並根據該網站的成效

我不認爲翻譯的啓動時間是一定的成效這個比較的有用指標。

例如,您可以設置兩個具有兩種不同腳本語言的Web服務器,向執行一些標準任務的腳本發出Web請求,並測量第一個字節到達的時間。這可能會讓你對每個平臺的性能有些現實的描述。

相關問題