Geeklogの性能測定(その2)
- 2008年10月 5日(日) 16:02 JST
- 投稿者: mystral-kk
- 表示回数 4,752
前回と同じ環境(config.class.phpのキャッシュなし)で、public_html/index.phpにアクセスしたときに、lib-common.phpインクルードにかかる時間の内訳(5回の平均値)。時間の単位はms(ミリ秒)。0.2ms以下のものは適当に省いている。
項目 | 実行時間 | 比率 |
---|---|---|
lib-common.php自体の読み込み | 19.4 | 49.0% |
config->initConfig() | 9.4 | 23.7% |
config->load_baseconfig() | 3.1 | 7.9% |
lib-syndication.phpインクルード | 1.5 | 3.8% |
staticpages::functions.incインクルード | 1.3 | 3.3% |
links:functions.incインクルード | 0.8 | 2.1% |
lib-plugins.phpインクルード | 0.7 | 1.7% |
japanaese_utf-8.phpインクルード | 0.6 | 1.4% |
polls::functions.incインクルード | 0.5 | 1.2% |
smapx::functions.incインクルード | 0.4 | 1.1% |
calendar::functions.incインクルード | 0.3 | 0.9% |
SEC_getUserGroups() | 0.2 | 0.6% |
合計 | 39.6 |
意外な感じがするのは、プラグインのfunctions.incをインクルードする時間が長いこと。同梱されている標準の5つのプラグインだけでも3.3ms(全体の8.7%)かかっている。
ついでに、public_html/index.php自体も計測してみた。
項目 | 平均実行時間(ms) | 平均比率(%) |
---|---|---|
index.php自体の読み込み | 9.4 | 9.3% |
lib-common.phpインクルード | 35.6 | 35.0% |
COM_siteFooter() | 24.0 | 23.6% |
COM_siteHeader() | 19.6 | 19.3% |
STORY_renderArticle() | 7.1 | 7.0% |
lib-story.phpインクルード | 2.6 | 2.5% |
全体 | 101.6 |
記事1件ごとにSTORY_renderArticle()が呼び出されるので、記事が増えるほど遅くなる。これは当然のことだが、COM_siteHeader(), COM_siteFooter()に莫大な時間がかかっているのは予想外だった。ちょっと調べた感じでは、この両関数から呼び出されるCOM_formatBlock()関数が遅いようだ。ここがボトルネックか?