0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

適切なLoadAverage値を調査した件

Posted at

はじめに

保守担当になっているレガシーサーバで、
LoadAverage(ロードアベレージ)が20~30近く示していたので、上がりすぎじゃない?
どうなっているの?調べるか。
いやそもそも適切なLoadAverage値ってどのくらいなの?みたいな疑問があったので調べてみました。

内容

下記の参考サイトを参考に、物理的なCPU数や1個の物理CPUに対するコア数、仮想CPUコア数などを見てみて、
大体の適切なLoadAverage値を出してみます。

参考
- http://tamatt.blog.fc2.com/blog-entry-3.html
- https://tech.ga-tech.co.jp/entry/2019/11/server-load-beginner#:~:text=%E3%83%AD%E3%83%BC%E3%83%89%E3%82%A2%E3%83%99%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%AE%E5%9F%BA%E6%BA%96%E5%80%A4&text=%E3%83%AD%E3%83%BC%E3%83%89%E3%82%A2%E3%83%99%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%8C%E9%81%A9%E5%88%87%E3%81%8B,%E3%81%A6%E3%81%84%E3%82%8B%E7%8A%B6%E6%85%8B%E3%81%A7%E3%81%99%E3%81%AD%E3%80%82&text=%E3%83%AD%E3%83%BC%E3%83%89%E3%82%A2%E3%83%99%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%AF%E3%80%81%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E5%85%A8%E4%BD%93,%E3%81%97%E3%81%8B%E8%A8%88%E7%AE%97%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82
- https://www.techscore.com/blog/2017/12/08/how_is_load_average_calculated/

適切なLoadAverageを調べる

下記の前提で考えると

- 物理CPU数が1個
- 1個の物理CPUに対するコア数が1個
- Hyper-Threadingの効果が20%
1個(物理的なCPU数) × 1個(1個の物理CPUに対するコア数) × 20%(Hyper-Threadingの効果)
= 1.2

この数字が適切なLoadAverage値となる。

上記をもう少し深堀していく。

物理CPU数を調べる

grep "physical id" /proc/cpuinfo | sort | uniq
physical id     : 0
physical id     : 1

この結果から、
物理CPU数が2個だとわかる。

コア数を調べる

[ec2-user@ ~]$ grep "cpu cores" /proc/cpuinfo
cpu cores       : 4
<以降も続く>

この結果から、
1個の物理CPUに対するコア数は、4個だということがわかる。

Amazon EC2 インスタンスタイプ別の物理コア数でも同様の内容でした。
https://aws.amazon.com/jp/ec2/physicalcores/

仮想CPUコア数を調べる

[ec2-user@ ~]$ grep "siblings" /proc/cpuinfo
siblings        : 8
<以降も続く>

この結果から、
1個の物理CPUに対する仮想CPUコア数は、8個だということがわかる。

1個の物理CPUに対して4個のコアを持ち、Hyper-Threadingにより、
仮想CPUコア数も2倍の8個になっている。

上記情報を踏まえて

Hyper-Threadingの効果が20~30%※であることを考えて、

参考
- https://moroto1122.hatenadiary.org/entry/20100917/1284719047
- https://e-words.jp/w/%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0.html#:~:text=%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%A8%E3%81%AF%E3%80%81%E7%B1%B3,%E4%BA%8C%E3%81%A4%E3%81%AB%E8%A6%8B%E3%81%9B%E3%81%8B%E3%81%91%E3%82%8B%E6%8A%80%E8%A1%93%E3%80%82

2個(物理CPU) × 4個(物理CPU Core) × 1.2(仮想CPU Core) = 9.6

が最適なLoadAverage値らしい。

ちなみに

詳しい方にお聞きすると

LoadAverageが上がっても、サービスが継続できていれば(スループットとかレイテンシーが適切に維持されていれば)問題ないともいえる。
まずはそっち(ユーザに直接影響する指標)を監視する方が良い

とお話を聞いた。

入門監視にも書いている話題らしいので、チェックしなければ。

まとめ

下記の前提で考えると

- 物理CPU数が1個
- 1個の物理CPUに対するコア数が1個
- Hyper-Threadingの効果が20%
1個(物理的なCPU数) × 1個(1個の物理CPUに対するコア数) × 20%(Hyper-Threadingの効果)
= 1.2

が適切なLoadAverageである。
しかし、LoadAverage値が高くても、他の状況を監視しながら見ることが大切とのこと。

参考

- https://tech.ga-tech.co.jp/entry/2019/11/server-load-beginner#:~:text=%E3%83%AD%E3%83%BC%E3%83%89%E3%82%A2%E3%83%99%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%AE%E5%9F%BA%E6%BA%96%E5%80%A4&text=%E3%83%AD%E3%83%BC%E3%83%89%E3%82%A2%E3%83%99%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%8C%E9%81%A9%E5%88%87%E3%81%8B,%E3%81%A6%E3%81%84%E3%82%8B%E7%8A%B6%E6%85%8B%E3%81%A7%E3%81%99%E3%81%AD%E3%80%82&text=%E3%83%AD%E3%83%BC%E3%83%89%E3%82%A2%E3%83%99%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%AF%E3%80%81%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E5%85%A8%E4%BD%93,%E3%81%97%E3%81%8B%E8%A8%88%E7%AE%97%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82
- https://www.techscore.com/blog/2017/12/08/how_is_load_average_calculated/
- https://moroto1122.hatenadiary.org/entry/20100917/1284719047
- http://edamame-webdev-log.blogspot.com/2015/01/blog-post_2.html
- https://e-words.jp/w/%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0.html#:~:text=%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%A8%E3%81%AF%E3%80%81%E7%B1%B3,%E4%BA%8C%E3%81%A4%E3%81%AB%E8%A6%8B%E3%81%9B%E3%81%8B%E3%81%91%E3%82%8B%E6%8A%80%E8%A1%93%E3%80%82
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?