SlideShare une entreprise Scribd logo
1  sur  24
1
EC2のパフォーマンス Tips
2015年5月22日
アマゾン データ サービス ジャパン株式会社
ソリューションアーキテクト 松尾康博
2
Who am I ?
• 名前
– 松尾康博 ( @understeer )
• 所属
– アマゾンデータサービスジャパン株式会社
– ソリューションアーキテクト
– ビッグデータ、製造業HPCのお客様を担当
• 経歴
– 九州大学でスパコンの効率化研究
– SIerで 分散キューの開発・導入、分散処理研究
– Web系スタートアップCTO
– SIerで仮想化基盤の研究・導入・運用
– 現職
3
Agenda
• 仮想化方式
• CPUとメモリ
• ネットワーク
• インスタンスストレージ
EC2に絡むことだけを話します。
一般的なLinuxのディープな話はもっとすごい人に(ry
4
TL;DR
だいたいはここ読めばOK
• (PFC306) Performance Tuning Amazon
EC2 Instances | AWS re:Invent 2014
– http://www.slideshare.net/AmazonWebServices/pfc3
06-performance-tuning-amazon-ec2-instances-aws-
reinvent-2014
• Your Linux AMI: Optimization and
Performance (CPN302) | AWS re:Invent
2013
– http://www.slideshare.net/AmazonWebServices/your-linux-ami-
optimization-and-performance-cpn302-aws-reinvent-2013
• Recommendations for successfully
deploying Aerospike on Amazon EC2
– http://www.aerospike.com/docs/deploy_guides/aws/recom
mendations/
• Red Hat Enterprise Linux 6パフォーマンス
チューニングガイド
– https://access.redhat.com/documentation/ja-
JP/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning
_Guide/index.html
仮想化
6
EC2で使える仮想化タイプ: PV / HVM
• Linux EC2仮想化タイプ
– 準仮想化(Paravirtual, PV)
– 完全仮想化(Hardware-assisted VM, HVM)
• 昔
– 準仮想化(PV) →速い
– 完全仮想化(HVM) →遅い(I/O, メモリ)
• 今
– PV on HVMドライバ (PVHVM) で速度改善
– 2.6.36以降でマージされている
• RHEL(CentOS)6の 2.6.32にバックポート
– Intel VT-x, VT-d, EPTのアシスト
– 現行インスタンスタイプは全てHVM対応
http://wiki.xen.org/wiki/PV_on_HVM
PV on HVMドライバ http://wiki.xen.org/wiki/Xen_Linux_PV_on_HVM_drivers
EC2の仮想化タイプ https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/virtualization_types.html
7
HVMインスタンスのメリット
• 拡張命令
– AVX ( Advanced Vector eXtensions)
• SIMD拡張命令
– AES-NI (Advanced Encryption Standard Instructions Set)
– Turbo Boost
• メモリ
– Huge page利用可能 (2MB page)
• Topology
– CPUトポロジ (NUMA等)
– プロセッサ/メモリのaffinity
CPU
9
Hyper Threadingの制御
• HVMならGRUBでCPUコア数を指定可能
• /etc/grub.confで指定
– grubby(8)で実行することも可能
– http://linux.die.net/man/8/grubby
# /sbin/grubby --update-kernel=ALL --args=maxcpus=18
# /sbin/shutdown -r now
$ cat /etc/grub.conf
default=0
timeout=0
title Red Hat Enterprise Linux Server (3.10.0-123.20.1.el7.x86_64) 7.0 (Maipo)
root (hd0)
kernel /boot/vmlinuz-3.10.0-123.20.1.el7.x86_64 ro root=UUID=668dbd02-c201-44bc-be76-
f606fc9ab8db console=hvc0 LANG=en_US.UTF-8 maxcpus=18
initrd /boot/initramfs-3.10.0-123.20.1.el7.x86_64.img
10
C4.8xlarge ( 9core x 2) の結果
デフォルトのRHEL7.1 Maxcpus=18 を指定したRHEL7.1
11
NUMA
• *.8xlargeで対応
• numactlが利用可能。
• numa=off で無効にも
できる
• Page interleaveと
NUMAのどちらを使う
か?などはアプリケー
ションに依存
• Taskset, cpuset,
cgroupsなどで制御
C4.8xlarge(HT off)で hwloc-lsの結果
12
Turbo Boost
• C3, i2, R2
– 全コアが同じようにブースト(ベース全体がクロックアップ)
• C4, D2 (Haswell Xeon)
– コア単位でステート制御が可能(P-State, C-State)
– カーネル 3.9以降で対応
– 並列拡張命令AVX2をヘビーに使うとコア側の周波数を落とす
ので注意
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/processor_state_control.html
ネットワーク
14
拡張ネットワーキング (Enhanced Networking)
• 拡張ネットワーキング
– パケット毎秒(PPS)が非常に大きく、
ネットワークレイテンシが低くな
るオプション。
– SR-IOV( Single Root IO
Virtualization)を使用
• 対応インスタンスタイプ
– C3, C4, R3, I2, D2
• 適応条件
– VPC内でHVM AMIで起動
– SR-IOVドライバ(ixgbevf 2.14.2
以降)が必要
– カーネル2.6.32以降
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enhanced-networking.html
物理NIC
VMM
Host OS
NIC
Driver
PV
Driver
PV
Driver
H/W
EC2 (Guset OS)
物理NIC
VMM
Host OS
NIC
Driver(PF)
VF
Driver
H/W
EC2 (Guset OS)
VFPF
paravirtual
SR-IOV
VF
Driver
EC2 (Guset OS)
VF
VF: Virtual Function
PF: Physical Function
15
続 : 拡張ネットワーキング (Enhanced Networking)
• Ixgbevfドライバ
– Intel 10 Giga Bit Ethernet Virtual Function
• http://sourceforge.net/projects/e1000/files/ixgbevf%20stable/
– VFはPCIデバイスとして見える。
– VMMやDom0を介さずに NICのVFを操作するためオーバーヘッド
が少ない
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enhanced-networking.html
物理NIC
VMM
Host OS
NIC
Driver(PF)
VF
Driver
H/W
EC2 (Guset OS)
VFPF
SR-IOV
VF
Driver
EC2 (Guset OS)
VF
VF: Virtual Function
PF: Physical Function
16
Placement Groups
• インスタンス間通信を最適化
– 広帯域 (最大10Gbps Full Bisection)
– 低レイテンシ
– 高PPS (packets per seconds)
• 用途
– HPC、Hadoop、MPP、DWHなど、ノード間通信
が大量に発生するクラスタに最適
– 拡張ネットワーキング(SR-IOV)との併用を推奨
• 制限
– 単一アベイラビリティゾーンに閉じる
– 利用可能なインスタンスタイプに制限あり。
Full bisection bandwidth
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/placement-groups.html
17
もっとPPS(Packet per second)を増やすには
• 受信パケット処理がネックに
– パケット受信処理は受信キュー(RX)が一つ
– 割り込みが1コアに集中し、他のコアは遊んで
いる状態が発生
• 対策:
– 1インスタンスに複数のNIC (ENI)をつける
– 複数コアに受信パケットを振り分ける
• Receive Side Scaling (RSS)
• Receive Packet Steering (RPS)
• Receive Flow Steering(RFS)
https://access.redhat.com/documentation/ja-
JP/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/main-network.html
eth0
CPU0
core0 core1 core0 core1
packets
rx
CPU1
18
続: もっとPPS(Packet per second)を増やすには
• RSS (Receive Side Scaling)
– H/W が持つ複数のキューを使う
– SR-IOVで可能(ENI1つで最大2個)
• RPS ( Receive Packet Steering)
– RSSのソフトウェア実装
– PVドライバでも設定可能
– RSSとの併用可能
• RFS (Receive Flow Steering)
– RPSの拡張
– CPUキャッシュの効率化が可能
– Numactl, taskset等も意識する
eth0
core0 core1 core0 core1
packets
rx0 rx1
Hash &
dispatch
eth0
core0 core1 core0 core1
packets
rx0 Hash &
dispatch
RSS
RPS
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/network-rss.html
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/network-rps.html
packets
rx0 rx1
Hash &
dispatch
eth1
CPU1CPU0
CPU0 CPU1
19
その他よくある TCP/IPのカーネルパラメータも忘れずに
HPCユーザが知っておきたい TCP/IPの話
http://www.slideshare.net/oraccha/hpctcpip-4609477
インスタンスストレージ
21
SSDインスタンスディスク の高速化
• 高速なSSD
– i2, r3インスタンス
• カーネル3.8以降が性能面でお薦め
– Amazon Linux 13.09以降、RHEL7, Ubuntu14.04以降
– (※理由は次ページ)
• TRIM利用可能
– i2, r3対応
– # fstrim /dev/sdX
– (※SSD EBSは TRIM非対応)
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/InstanceStorage.html#Inst
anceStoreTrimSupport
22
カーネル3.8.0前後のI/O性能の違い
• 3.8.0以前
– 全I/Oが I/Oドメインを通
る”Grant Mapping”
– TLB flushのコストが大きい
• 3.8.0以降
– Persistent Grantsパッチが
適用されている
– プール作成時に“Grant
Mapping”を一度行う
– データはGrant Poolにコ
ピーされる
– 再mappingに較べてコピー
は非常に速い
SSD
Dom0 I/Oドメイン Guest(インスタンス)
read(fd,buffer,BLOCK_SIZE)
Grant Mapping
Persistent Grants
SSD
read(fd,buffer,BLOCK_SIZE)
https://blog.xenproject.org/2012/11/23/improving-block-protocol-scalability-with-persistent-grants/
http://www.slideshare.net/xen_com_mgr/20140818-scaling-xens-aggregate-storage-performance
Dom0 I/Oドメイン Guest(インスタンス)
まとめ
24
まとめ
• Linuxカーネル
– 必要な性能と突き合わせる
• HVMを選ぶ
– SR-IOV化は必須
• CPU/メモリ
– HyperThreadingの有無を比較
– NUMAやCPU affinityにも注目
– Turbo Boostを計測して効果的に使う
• I/Oチューニング
– Linuxカーネル
– ENI
機能 カーネル
HMV 2.6.36+
SR-IOV 2.6.32+
RPS/RFS 2.6.35+
CPU State 3.9.0+
Grant
mapping
3.8.0+

Contenu connexe

Tendances

実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターンHiroyasu Suzuki
 
AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 - AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 - SORACOM, INC
 
AWSクラウドデザインパターン VPC移行編
AWSクラウドデザインパターン VPC移行編AWSクラウドデザインパターン VPC移行編
AWSクラウドデザインパターン VPC移行編Yasuhiro Araki, Ph.D
 
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズAmazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズAmazon Web Services Japan
 
Amazon Virtual Private Cloud (VPC) by Default
Amazon Virtual Private Cloud (VPC) by DefaultAmazon Virtual Private Cloud (VPC) by Default
Amazon Virtual Private Cloud (VPC) by DefaultAmazon Web Services Japan
 
いまさら聞けない Amazon EC2
いまさら聞けない Amazon EC2いまさら聞けない Amazon EC2
いまさら聞けない Amazon EC2Yasuhiro Matsuo
 
デフォルトAWS時代にインフラエンジニアはどう向き合うべきか?
デフォルトAWS時代にインフラエンジニアはどう向き合うべきか?デフォルトAWS時代にインフラエンジニアはどう向き合うべきか?
デフォルトAWS時代にインフラエンジニアはどう向き合うべきか?Yasuhiro Horiuchi
 
Morning Session - AWS Serverless Ways
Morning Session - AWS Serverless WaysMorning Session - AWS Serverless Ways
Morning Session - AWS Serverless Waysakitsukada
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例Amazon Web Services Japan
 
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例Ken Nakanishi
 
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」Yasuhiro Horiuchi
 
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:schoowebcampus
 
AWS サービスアップデートまとめ re:Invent 2017 直前編
AWS サービスアップデートまとめ re:Invent 2017 直前編AWS サービスアップデートまとめ re:Invent 2017 直前編
AWS サービスアップデートまとめ re:Invent 2017 直前編Amazon Web Services Japan
 
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcServerless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcMasahiro NAKAYAMA
 
JAWS-UG AI支部 #2 re:Invent アップデート
JAWS-UG AI支部 #2 re:Invent アップデートJAWS-UG AI支部 #2 re:Invent アップデート
JAWS-UG AI支部 #2 re:Invent アップデートYasuhiro Matsuo
 
AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -SORACOM, INC
 
20130406 awsのいろんな使い道@jawsug名古屋
20130406 awsのいろんな使い道@jawsug名古屋20130406 awsのいろんな使い道@jawsug名古屋
20130406 awsのいろんな使い道@jawsug名古屋Serverworks Co.,Ltd.
 
基礎からのEBS
基礎からのEBS基礎からのEBS
基礎からのEBS宗 大栗
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - SORACOM, INC
 

Tendances (20)

実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
 
AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 - AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 -
 
AWSクラウドデザインパターン VPC移行編
AWSクラウドデザインパターン VPC移行編AWSクラウドデザインパターン VPC移行編
AWSクラウドデザインパターン VPC移行編
 
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズAmazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
 
Amazon Virtual Private Cloud (VPC) by Default
Amazon Virtual Private Cloud (VPC) by DefaultAmazon Virtual Private Cloud (VPC) by Default
Amazon Virtual Private Cloud (VPC) by Default
 
いまさら聞けない Amazon EC2
いまさら聞けない Amazon EC2いまさら聞けない Amazon EC2
いまさら聞けない Amazon EC2
 
デフォルトAWS時代にインフラエンジニアはどう向き合うべきか?
デフォルトAWS時代にインフラエンジニアはどう向き合うべきか?デフォルトAWS時代にインフラエンジニアはどう向き合うべきか?
デフォルトAWS時代にインフラエンジニアはどう向き合うべきか?
 
Morning Session - AWS Serverless Ways
Morning Session - AWS Serverless WaysMorning Session - AWS Serverless Ways
Morning Session - AWS Serverless Ways
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
 
AWS Black Belt Online Seminar Amazon EC2
AWS Black Belt Online Seminar Amazon EC2AWS Black Belt Online Seminar Amazon EC2
AWS Black Belt Online Seminar Amazon EC2
 
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
 
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
 
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
 
AWS サービスアップデートまとめ re:Invent 2017 直前編
AWS サービスアップデートまとめ re:Invent 2017 直前編AWS サービスアップデートまとめ re:Invent 2017 直前編
AWS サービスアップデートまとめ re:Invent 2017 直前編
 
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcServerless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
 
JAWS-UG AI支部 #2 re:Invent アップデート
JAWS-UG AI支部 #2 re:Invent アップデートJAWS-UG AI支部 #2 re:Invent アップデート
JAWS-UG AI支部 #2 re:Invent アップデート
 
AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -
 
20130406 awsのいろんな使い道@jawsug名古屋
20130406 awsのいろんな使い道@jawsug名古屋20130406 awsのいろんな使い道@jawsug名古屋
20130406 awsのいろんな使い道@jawsug名古屋
 
基礎からのEBS
基礎からのEBS基礎からのEBS
基礎からのEBS
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 -
 

En vedette

Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニングii012014
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介Yasuhiro Matsuo
 
AWS初心者が自作CGIをサーバレス実装の設計をしてみる
AWS初心者が自作CGIをサーバレス実装の設計をしてみるAWS初心者が自作CGIをサーバレス実装の設計をしてみる
AWS初心者が自作CGIをサーバレス実装の設計をしてみる祐樹 夏目
 
恋するクラウド ~ AWSへ個人ブログをお引っ越し ~
恋するクラウド ~ AWSへ個人ブログをお引っ越し ~恋するクラウド ~ AWSへ個人ブログをお引っ越し ~
恋するクラウド ~ AWSへ個人ブログをお引っ越し ~Takehiko YOSHIDA
 
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguroとある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguroIKEDA Kiyoshi
 
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
JAWS FESTA 東海道 2016   ブロックチェーンとは何なのか?JAWS FESTA 東海道 2016   ブロックチェーンとは何なのか?
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?shigeyuki azuchi
 
Windows server 2012_r2_networking_white_paper material
Windows server 2012_r2_networking_white_paper materialWindows server 2012_r2_networking_white_paper material
Windows server 2012_r2_networking_white_paper materialJesus Garcia Guevara
 
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIJenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIshigeyuki azuchi
 
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~Ryousei Takano
 
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud HPC編
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud HPC編[AWSマイスターシリーズ] Amazon Elastic Compute Cloud HPC編
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud HPC編Amazon Web Services Japan
 
2016 nov22 gdlc02 ntt communications
2016 nov22 gdlc02 ntt communications2016 nov22 gdlc02 ntt communications
2016 nov22 gdlc02 ntt communicationsTomokazu Kanazawa
 
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例leverages_event
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたTakefumi MIYOSHI
 
サービス改善はログデータ分析から
サービス改善はログデータ分析からサービス改善はログデータ分析から
サービス改善はログデータ分析からKenta Suzuki
 

En vedette (20)

Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニング
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介
 
AWS初心者が自作CGIをサーバレス実装の設計をしてみる
AWS初心者が自作CGIをサーバレス実装の設計をしてみるAWS初心者が自作CGIをサーバレス実装の設計をしてみる
AWS初心者が自作CGIをサーバレス実装の設計をしてみる
 
ふくあず 秋祭りLT
ふくあず 秋祭りLTふくあず 秋祭りLT
ふくあず 秋祭りLT
 
恋するクラウド ~ AWSへ個人ブログをお引っ越し ~
恋するクラウド ~ AWSへ個人ブログをお引っ越し ~恋するクラウド ~ AWSへ個人ブログをお引っ越し ~
恋するクラウド ~ AWSへ個人ブログをお引っ越し ~
 
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguroとある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
 
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
JAWS FESTA 東海道 2016   ブロックチェーンとは何なのか?JAWS FESTA 東海道 2016   ブロックチェーンとは何なのか?
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
 
Windows server 2012_r2_networking_white_paper material
Windows server 2012_r2_networking_white_paper materialWindows server 2012_r2_networking_white_paper material
Windows server 2012_r2_networking_white_paper material
 
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIJenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
 
Azure周りの振り返り
Azure周りの振り返りAzure周りの振り返り
Azure周りの振り返り
 
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
 
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud HPC編
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud HPC編[AWSマイスターシリーズ] Amazon Elastic Compute Cloud HPC編
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud HPC編
 
2016 nov22 gdlc02 ntt communications
2016 nov22 gdlc02 ntt communications2016 nov22 gdlc02 ntt communications
2016 nov22 gdlc02 ntt communications
 
2016Nov22 Sc16 nvidia
2016Nov22 Sc16 nvidia2016Nov22 Sc16 nvidia
2016Nov22 Sc16 nvidia
 
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
 
2016 sep13 gdlc01 pfn
2016 sep13 gdlc01 pfn2016 sep13 gdlc01 pfn
2016 sep13 gdlc01 pfn
 
$30で始めるFPGA
$30で始めるFPGA$30で始めるFPGA
$30で始めるFPGA
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
Gpu vs fpga
Gpu vs fpgaGpu vs fpga
Gpu vs fpga
 
サービス改善はログデータ分析から
サービス改善はログデータ分析からサービス改善はログデータ分析から
サービス改善はログデータ分析から
 

Similaire à JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug

Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
AWS Black Belt Online Seminar 2017 Amazon EC2
AWS Black Belt Online Seminar 2017 Amazon EC2AWS Black Belt Online Seminar 2017 Amazon EC2
AWS Black Belt Online Seminar 2017 Amazon EC2Amazon Web Services Japan
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」Nobuyuki Tamaoki
 
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...Insight Technology, Inc.
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコシステムズ合同会社
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesTaiki
 
クラウド概略(ノート)
クラウド概略(ノート)クラウド概略(ノート)
クラウド概略(ノート)真乙 九龍
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理Motonori Shindo
 
Cld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプCld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプTech Summit 2016
 
2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdfNaotaka Saito
 
20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデートKazumasa Ikuta
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-Takashi Sogabe
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)Daisuke Ikeda
 
