PHPと非PHP要素
非PHPアセットのロード時間とPHPベースのロード時間を比較すると、PHPが関与していない場合、サーバーが迅速に応答することがわかります。
これは通常、PHPスクリプトの内部に問題があることを示しています。
問題は、PHPレイヤーまたはデータベース内にある可能性があります。XDebugやNewRelicなどの高度なデバッグツールを使用すると、ボトルネックをすばやく特定できます。
最初のバイトまでの時間の問題は、ハードウェアの制約、不適切な構成、または非効率的なコードによって引き起こされる可能性があります。共有ホスティングでは、ハードウェアの制約と不適切な構成が最も可能性が高いです。
いずれにせよ、問題を解決することは通常、以下の1つまたはすべてを意味します。
- その他のハードウェア
- より良いプログラミング
- キャッシングを追加
すでに専用リソースを使用している場合、より高速なハードウェアは明白ですが、多くの場合コストがかかるソリューションです。
問題が、管理していないコードの内部にある場合や、開発者のリソースが不足している場合は、プログラミングを改善できない可能性があります。
キャッシングは、基になるパフォーマンスの低いリソースにヒットする必要のあるリクエストの数を減らすことで役立ちます。
テスト中
テストツールを使用する場合は、必ず複数回実行してください。ネットワークと一時的なサーバーのスパイクは、間違った経路を簡単に導く可能性があるため、これらを平均化する必要があります。
ホスティング
共有ホスティングアカウントを使用している場合は、クラウドまたはVPSタイプのサービスに移行することを検討してください。これにより、パフォーマンスの問題をより詳しく把握できます。キャッシュ技術(CDNまたはCloudflareタイプのサービス)を使用しない限り、サーバーの十分な制御が不足しているため、大量共有ホスティングシステムのパフォーマンスの問題を修正することは非常に困難です。