ホームページ >バックエンド開発 >PHPチュートリアル >サーバーは 30 日間稼働しており、一部のリクエストの速度が低下しています。解決してください。
Alibaba Cloud に展開されたサーバー、デュアルコア、4G メモリ。 centos6.4、apache、php5.3、mysql、Yii フレームワーク。 1日のPVは3万以上あり、負荷は高くありません。
30 日間実行した後、ここ 2 日間でリクエストに時間がかかり、1 ~ 10 秒ほどかかることがあります。
MYSQL プロファイルを通じて、クエリを実行する SQL ステートメントを 0.03 秒以上記録したところ、更新、テーブルのクローズ、終了、クエリの終了の 1 つまたは 2 つで、0.0 秒から数秒の範囲で時間がかかることがわかりました。これらのステートメントは比較的単純な update、insert、select ステートメントです。
実行に時間がかかり、SQL 低速クエリ レコードを持たないリクエストもいくつかあります。
同じリクエストでも、遅い場合もあれば速い場合もあります。 。 top コマンドで監視すると、CPU は基本的に 10% 以上、メモリは 30%、CPU wa は通常 30% 未満、場合によっては 40% 以上に達します。
原因を究明するのを手伝ってください。 。
データベース設計の問題とインデックス設計の問題のような気がします。しかし、mysql に遅いクエリがないことは明らかではありません。
apache ログ、mysql ログなどのさまざまなログをチェックして、異常がないか確認します。
Alibaba Cloud の IO ボトルネック問題は、もはや 1 日や 2 日ではありません...
データベース設計の問題とインデックス設計の問題のような気がします。しかし、mysql に遅いクエリがないことは明らかではありません。
データベース設計の問題であれば、いくつかの単純なステートメントは問題になりません。 。 Insert、主キーの更新、主キーの選択などのステートメントには、1 秒以上かかる場合があります
Alibaba Cloud の IO ボトルネックの問題は、もう 1 日や 2 日ではなくなりました...
感じます〜
などのさまざまなログを確認してください: apache ログ、mysql ログ、異常がないか確認します。
ログを読みましたが、何も異常はありませんでした。 。
なんというか、現時点では国内のクラウドサーバーはあまり信頼できないと感じていますが、これまでいくつかのクラウドサーバーを使用していましたが、IOの問題に遭遇したことがないのが主な理由です。接続できないか、マシンが停止していることを示します。
データ量が多いと当然クエリ速度は遅くなります。 。 。
これは、同時実行の量、現在のネットワークの状態、データベースの現在の負荷に関係しているとおっしゃいました。
データベースのロックは書き込み速度に影響を与えることがあります。特に多数の MYISAM テーブルを使用する場合、読み取りと書き込みを同時に行うテーブルにとって、テーブル レベルのロックは致命的です。したがって、特定のテーブルがユーザーに対して書き込み操作を行わないことが 100% 確信できない限り、innodb を使用するようにしてください。
その結果、Alibaba Cloud の IO 問題が発生し、不安定性が生じます。 。 。 Alibaba Cloud は不正行為をしています~解決策はまだありません。Alibaba Cloud がアップグレードされるまで待つ必要があります