2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archiDaisuke Nagao
 
Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版Takao Setaka
 
Jslug2 nagoya-shibata
Jslug2 nagoya-shibataJslug2 nagoya-shibata
Jslug2 nagoya-shibataNaoki Shibata
 
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS Virtualized Infrastructure Operators group ARCHIVES
 
高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)Naoto MATSUMOTO
 
今さら聞けないMicrosoft azure仮想マシン入門
今さら聞けないMicrosoft azure仮想マシン入門今さら聞けないMicrosoft azure仮想マシン入門
今さら聞けないMicrosoft azure仮想マシン入門Trainocate Japan, Ltd.
 

Similaire à JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug (20)

Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
AWS Black Belt Online Seminar 2017 Amazon EC2
AWS Black Belt Online Seminar 2017 Amazon EC2AWS Black Belt Online Seminar 2017 Amazon EC2
AWS Black Belt Online Seminar 2017 Amazon EC2
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
 
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and Microservices
 
クラウド概略(ノート)
クラウド概略(ノート)クラウド概略(ノート)
クラウド概略(ノート)
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
 
Cld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプCld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプ
 
2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf
 
20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート
 
IOS/IOS-XE 運用管理機能アップデート
IOS/IOS-XE 運用管理機能アップデートIOS/IOS-XE 運用管理機能アップデート
IOS/IOS-XE 運用管理機能アップデート
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
 
