More Related Content
Similar to キャパシティ プランニング (20)
キャパシティ プランニング
- 1. キャパシティ
プランニング
2012/12/14
社内勉強会
外道父@GedowFather
Copyright © DRECOM Co., Ltd All Rights Reserved. 1
- 2. い ジ サ な
見会冗 い ャ ー に
て社談
かのは ん ブ バ ?
ら業 だ ジ な
言績 よ ャ ん
えを ? ブ て
!
使
え
ば
Copyright © DRECOM Co., Ltd All Rights Reserved. 2
- 3. 自己紹介
Copyright © DRECOM Co., Ltd All Rights Reserved. 3
- 4. 自己紹介
■私は
外道父@GedowFather
■所属
ドリコム
■職種
インフラエンジニア
■ブログ
http://blog.father.gedow.net/
Copyright © DRECOM Co., Ltd All Rights Reserved.
4
- 5. 概 要
Copyright © DRECOM Co., Ltd All Rights Reserved. 5
- 6. 目次
1. 考え方(実演混)
2. 具体的計画例
Copyright © DRECOM Co., Ltd All Rights Reserved.
6
- 7. 判断材料
[CPU]
限界利用率(スレッド数×100%)
合計利用率
[Memory]
容量
[Disk]
IOPS
iowait
容量
[Network]
Input/Output 各転送量(規格による)
Copyright © DRECOM Co., Ltd All Rights Reserved.
7
- 8. お知らせ
気になったら
その場で質問してね
最後でもいいよ
Copyright © DRECOM Co., Ltd All Rights Reserved.
8
- 9. CPU
Copyright © DRECOM Co., Ltd All Rights Reserved. 9
- 10. CPU – 限界利用率
CPUスレッド数を確認する
$ grep ^processor /proc/cpuinfo | wc -l
16
$ top -d1 # 表示後に 1 を押す
$ top -d1
top - 17:26:58 up 96 days, 0 min, 1 user, load average: 0.39, 0.44, 0.37
Tasks: 292 total, 2 running, 288 sleeping, 0 stopped, 2 zombie
Cpu0 : 41.4%us, 3.0%sy, 0.0%ni, 54.5%id, 0.0%wa, 0.0%hi, 1.0%si, 0.0%st
Cpu1 : 8.7%us, 0.0%sy, 0.0%ni, 91.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 1.0%us, 1.0%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 1.0%us, 1.0%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu4 : 2.0%us, 0.0%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu5 : 0.0%us, 1.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu6 : 35.9%us, 0.0%sy, 0.0%ni, 64.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu7 : 1.0%us, 1.0%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu8 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu9 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu10 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu11 : 26.2%us, 1.0%sy, 0.0%ni, 72.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu12 : 1.0%us, 1.0%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
限界利用率
Cpu13 : 33.3%us, 1.0%sy, 0.0%ni, 65.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu14 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu15 : 1.0%us, 1.9%sy, 0.0%ni, 97.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16470896k total, 15886704k used, 584192k free, 523192k buffers
= 16×100%
Swap: 3903480k total, 126552k used, 3776928k free, 1539616k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3901 www-data 20 0 541m 375m 4960 S 61 2.3 175:41.70 ruby
= 1600%
3923 www-data 20 0 549m 383m 4960 S 39 2.4 168:13.08 ruby
Copyright © DRECOM Co., Ltd All Rights Reserved.
10
- 11. CPU – 最大利用率
グラフを確認する
ピーク時の数値が 272 なので
272 / 1600 % が1台当りでの
利用状況となる
Copyright © DRECOM Co., Ltd All Rights Reserved.
11
- 12. CPU – 最大利用率
100%換算したグラフも用意
17 / 100 % とわかりやすい
が、CPUスレッド数を意識しづらい
Copyright © DRECOM Co., Ltd All Rights Reserved.
12
- 13. CPU – サーバ見積
利用率が限界の半分に到達したら次を増やす
17 / 100 % ならあと3倍さばける
逆に考えると
利用率が限界の半分になるまで台数を減らせる
17 / 100 % なら台数を 1/3 にできる
全台に均一な負荷の場合に限る
リクエスト数の増減傾向から判断する
Copyright © DRECOM Co., Ltd All Rights Reserved.
13
- 14. CPU – サービス必要量
WEB/APサーバ
通常、均等に分散されるので
1台当り 272 / 1600 % で20台ある場合
272% × 20台 = 5440%
IDC移行の際、5440% / 100% × 2 = 109 threads 必要
あとは新サーバのスレッド数で割れば必要な台数になる
DB/KVSサーバ
CLUSTER(MASTER+SLAVE)ごとに負荷が異なるため、
役割で分けて計算する
User Cluster などそれぞれの
MASTER合計
SLAVE合計
Copyright © DRECOM Co., Ltd All Rights Reserved.
14
- 15. CPU – コア/スレッド当りの性能差
型番がわかる場合
性能チャート
http://www.cpubenchmark.net/singleThread.html
世代の性能差
1~2世代で5~10%の差がある
ターボブースト
有効な状態だと単コアが通常の110%程の性能になる
同じ処理でもグラフの表示上は91%になる
普通は無効
型番が不明の場合
姫野ベンチマーク
http://accc.riken.jp/2145.htm
Copyright © DRECOM Co., Ltd All Rights Reserved.
15
- 16. Memory
Copyright © DRECOM Co., Ltd All Rights Reserved. 16
- 17. Memory – アプリの必要容量(1)
WEB/AP
アプリ必要容量
ps u -C ruby の RSS列(KB) 合計
1プロセス 250~500MB
300MB × 30worker = 9GB
Memory 16GB のプランなら余裕
worker数はCPU thread数の倍までを目安
多すぎは性能劣化
少なすぎは性能余剰と同時接続エラーを生む
Copyright © DRECOM Co., Ltd All Rights Reserved.
17
- 18. Memory – アプリの必要容量(2)
DB(MySQL)
全ては my.cnf
my.cnf に計算式が書いてある
mysqltuner や mymemcheck コマンドが便利
画面で説明
Copyright © DRECOM Co., Ltd All Rights Reserved.
18
- 19. Memory – OSの必要容量
OS必要容量
/proc/meminfo の
現在使用中 = MemTotal – (MemFree + Inactive)
OS必要量 = 現在使用中 – Ruby使用量
OSには500MB~1GBあれば十分だが確認すること
Copyright © DRECOM Co., Ltd All Rights Reserved.
19
- 20. Memory – Out of Memory
SWAP
まずは記憶デバイスをメモリに見立てた
SWAP領域が食いつぶされていきます
この時点で処理が遅くなってサービスに影響が
出ます
クラウドでは無い場合もある
OOM Killer
OSシステムに影響のないプロセスから殺す
プロセス数が少なくて大容量使ってるものから
サービス用のプロセスやSSHがよく殺られる
Copyright © DRECOM Co., Ltd All Rights Reserved.
20
- 21. Disk
Copyright © DRECOM Co., Ltd All Rights Reserved. 21
- 22. IOPSの調整
SAS 15,000rpm × 6 RAID10 = 600 / 1,200 IOPS まで
Fusion-io ioDrive = 20,000 / 200,000 IOPS までを目安
拡張時は、MAXがこの値に到達する2週間前
には次のサーバ準備に入る
縮退時は、クラスタ統合の合計値が、この目
安値を超えないようにする
Copyright © DRECOM Co., Ltd All Rights Reserved.
22
- 23. iowaitの調整
iowait の最大理論値はCPUスレッド数×100%
1秒間に100%は、1スレッドが丸々I/O待ちで動けていない状態
16スレッドで100%だと平均して6% = 60ms 待ちではなく、た
いていどこかに集中してるので 500ms 待ちとかが発生している
スレッド数に関わらず、iowait 20% で警告、40%で危険が目安
拡張時/縮退時どちらの場合も、問題値の場合は
ソフトウェアによるI/O量を減らすか
メモリ/Diskの増強を行わないと再発する可能性が高い
Copyright © DRECOM Co., Ltd All Rights Reserved.
23
- 24. Disk容量の調整
性能ではどうにもできない現実
いらないデータを削除してその場逃れしてるグラフがこちら
拡張
同サーバ数で容量を拡大したものに移し替える
台数を増やして均等分散する
IOPSが低いデータの場合、垂直分割してHDDに移す
縮退
統合後の合計容量が、数ヶ月後に足りなくならないように
Copyright © DRECOM Co., Ltd All Rights Reserved.
24
- 25. Network
Copyright © DRECOM Co., Ltd All Rights Reserved. 25
- 27. KnowHow
Copyright © DRECOM Co., Ltd All Rights Reserved. 27
- 28. KnowHow(1)
突発系
バックアップ/バッチ処理
基本、サービスには影響ないので、処理時間の
増減がポイントとなる
スペックが変わる時にCPUやDiskI/Oが弱く
なって極端に遅くなるのだけは注意
Copyright © DRECOM Co., Ltd All Rights Reserved.
28
- 29. KnowHow(2)
LoadAverage
ほとんど見ない
CPUスレッド数の倍までなら大丈夫
NFS固まって、CRONで走らせたプロセスが数
百個溜まったのに気づけるとか
Copyright © DRECOM Co., Ltd All Rights Reserved.
29
- 30. KnowHow(3)
リクエスト数と負荷
負荷はリクエスト数に比例する
比例しなかったり、あるタイミングで異常値にな
る場合は、取り除くべき・改善すべき、処理・ボ
トルネックがある
Copyright © DRECOM Co., Ltd All Rights Reserved.
30
- 31. 具体例
Copyright © DRECOM Co., Ltd All Rights Reserved. 31
- 32. 具体例を見てみる
実際の削減計画で
作成した資料紹介
サービスのスレッド数合計
ピークタイムの合計CPU利用率
BEFORE/AFTERの台数と費用
など
Copyright © DRECOM Co., Ltd All Rights Reserved.
32
- 33. よ 何 売 削
任お売 か 倍 上 減
せま上 っ に に し
たえの た も し た
ぜら方 な な た 通
!には ! る ら 信
ぞ 費
、 は
fin
Copyright © DRECOM Co., Ltd All Rights Reserved. 33