回答編集履歴

2

DBの general log / slow query log について追記

2017/09/23 04:52

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -17,6 +17,14 @@
17
17
  * [XdebugとWinCacheGrindを使って、パフォーマンス測定を行おう PHPプロ!TIPS+](http://www.phppro.jp/phptips/archives/vol10/3)
18
18
 
19
19
  * 使っているフレームワークにプロファイリング機能があればそれを使う
20
+
21
+
22
+
23
+ またDBMSへの問い合わせが不適切ではないかも確認が必要です。
24
+
25
+
26
+
27
+ DBMSで実行したクエリのログ(general log)を取って、同じようなクエリが大量に実行されてないか調査してください。なお general log はその性質上非常に巨大になるため、解析が終わったら記録を止めるのを忘れないで下さい。また、slow log で `log_queries_not_using_indexes` オプションを使ってインデックスを使っていないクエリがないかも併せて調査してください。
20
28
 
21
29
 
22
30
 

1

プロファイリングについて追記

2017/09/23 04:52

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -3,6 +3,24 @@
3
3
 
4
4
 
5
5
  まずは推測ではなく事実に基づき問題箇所を計測しましょう。最も簡単なのはベンチマークです。`print('ポイントA:' . microtime(true));` みたいな単純なコードでもよいので、随所でタイムスタンプを計測・記録し、**どこで時間がかかっているか特定**しましょう。
6
+
7
+
8
+
9
+ ただ今回はちりも積もれば状態の問題なので、より詳細なプロファイリングが必要になってくると思います。余力があればお試し下さい:
10
+
11
+
12
+
13
+ * [xhprofでパフォーマンスチューニング入門 - Qiita](https://qiita.com/w_cota/items/48667a845cd06d969d4a)
14
+
15
+ * [PHP開発時におけるデバッグ/プロファイリングの手段・ツール3+2選 | 東北ギーク](http://tech.respect-pal.jp/debug-profiling-on-php/)
16
+
17
+ * [XdebugとWinCacheGrindを使って、パフォーマンス測定を行おう PHPプロ!TIPS+](http://www.phppro.jp/phptips/archives/vol10/3)
18
+
19
+ * 使っているフレームワークにプロファイリング機能があればそれを使う
20
+
21
+
22
+
23
+ ---
6
24
 
7
25
 
8
26