2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi
 
Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版
 
Jslug2 nagoya-shibata
Jslug2 nagoya-shibataJslug2 nagoya-shibata
Jslug2 nagoya-shibata
 
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
 
高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)
 
今さら聞けないMicrosoft azure仮想マシン入門
今さら聞けないMicrosoft azure仮想マシン入門今さら聞けないMicrosoft azure仮想マシン入門
今さら聞けないMicrosoft azure仮想マシン入門
 

Plus de Yasuhiro Matsuo

2018512 AWS上での機械学習システムの構築とSageMaker
2018512 AWS上での機械学習システムの構築とSageMaker2018512 AWS上での機械学習システムの構築とSageMaker
2018512 AWS上での機械学習システムの構築とSageMakerYasuhiro Matsuo
 
20180512 AWS SageMakerを初めて使うガイド
20180512 AWS SageMakerを初めて使うガイド20180512 AWS SageMakerを初めて使うガイド
20180512 AWS SageMakerを初めて使うガイドYasuhiro Matsuo
 
AWSでの機械学習におけるデータレイク・GPU実行環境
AWSでの機械学習におけるデータレイク・GPU実行環境AWSでの機械学習におけるデータレイク・GPU実行環境
AWSでの機械学習におけるデータレイク・GPU実行環境Yasuhiro Matsuo
 
