私は現在、1.2ghz 1gb RAMボードに接続された2.4ghzおよび5ghz msataカードを搭載したLinuxシステム(linaro)を使用しています。
ボードにはWebアプリもあります(ルーターのように接続してサーバーとして使用できます)。
私の質問は次のとおりです。
Webページの読み込みに予想より時間がかかります。 (約4秒)
Webの最適化に時間を費やして応答時間を約2秒に短縮しましたが、Webアプリケーションの場合はまだ非常に遅いです。 Linuxシステムで障害点を見つけるための最良の方法は何ですか?私のシステムを監視し、ワイヤレスネットワーク(帯域幅)、処理、mysqlデータベース、PHP、メモリに問題があるかどうかを確認したいと思います。答えを見つけるための最良の方法は何ですか?
存在するすべての問題を修正して最適化できますが、まずボトルネックを見つける必要があります。
ベストアンサー1
Linuxシステムの問題をデバッグする場合は、次のツールを使用してリアルタイムで高レベルの概要を取得できます。
htop
CPUとメモリ使用量の概要を見るiotop
一般 I/O スループットの表示 (root で実行する必要がある - "sudo
")nethogs
ネットワーク I/O の詳細を表示します (ルートでもあります)。
他のコマンドも便利ですが、リアルタイムではありません。
netstat
(私は好むsudo netstat -tunap
)UDPおよびTCP接続との接続状態の表示ls -l /proc/123/fd
プロセス#123に対して開かれたファイル記述子を表示します(fdはすべてのタイプのI / Oに使用されます)
mysqlに関しても頻繁に真空実行を考慮し、どのインデックスをどこで使用しているかを分析する必要があります。また、JOIN
sまたは後続のSELECT
sが簡単にボトルネックを引き起こす可能性があることに注意する必要があります。
上記のツールセットは非常に低いレベルであることを追加する必要があります。 Webアプリケーションを分析/最適化するとき、私は通常、オペレーティングシステムとは無関係の高度なツールを使用することを好みます。ログファイルは便利なので、タイムスタンプを記録するために使用することをお勧めしますprint
。これにより、関数のどの部分を実行するのに時間がかかるかを確認できます。通常、I/O 操作が最も遅いです。
私も本当に使用することをお勧めしますwebtest.org、ブラウザからのすべての着信HTTPリクエストの素晴らしい滝チャートを提供します。