8GB RAM を搭載したサーバーがあります。問題は、サーバーの負荷が高すぎて Apache が非常に遅いのに、RAM は 800MB しか使用していないことです。どのように機能するのでしょうか? サーバー上の 1 つの Web ページに 7GB RAM または 6GB RAM を割り当てて使用できますか?
8GB のうち 800MB のメモリが使用され、サーバーの負荷が高くなるのは良くないと思います。
負荷平均: 1.66、1.73、2.12 稼働時間: 173 日、タスク 711、実行中: 2
Intel(R) Atom(TM) CPU D525 @ 1.80GHz (4 CPU)、4GB Swp、i-mscp コントロール パネルを備えた Debian サーバー。
htop によると、/usr/sbin/mysqld.... が CPU の 98% を使用しています。
私は 2 つの HDD を持っていて、Linux 用に 250 GB、/var/www/webpages 用に 2 TB を持っています。
8GB から 844MB の RAM が使用され、4GB から 308MB の Swp が使用されています。
2GB/秒のネット接続。
MySQLデータベースサイズ: 153Mb、
5 分ごとに約 5 つの cronjob が実行されます。
リソース不足のため、時々私のウェブサイトでサーバー エラーが発生しますが、他のサイトは問題なくオンラインです。
答え1
- CPU を占有しているのは MySQL であり、Apache ではありません。より多くの RAM を使用することでメリットが得られると判断された場合、そのメリットが得られます。明らかに、そうではありません。
- なぜCPU時間がそんなに消費されるのか確認する必要があります。アプリケーションのデータベースクエリを最適化できるかもしれませんが、それは保証されません。必要彼らが行っていることのせいで、そのすべての力は得られるのです。
- CPU に制約がある場合、RAM を増やしても効果はありません。いったいなぜ効果があると思うのですか?
- 実際に 4 つのコアがある場合、負荷が 2.1 であるということは、コアの半分だけが使用されていることを意味し、システムが過負荷になることはありません。
- CPU を集中的に使用するタスクがある場合、Atom のような小さなおもちゃの CPU を使用するのは無意味です。
- Apache が「遅い」場合は、MySQL を待たなければならないことが原因である可能性があります。