20180309 DLIもくもく会 Deep Learning on AWS
20180309 DLIもくもく会 Deep Learning on AWS20180309 DLIもくもく会 Deep Learning on AWS
20180309 DLIもくもく会 Deep Learning on AWSYasuhiro Matsuo
 
研究用途でのAWSの利用事例と機械学習について
研究用途でのAWSの利用事例と機械学習について研究用途でのAWSの利用事例と機械学習について
研究用途でのAWSの利用事例と機械学習についてYasuhiro Matsuo
 
P2インスタンスUpdate
P2インスタンスUpdateP2インスタンスUpdate
P2インスタンスUpdateYasuhiro Matsuo
 
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpugAmazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpugYasuhiro Matsuo
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python Yasuhiro Matsuo
 
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャYasuhiro Matsuo
 
MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択Yasuhiro Matsuo
 
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualMongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualYasuhiro Matsuo
 

Plus de Yasuhiro Matsuo (11)

2018512 AWS上での機械学習システムの構築とSageMaker
2018512 AWS上での機械学習システムの構築とSageMaker2018512 AWS上での機械学習システムの構築とSageMaker
2018512 AWS上での機械学習システムの構築とSageMaker
 
20180512 AWS SageMakerを初めて使うガイド
20180512 AWS SageMakerを初めて使うガイド20180512 AWS SageMakerを初めて使うガイド
20180512 AWS SageMakerを初めて使うガイド
 
AWSでの機械学習におけるデータレイク・GPU実行環境
AWSでの機械学習におけるデータレイク・GPU実行環境AWSでの機械学習におけるデータレイク・GPU実行環境
AWSでの機械学習におけるデータレイク・GPU実行環境
 
20180309 DLIもくもく会 Deep Learning on AWS
20180309 DLIもくもく会 Deep Learning on AWS20180309 DLIもくもく会 Deep Learning on AWS
20180309 DLIもくもく会 Deep Learning on AWS
 
研究用途でのAWSの利用事例と機械学習について
研究用途でのAWSの利用事例と機械学習について研究用途でのAWSの利用事例と機械学習について
研究用途でのAWSの利用事例と機械学習について
 
P2インスタンスUpdate
P2インスタンスUpdateP2インスタンスUpdate
P2インスタンスUpdate
 
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpugAmazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python
 
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
 
MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択
 
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualMongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
 

JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug

  • 1. 1 EC2のパフォーマンス Tips 2015年5月22日 アマゾン データ サービス ジャパン株式会社 ソリューションアーキテクト 松尾康博
  • 2. 2 Who am I ? • 名前 – 松尾康博 ( @understeer ) • 所属 – アマゾンデータサービスジャパン株式会社 – ソリューションアーキテクト – ビッグデータ、製造業HPCのお客様を担当 • 経歴 – 九州大学でスパコンの効率化研究 – SIerで 分散キューの開発・導入、分散処理研究 – Web系スタートアップCTO – SIerで仮想化基盤の研究・導入・運用 – 現職
  • 3. 3 Agenda • 仮想化方式 • CPUとメモリ • ネットワーク • インスタンスストレージ EC2に絡むことだけを話します。 一般的なLinuxのディープな話はもっとすごい人に(ry
  • 4. 4 TL;DR だいたいはここ読めばOK • (PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014 – http://www.slideshare.net/AmazonWebServices/pfc3 06-performance-tuning-amazon-ec2-instances-aws- reinvent-2014 • Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013 – http://www.slideshare.net/AmazonWebServices/your-linux-ami- optimization-and-performance-cpn302-aws-reinvent-2013 • Recommendations for successfully deploying Aerospike on Amazon EC2 – http://www.aerospike.com/docs/deploy_guides/aws/recom mendations/ • Red Hat Enterprise Linux 6パフォーマンス チューニングガイド – https://access.redhat.com/documentation/ja- JP/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning _Guide/index.html
  • 6. 6 EC2で使える仮想化タイプ: PV / HVM • Linux EC2仮想化タイプ – 準仮想化(Paravirtual, PV) – 完全仮想化(Hardware-assisted VM, HVM) • 昔 – 準仮想化(PV) →速い – 完全仮想化(HVM) →遅い(I/O, メモリ) • 今 – PV on HVMドライバ (PVHVM) で速度改善 – 2.6.36以降でマージされている • RHEL(CentOS)6の 2.6.32にバックポート – Intel VT-x, VT-d, EPTのアシスト – 現行インスタンスタイプは全てHVM対応 http://wiki.xen.org/wiki/PV_on_HVM PV on HVMドライバ http://wiki.xen.org/wiki/Xen_Linux_PV_on_HVM_drivers EC2の仮想化タイプ https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/virtualization_types.html
  • 7. 7 HVMインスタンスのメリット • 拡張命令 – AVX ( Advanced Vector eXtensions) • SIMD拡張命令 – AES-NI (Advanced Encryption Standard Instructions Set) – Turbo Boost • メモリ – Huge page利用可能 (2MB page) • Topology – CPUトポロジ (NUMA等) – プロセッサ/メモリのaffinity
  • 8. CPU
  • 9. 9 Hyper Threadingの制御 • HVMならGRUBでCPUコア数を指定可能 • /etc/grub.confで指定 – grubby(8)で実行することも可能 – http://linux.die.net/man/8/grubby # /sbin/grubby --update-kernel=ALL --args=maxcpus=18 # /sbin/shutdown -r now $ cat /etc/grub.conf default=0 timeout=0 title Red Hat Enterprise Linux Server (3.10.0-123.20.1.el7.x86_64) 7.0 (Maipo) root (hd0) kernel /boot/vmlinuz-3.10.0-123.20.1.el7.x86_64 ro root=UUID=668dbd02-c201-44bc-be76- f606fc9ab8db console=hvc0 LANG=en_US.UTF-8 maxcpus=18 initrd /boot/initramfs-3.10.0-123.20.1.el7.x86_64.img
  • 10. 10 C4.8xlarge ( 9core x 2) の結果 デフォルトのRHEL7.1 Maxcpus=18 を指定したRHEL7.1
  • 11. 11 NUMA • *.8xlargeで対応 • numactlが利用可能。 • numa=off で無効にも できる • Page interleaveと NUMAのどちらを使う か?などはアプリケー ションに依存 • Taskset, cpuset, cgroupsなどで制御 C4.8xlarge(HT off)で hwloc-lsの結果
  • 12. 12 Turbo Boost • C3, i2, R2 – 全コアが同じようにブースト(ベース全体がクロックアップ) • C4, D2 (Haswell Xeon) – コア単位でステート制御が可能(P-State, C-State) – カーネル 3.9以降で対応 – 並列拡張命令AVX2をヘビーに使うとコア側の周波数を落とす ので注意 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/processor_state_control.html
  • 14. 14 拡張ネットワーキング (Enhanced Networking) • 拡張ネットワーキング – パケット毎秒(PPS)が非常に大きく、 ネットワークレイテンシが低くな るオプション。 – SR-IOV( Single Root IO Virtualization)を使用 • 対応インスタンスタイプ – C3, C4, R3, I2, D2 • 適応条件 – VPC内でHVM AMIで起動 – SR-IOVドライバ(ixgbevf 2.14.2 以降)が必要 – カーネル2.6.32以降 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enhanced-networking.html 物理NIC VMM Host OS NIC Driver PV Driver PV Driver H/W EC2 (Guset OS) 物理NIC VMM Host OS NIC Driver(PF) VF Driver H/W EC2 (Guset OS) VFPF paravirtual SR-IOV VF Driver EC2 (Guset OS) VF VF: Virtual Function PF: Physical Function
  • 15. 15 続 : 拡張ネットワーキング (Enhanced Networking) • Ixgbevfドライバ – Intel 10 Giga Bit Ethernet Virtual Function • http://sourceforge.net/projects/e1000/files/ixgbevf%20stable/ – VFはPCIデバイスとして見える。 – VMMやDom0を介さずに NICのVFを操作するためオーバーヘッド が少ない http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enhanced-networking.html 物理NIC VMM Host OS NIC Driver(PF) VF Driver H/W EC2 (Guset OS) VFPF SR-IOV VF Driver EC2 (Guset OS) VF VF: Virtual Function PF: Physical Function
  • 16. 16 Placement Groups • インスタンス間通信を最適化 – 広帯域 (最大10Gbps Full Bisection) – 低レイテンシ – 高PPS (packets per seconds) • 用途 – HPC、Hadoop、MPP、DWHなど、ノード間通信 が大量に発生するクラスタに最適 – 拡張ネットワーキング(SR-IOV)との併用を推奨 • 制限 – 単一アベイラビリティゾーンに閉じる – 利用可能なインスタンスタイプに制限あり。 Full bisection bandwidth http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/placement-groups.html
  • 17. 17 もっとPPS(Packet per second)を増やすには • 受信パケット処理がネックに – パケット受信処理は受信キュー(RX)が一つ – 割り込みが1コアに集中し、他のコアは遊んで いる状態が発生 • 対策: – 1インスタンスに複数のNIC (ENI)をつける – 複数コアに受信パケットを振り分ける • Receive Side Scaling (RSS) • Receive Packet Steering (RPS) • Receive Flow Steering(RFS) https://access.redhat.com/documentation/ja- JP/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/main-network.html eth0 CPU0 core0 core1 core0 core1 packets rx CPU1
  • 18. 18 続: もっとPPS(Packet per second)を増やすには • RSS (Receive Side Scaling) – H/W が持つ複数のキューを使う – SR-IOVで可能(ENI1つで最大2個) • RPS ( Receive Packet Steering) – RSSのソフトウェア実装 – PVドライバでも設定可能 – RSSとの併用可能 • RFS (Receive Flow Steering) – RPSの拡張 – CPUキャッシュの効率化が可能 – Numactl, taskset等も意識する eth0 core0 core1 core0 core1 packets rx0 rx1 Hash & dispatch eth0 core0 core1 core0 core1 packets rx0 Hash & dispatch RSS RPS https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/network-rss.html https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/network-rps.html packets rx0 rx1 Hash & dispatch eth1 CPU1CPU0 CPU0 CPU1
  • 21. 21 SSDインスタンスディスク の高速化 • 高速なSSD – i2, r3インスタンス • カーネル3.8以降が性能面でお薦め – Amazon Linux 13.09以降、RHEL7, Ubuntu14.04以降 – (※理由は次ページ) • TRIM利用可能 – i2, r3対応 – # fstrim /dev/sdX – (※SSD EBSは TRIM非対応) http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/InstanceStorage.html#Inst anceStoreTrimSupport
  • 22. 22 カーネル3.8.0前後のI/O性能の違い • 3.8.0以前 – 全I/Oが I/Oドメインを通 る”Grant Mapping” – TLB flushのコストが大きい • 3.8.0以降 – Persistent Grantsパッチが 適用されている – プール作成時に“Grant Mapping”を一度行う – データはGrant Poolにコ ピーされる – 再mappingに較べてコピー は非常に速い SSD Dom0 I/Oドメイン Guest(インスタンス) read(fd,buffer,BLOCK_SIZE) Grant Mapping Persistent Grants SSD read(fd,buffer,BLOCK_SIZE) https://blog.xenproject.org/2012/11/23/improving-block-protocol-scalability-with-persistent-grants/ http://www.slideshare.net/xen_com_mgr/20140818-scaling-xens-aggregate-storage-performance Dom0 I/Oドメイン Guest(インスタンス)
  • 24. 24 まとめ • Linuxカーネル – 必要な性能と突き合わせる • HVMを選ぶ – SR-IOV化は必須 • CPU/メモリ – HyperThreadingの有無を比較 – NUMAやCPU affinityにも注目 – Turbo Boostを計測して効果的に使う • I/Oチューニング – Linuxカーネル – ENI 機能 カーネル HMV 2.6.36+ SR-IOV 2.6.32+ RPS/RFS 2.6.35+ CPU State 3.9.0+ Grant mapping 3.8.0+