SlideShare ist ein Scribd-Unternehmen logo
1 von 106
Downloaden Sie, um offline zu lesen
性能測定

道
実践編
早水 悠登 (東大)
Thanks to 合田和生(東大)山田浩之(東大)喜連川優(東大、NII)
2014/02/01
$whoami
•

早水 悠登(a.k.a. @hayamiz )

•

東京大学喜連川研究室
•

•

普段やっていること
•

•

データベースシステム研究

性能測定

たまにやること
•

論文書き
性能測定道
•

事始め編(前回)
•

•

性能測定の心と基本形

実践編(今回)
•

性能測定の手法とその実践
前回の復習
測定の心は測定の外にあり
•

何のために性能測定をするのか?
•

性能測定は戦略目的を達成するための戦術

•

目的から性能測定の手法を導出する
測定の心は測定の外にあり
•

何のために性能測定をするのか?
•

性能測定は戦略目的を達成するための戦術

•

目的から性能測定の手法を導出する
3つの基本形
3つの基本形
Modeling

Simulation

Measurement
MODELING -モデル化•

科学的アプローチの原点

•

測定対象の モデル を作る
•

内部の動作原理を知る

•

性能に影響を与える要素を選び出す

•

性能を数式化する
MEASUREMENT -計測•

計測はモデル化のしもべ

•

モデルなき計測は意味を成さない
•

モデルが計測結果の正しさを裏付ける

•

計測でモデルの正しさを確認する
MEASUREMENT -計測•

計測はモデル化のしもべ

•

モデルなき計測は意味を成さない
•

モデルが計測結果の正しさを裏付ける

•

計測でモデルの正しさを確認する
SIMULATION
•

まだ見ぬシステムの性能を知る手段
•
•

•

存在しないハードウェアの性能予測
実装前のソフトウェアの性能予測

計測したいシステムを模した環境を作り出す
•

専用ハードウェア

•

ソフトウェアによるシミュレーション実行
実際にどうすべきか?
性能測定道
•

事始め編(前回)
•

•

性能測定の心と基本形

実践編(今回)
•

性能測定の手法とその実践
メモリアクセスレイテンシ
メモリアクセスレイテンシ
どうやって測定するか?
メモリアクセスする
プログラムをとりあえず
書いてみる?
#define LOOP 1000000000	
#define SIZE (1024*1024*1024)	
char *region = malloc(SIZE);	
int i, j;	
for (j = 0; j < LOOP; j) {	
for (i = 0; i < SIZE; i++) {	
region[i];	
}	
}

実行時間 (LOOP SIZE)
= 1回のメモリアクセスレイテンシ(?)
#define LOOP 1000000000	
#define SIZE (1024*1024*1024)	
char *region = malloc(SIZE);	
int i, j;	
for (j = 0; j < LOOP; j) {	
for (i = 0; i < SIZE; i++) {	
region[i];	
}	
}

実行時間 (LOOP SIZE)
= 1回のメモリアクセスレイテンシ(?)
性能測定実践の第一歩:
徹底的に調べ尽くす
•

プロセッサ
•

動作原理

•

マイクロアーキテクチャ

•

動作周波数

•

キャッシュサイズ
•

TLB、L1、L2、L3

•

インターコネクト

•

I/Oパス

•

…

CPU0

CPU1

CPU2

CPU3
性能測定実践の第一歩:
徹底的に調べ尽くす
•

プロセッサ
•

動作原理

•

マイクロアーキテクチャ

•

動作周波数

•

キャッシュサイズ
•

TLB、L1、L2、L3

•

インターコネクト

•

I/Oパス

•

…

CPU0

CPU1

CPU2

CPU3
性能測定実践の第一歩:
徹底的に調べ尽くす
•

プロセッサ
•

動作原理

•

マイクロアーキテクチャ

•

動作周波数

•

キャッシュサイズ
•

•

CPU0

CPU1

CPU2

CPU3

TLB、L1、L2、L3

インターコネクト

IO Hub
•

I/Oパス

•

…

IO Hub
性能測定実践の第一歩:
徹底的に調べ尽くす
•

プロセッサ
•

動作原理

•

マイクロアーキテクチャ

•

動作周波数

•

キャッシュサイズ
•

•

CPU0

CPU1

CPU2

CPU3

TLB、L1、L2、L3

インターコネクト

IO Hub
•

I/Oパス

PCIe
•

…

IO Hub
性能測定実践の第一歩:
徹底的に調べ尽くす
•

プロセッサ
•

動作原理

•

マイクロアーキテクチャ

•

動作周波数

•

キャッシュサイズ
•

•

CPU0

CPU1

CPU2

CPU3

TLB、L1、L2、L3

インターコネクト

IO Hub
•

•

I/Oパス
…

PCIe
PCIe

IO Hub
性能測定実践の第一歩:
徹底的に調べ尽くす
•

プロセッサ
•

動作原理

•

マイクロアーキテクチャ

•

動作周波数

•

キャッシュサイズ
•

•

CPU0

CPU1

CPU2

CPU3

TLB、L1、L2、L3

インターコネクト

IO Hub
•

•

I/Oパス
…

PCIe
PCIe
PCIe

IO Hub
性能測定実践の第一歩:
徹底的に調べ尽くす
•

プロセッサ
•

動作原理

•

マイクロアーキテクチャ

•

動作周波数

•

キャッシュサイズ
•

•

CPU0

CPU1

CPU2

CPU3

TLB、L1、L2、L3

インターコネクト

IO Hub
•

•

I/Oパス
…

PCIe
PCIe
PCIe
PCIe

IO Hub
性能測定実践の第一歩:
徹底的に調べ尽くす
•

プロセッサ
•

動作原理

•

マイクロアーキテクチャ

•

動作周波数

•

キャッシュサイズ
•

•

CPU0

CPU1

CPU2

CPU3

TLB、L1、L2、L3

インターコネクト

IO Hub
•

•

I/Oパス
…

PCIe
PCIe
PCIe
PCIe PCIe

IO Hub
性能測定実践の第一歩:
徹底的に調べ尽くす

測定前に知りうる範囲で
性能モデルを構築して理解する
性能測定実践の第一歩:
徹底的に調べ尽くす
アクセス領域の大きさとレイテンシ
性能測定実践の第一歩:
徹底的に調べ尽くす
アクセス領域の大きさとレイテンシ
性能測定実践の第一歩:
徹底的に調べ尽くす
アクセス領域の大きさとレイテンシ
性能測定実践の第一歩:
徹底的に調べ尽くす
アクセス領域の大きさとレイテンシ
性能測定実践の第一歩:
徹底的に調べ尽くす
アクセス領域の大きさとレイテンシ
性能測定実践の第一歩:
徹底的に調べ尽くす

プロセッサ命令パイプライン

参考:坂井修一 「コンピュータアーキテクチャ」
http://www.amazon.co.jp/dp/4339018430
性能測定実践の第一歩:
徹底的に調べ尽くす

スーパースカラ実行
参考:坂井修一 「コンピュータアーキテクチャ」
http://www.amazon.co.jp/dp/4339018430
性能測定実践の第一歩:
徹底的に調べ尽くす

プリフェッチ
参考:坂井修一 「コンピュータアーキテクチャ」
http://www.amazon.co.jp/dp/4339018430
性能測定実践の第一歩:
徹底的に調べ尽くす
分岐予測とパイプラインストール

参考:坂井修一 「コンピュータアーキテクチャ」
http://www.amazon.co.jp/dp/4339018430
実行時間と
メモリアクセス回数
比例するとは限らない
#define LOOP 1000000000	
#define SIZE (1024*1024*1024)	
char *region = malloc(SIZE);	
int i, j;	
for (j = 0; j < LOOP; j) {	
for (i = 0; i < SIZE; i++) {	
region[i];	
}	
}

実行時間 (LOOP SIZE)
= 1回のメモリアクセスレイテンシ(?)
動作原理・性能モデル
を元に考える
動作原理・性能モデル
を元に考える
•

目的:1回のメモリアクセスレイテンシを測りたい
動作原理・性能モデル
を元に考える
•

目的:1回のメモリアクセスレイテンシを測りたい

•

問題:実行時間とメモリアクセス時間が比例しないこ
とがある
動作原理・性能モデル
を元に考える
•

目的:1回のメモリアクセスレイテンシを測りたい

•

問題:実行時間とメモリアクセス時間が比例しないこ
とがある
•

パイプライン実行、スーパースカラ実行
動作原理・性能モデル
を元に考える
•

目的:1回のメモリアクセスレイテンシを測りたい

•

問題:実行時間とメモリアクセス時間が比例しないこ
とがある
•

パイプライン実行、スーパースカラ実行

•

プリフェッチ
動作原理・性能モデル
を元に考える
•

目的:1回のメモリアクセスレイテンシを測りたい

•

問題:実行時間とメモリアクセス時間が比例しないこ
とがある
•

パイプライン実行、スーパースカラ実行

•

プリフェッチ

•

分岐予測ミス・ヒット
動作原理・性能モデル
を元に考える
•

目的:1回のメモリアクセスレイテンシを測りたい

•

問題:実行時間とメモリアクセス時間が比例しないこ
とがある
•

パイプライン実行、スーパースカラ実行

•

プリフェッチ

•

分岐予測ミス・ヒット

比例すれば測れる
目的から手法を導出する
目的から手法を導出する
•

メモリアクセス回数が実行時間に比例するように

メモリアクセスする

•

解決すべき問題
•

命令のパイプライン・スーパースカラ実行

•

プリフェッチ

•

分岐予測ミス・ヒット
命令パイプラインを
ニート化する
•

命令パイプラインのやる気を奪う方法

•

命令間データ依存
•

•

•

CPU命令列:A, B, C, …
Bの実行にAの実行結果が必要

→ Aが終わるまでBは実行できない

スーパースカラ実行も同時にニート化できる
命令パイプラインを
ニート化する
1つ前の命令に必ずデータ依存するCPU命令列
命令パイプラインを
ニート化する
1つ前の命令に必ずデータ依存するCPU命令列

__asm__ volatile(“	
movq (%%rax), %rax	
movq (%%rax), %rax	
movq (%%rax), %rax	
…"
プリフェッチャをニート化
•

プリフェッチできるアクセスパターン
•

•

順次アクセス or ストライドアクセス

ランダムアクセスすればOK
プリフェッチャをニート化
•

プリフェッチできるアクセスパターン
•

•

順次アクセス or ストライドアクセス

ランダムアクセスすればOK

__asm__ volatile(“	
movq (%%rax), %rax	
movq (%%rax), %rax	
movq (%%rax), %rax	
…"
分岐予測器をニート化
•

分岐予測器の動き自体はコントロールが難しい

•

→ 仕事を与えない
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq
movq

(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),
(%%rax),

%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	
%rax	

分岐予測器をニート化
•

分岐予測器の動き自体はコントロールが難しい

•

→ 仕事を与えない
目的から手法を導出する
•

メモリアクセス回数が実行時間に比例するように

メモリアクセスする

•

解決すべき問題
•
✔ 命令のパイプライン・スーパースカラ実行
•
✔ プリフェッチ
•
✔ 分岐予測ミス・ヒット
あとは書くだけ
micbench
A microbenchmarking toolset
micbench
A microbenchmarking toolset

for Linux only ;)
micbench
A microbenchmarking toolset

for Linux only ;)
micbench
live on AWS EC2

$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14
jpugstudy@54.201.1.14's password:
Last login: Sat Feb 1 03:27:02 2014 from 35.69.30.125.dy.iij4u.or.jp
__| __|_ )
_| (
/
___|___|___|

Amazon Linux AMI

https://aws.amazon.com/amazon-linux-ami/2013.09-release-notes/
$
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14
jpugstudy@54.201.1.14's password:
Last login: Sat Feb 1 03:27:02 2014 from 35.69.30.125.dy.iij4u.or.jp
__| __|_ )
_| (
/
___|___|___|

Amazon Linux AMI

https://aws.amazon.com/amazon-linux-ami/2013.09-release-notes/
$ micbench mem -h
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14
jpugstudy@54.201.1.14's password:
Last login: Sat Feb 1 03:27:02 2014 from 35.69.30.125.dy.iij4u.or.jp
__| __|_ )
_| (
/
___|___|___|

Amazon Linux AMI

https://aws.amazon.com/amazon-linux-ami/2013.09-release-notes/
$ micbench mem -h
Usage: micbench mem [options]
-h, --help
-m, --multi NUM
-t, --timeout NUM
-S, --seq
-R, --rand
-L, --local
sharing one region)
-a, --affinity AFFINITY
-s, --size SIZE
-H, --hugetlbfile PATH
-z, --hugepagesize SIZE
-v, --verbose
--debug

Show help
Multiplicity of memory access (default: )
Running time of memory access test (in sec) (default: sec)
Sequential memory access mode (default mode)
Random memory access mode (default: sequential access mode)
Allocate separated memory region for each thread (default:
CPU and memory utilization policy
Size of memory region (default: 1MB)
Use HugePages if specified. Give a path to file on hugetlbfs.
Size of HugePage (default: 2MB)
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ cd /sys/devices/system/cpu/cpu0/cache
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ cd /sys/devices/system/cpu/cpu0/cache
$ echo `cat index0/level` `cat index0/type` `cat index0/size`
1 Data 32K
$ echo `cat index1/level` `cat index1/type` `cat index1/size`
1 Instruction 32K
$ echo `cat index2/level` `cat index2/type` `cat index2/size`
2 Unified 256K
$ echo `cat index3/level` `cat index3/type` `cat index3/size`
3 Unified 20480K
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 16K --affinity 0:c0 --timeout 10
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 16K --affinity 0:c0 --timeout 10
loop end: t=10.000098
access_pattern
random
multiplicity 1
local false
page_size 4096
size
32768
use_hugepages false
total_ops 2172125184
total_clk 17885453816
exec_time 10.000098
ops_per_sec 2.172104e+08
clk_per_op
8.234081e+00
total_exec_time 11.881029
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 16K --affinity 0:c0 --timeout 10
loop end: t=10.000098
access_pattern
random
multiplicity 1
local false
page_size 4096
size
32768
use_hugepages false
total_ops 2172125184
total_clk 17885453816
exec_time 10.000098
ops_per_sec 2.172104e+08
clk_per_op
8.234081e+00
total_exec_time 11.881029

L1D cache アクセスレイテンシ
8.23クロック ( 5%)
(Wikipedia調べ:3クロック)
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 128K --affinity 0:c0 --timeout 10
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 128K --affinity 0:c0 --timeout 10
loop end: t=10.022191
access_pattern
random
multiplicity 1
local false
page_size 4096
size
131072
use_hugepages false
total_ops 729284608
total_clk 17940879364
exec_time 10.022191
ops_per_sec 7.276698e+07
clk_per_op
2.460066e+01
total_exec_time 10.047088
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 128K --affinity 0:c0 --timeout 10
loop end: t=10.022191
access_pattern
random
multiplicity 1
local false
page_size 4096
size
131072
use_hugepages false
total_ops 729284608
total_clk 17940879364
exec_time 10.022191
ops_per_sec 7.276698e+07
clk_per_op
2.460066e+01
total_exec_time 10.047088

L2D cache アクセスレイテンシ
24.6クロック ( 5%)
(Wikipedia調べ:8クロック)
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 16MB --affinity 0:c0 --timeout 10
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 16MB --affinity 0:c0 --timeout 10
loop end: t=10.017083
access_pattern
random
multiplicity 1
local false
page_size 4096
size
16777216
use_hugepages false
total_ops 40370176
total_clk 17984571328
exec_time 10.017083
ops_per_sec 4.030133e+06
clk_per_op
4.454915e+02
total_exec_time 10.293443
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 16MB --affinity 0:c0 --timeout 10
loop end: t=10.017083
access_pattern
random
multiplicity 1
local false
page_size 4096
size
16777216
use_hugepages false
total_ops 40370176
total_clk 17984571328
exec_time 10.017083
ops_per_sec 4.030133e+06
clk_per_op
4.454915e+02
total_exec_time 10.293443

L3 shared アクセスレイテンシ
445クロック
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 256MB --affinity 0:c0 --timeout 10
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 256MB --affinity 0:c0 --timeout 10
loop end: t=10.025490
access_pattern
random
multiplicity 1
local false
page_size 4096
size
268435456
use_hugepages false
total_ops 31719424
total_clk 18000368292
exec_time 10.025490
ops_per_sec 3.163878e+06
clk_per_op
5.674872e+02
total_exec_time 16.503597
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ micbench mem --rand --size 256MB --affinity 0:c0 --timeout 10
loop end: t=10.025490
access_pattern
random
multiplicity 1
local false
page_size 4096
size
268435456
use_hugepages false
total_ops 31719424
total_clk 18000368292
exec_time 10.025490
ops_per_sec 3.163878e+06
clk_per_op
5.674872e+02
total_exec_time 16.503597

主記憶アクセスレイテンシ
567クロック
メモリアクセスレイテンシ測定
メモリアクセスレイテンシ測定
•

単なるメモリアクセスプログラムではダメ
メモリアクセスレイテンシ測定
•

単なるメモリアクセスプログラムではダメ
•

CPU内部構造・性能モデルを理解した測定計画
メモリアクセスレイテンシ測定
•

単なるメモリアクセスプログラムではダメ
•

•

CPU内部構造・性能モデルを理解した測定計画

micbench on EC2
メモリアクセスレイテンシ測定
•

単なるメモリアクセスプログラムではダメ
•

•

CPU内部構造・性能モデルを理解した測定計画

micbench on EC2
•

メモリアクセス速度からわかる仮想マシン感
まとめ
•

性能測定の実践
•

•

•

測定前の徹底調査
頭の中にモデルを作る

Case study: メモリアクセスレイテンシ
•

単なるメモリアクセスプログラムではダメ
•

•

CPU内部構造・性能モデルを理解した測定計画

micbench on EC2
•

メモリアクセス速度からわかる仮想マシン感
I/O性能測定
I/O発行による負荷+挙動モニタリング

I/O負荷
micbench io
I/O性能測定
I/O発行による負荷+挙動モニタリング

I/O負荷
micbench io

挙動モニタリング
micbench
A microbenchmarking toolset

$ micbench -h	
!
Usage: micbench command [options]	
!
available commands:	
help : 'help command' explains about command	
io : IO benchmark on block devices and files	
lock : lock and sync. cost benchmark	
mem : memory latency and bandwidth benchmark
micbench
A microbenchmarking toolset

$ micbench -h	
!
Usage: micbench command [options]	
!
available commands:	
help : 'help command' explains about command	
io : IO benchmark on block devices and files	
lock : lock and sync. cost benchmark	
mem : memory latency and bandwidth benchmark
モニタリングツール
•

sysstat (mpstat / iostat)

(…)	

!
avg-cpu:

%user
0.00

%nice %system %iowait
0.00
1.00
99.00

%steal
0.00

%idle	
0.00	

!
Device:
xvdap1
xvdap3
xvdf
xvdg

!
(…)

tps
0.00
0.00
64.00
0.00

Blk_read/s
0.00
0.00
1024.00
0.00

Blk_wrtn/s
0.00
0.00
0.00
0.00

Blk_read
0
0
1024
0

Blk_wrtn	
0	
0	
0	
0
モニタリングツール
•

sysstat (mpstat / iostat)

(…)	

!
avg-cpu:

%user
0.00

%nice %system %iowait
0.00
1.00
99.00

!
Device:
xvdap1
xvdap3
xvdf
xvdg

!
(…)

tps
0.00
0.00
64.00
0.00

a
d
a
e

Blk_read/s
0.00
0.00
1024.00
0.00

r
t
o
N

!
le
b

%steal
0.00

Blk_wrtn/s
0.00
0.00
0.00
0.00

%idle	
0.00	
Blk_read
0
0
1024
0

Blk_wrtn	
0	
0	
0	
0
モニタリングツール
•

sysstat (mpstat / iostat)

(…)	

!
avg-cpu:

%user
0.00

%nice %system %iowait
0.00
1.00
99.00

!
Device:
xvdap1
xvdap3
xvdf
xvdg

tps
0.00
0.00
64.00
0.00

a
d
a
e

Blk_read/s
0.00
0.00
1024.00
0.00

r
t
o
N

!
le
b

%steal
0.00

Blk_wrtn/s
0.00
0.00
0.00
0.00

%idle	
0.00	
Blk_read
0
0
1024
0

Blk_wrtn	
0	
0	
0	
0	

!
(…)

•

プログラムから集計するのが面倒なフォーマット
モニタリングツール
•

sysstat (mpstat / iostat)

(…)	

!
avg-cpu:

!
Device:
xvdap1
xvdap3
xvdf
xvdg

!
(…)

%user
0.00

%nice %system %iowait
0.00
1.00
99.00

Not

tps
0.00
0.00
64.00
0.00

real

%steal
0.00

Blk_read/s
0.00
0.00
1024.00
0.00

%idle	
0.00	

time

Blk_wrtn/s
0.00
0.00
0.00
0.00

Blk_read
0
0
1024
0

Blk_wrtn	
0	
0	
0	
0
モニタリングツール
•

sysstat (mpstat / iostat)

(…)	

!
avg-cpu:

!
Device:
xvdap1
xvdap3
xvdf
xvdg

%user
0.00

%nice %system %iowait
0.00
1.00
99.00

Not

tps
0.00
0.00
64.00
0.00

real

%steal
0.00

Blk_read/s
0.00
0.00
1024.00
0.00

%idle	
0.00	

time

Blk_wrtn/s
0.00
0.00
0.00
0.00

Blk_read
0
0
1024
0

!
(…)

•

最短で1秒間隔でしかモニタリングできない

Blk_wrtn	
0	
0	
0	
0
PerfMonger
Yet another system performance
monitoring & visualizing tool
PerfMonger
live on AWS EC2
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
PerfMonger
live on AWS EC2
$ ssh jpugstudy@54.201.1.14	
jpugstudy@54.201.1.14's password: JPUGstudy20140201
※現在はアクセスできません
$ perfmonger record	
{"time": 1391233526.2996, "cpuinfo": {"nr_cpu": 1, "all": {"%usr": 0.00, "%nice": 0.00, "%sys":
0.00, "%iowait": 0.00, "%irq": 0.00, "%soft": 0.00, "%steal": 0.00, "%guest": 0.00, "%idle":
0.00}, "cpus": [{"%usr": 0.00, "%nice": 0.00, "%sys": 0.00, "%iowait": 0.00, "%irq": 0.00,
"%soft": 0.00, "%steal": 0.00, "%guest": 0.00, "%idle": 100.00}]}, "ioinfo": {"devices":
["xvda1", "xvda3", "xvdf", "xvdg"], "xvda1": {"r/s": 0.0000, "w/s": 0.0000, "rsec/s": 0.0000,
"wsec/s": 0.0000, "r_await": 0.0000, "w_await": 0.0000, "avgrq-sz": 0.0000, "avgqu-sz": 0.0000},
"xvda3": {"r/s": 0.0000, "w/s": 0.0000, "rsec/s": 0.0000, "wsec/s": 0.0000, "r_await": 0.0000,
"w_await": 0.0000, "avgrq-sz": 0.0000, "avgqu-sz": 0.0000}, "xvdf": {"r/s": 0.0000, "w/s":
0.0000, "rsec/s": 0.0000, "wsec/s": 0.0000, "r_await": 0.0000, "w_await": 0.0000, "avgrq-sz":
0.0000, "avgqu-sz": 0.0000}, "xvdg": {"r/s": 0.0000, "w/s": 0.0000, "rsec/s": 0.0000, "wsec/s":
0.0000, "r_await": 0.0000, "w_await": 0.0000, "avgrq-sz": 0.0000, "avgqu-sz": 0.0000}, "total":
{"r/s": 0.0000, "w/s": 0.0000, "rsec/s": 0.0000, "wsec/s": 0.0000, "r_await": 0.0000, "w_await":
0.0000}}}
PerfMonger
live on AWS EC2

※現在はアクセスできません

http://54.201.1.14:20202/dashboard
性能測定

道
終

Weitere ähnliche Inhalte

Was ist angesagt?

エンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしエンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしYasunori Nihei
 
深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3Preferred Networks
 
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築NVIDIA Japan
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選Yusuke Uchida
 
開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDKNVIDIA Japan
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -tmtm otm
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法Hirokatsu Kataoka
 
データ解析入門
データ解析入門データ解析入門
データ解析入門Takeo Noda
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門hoxo_m
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用y-uti
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術Preferred Networks
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Preferred Networks
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」ManaMurakami1
 

Was ist angesagt? (20)

エンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしエンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなし
 
深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3
 
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
 
NumPy闇入門
NumPy闇入門NumPy闇入門
NumPy闇入門
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
 
データ解析入門
データ解析入門データ解析入門
データ解析入門
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 

Ähnlich wie 性能測定道 実践編

Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingYasunori Ozaki
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTURE Project
 
A Deep Reinforcement Learning Chatbot
A Deep Reinforcement Learning ChatbotA Deep Reinforcement Learning Chatbot
A Deep Reinforcement Learning ChatbotTakahiro Yoshinaga
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際Satsuki Urayama
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングYosuke Mizutani
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編Fixstars Corporation
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎Preferred Networks
 
MANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-OnMANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-On陽平 山口
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-Koichi Hamada
 
Chainerと実験管理と私
Chainerと実験管理と私Chainerと実験管理と私
Chainerと実験管理と私Toshinori Hanya
 
モデル最適化指標・評価指標の選び方
モデル最適化指標・評価指標の選び方モデル最適化指標・評価指標の選び方
モデル最適化指標・評価指標の選び方幹雄 小川
 
文献紹介:Selective Feature Compression for Efficient Activity Recognition Inference
文献紹介:Selective Feature Compression for Efficient Activity Recognition Inference文献紹介:Selective Feature Compression for Efficient Activity Recognition Inference
文献紹介:Selective Feature Compression for Efficient Activity Recognition InferenceToru Tamaki
 
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSSTKotaro Ogino
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイドEtsuji Nakai
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分けるKazuaki Tanida
 
1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING健司 亀本
 
情報システムの性能マネジメントについて
情報システムの性能マネジメントについて情報システムの性能マネジメントについて
情報システムの性能マネジメントについてTakashi Natsume
 
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentechKotaro Ogino
 

Ähnlich wie 性能測定道 実践編 (20)

Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence Modeling
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
 
A Deep Reinforcement Learning Chatbot
A Deep Reinforcement Learning ChatbotA Deep Reinforcement Learning Chatbot
A Deep Reinforcement Learning Chatbot
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
 
MANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-OnMANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-On
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-
 
Chainerと実験管理と私
Chainerと実験管理と私Chainerと実験管理と私
Chainerと実験管理と私
 
モデル最適化指標・評価指標の選び方
モデル最適化指標・評価指標の選び方モデル最適化指標・評価指標の選び方
モデル最適化指標・評価指標の選び方
 
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
 
文献紹介:Selective Feature Compression for Efficient Activity Recognition Inference
文献紹介:Selective Feature Compression for Efficient Activity Recognition Inference文献紹介:Selective Feature Compression for Efficient Activity Recognition Inference
文献紹介:Selective Feature Compression for Efficient Activity Recognition Inference
 
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分ける
 
1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING
 
20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS
 
情報システムの性能マネジメントについて
情報システムの性能マネジメントについて情報システムの性能マネジメントについて
情報システムの性能マネジメントについて
 
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
 

Mehr von Yuto Hayamizu

Beyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To CodeBeyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To CodeYuto Hayamizu
 
VLDB2015 会議報告
VLDB2015 会議報告VLDB2015 会議報告
VLDB2015 会議報告Yuto Hayamizu
 
The Art of Performance Evaluation
The Art of Performance EvaluationThe Art of Performance Evaluation
The Art of Performance EvaluationYuto Hayamizu
 
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングより深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングYuto Hayamizu
 
Fine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQLFine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQLYuto Hayamizu
 
Emacs Lispのある生活
Emacs Lispのある生活Emacs Lispのある生活
Emacs Lispのある生活Yuto Hayamizu
 
いいかげんな人のためのTransactional Memory Primer
いいかげんな人のためのTransactional Memory Primerいいかげんな人のためのTransactional Memory Primer
いいかげんな人のためのTransactional Memory PrimerYuto Hayamizu
 
C-x C-f のなかのひと
C-x C-f のなかのひとC-x C-f のなかのひと
C-x C-f のなかのひとYuto Hayamizu
 

Mehr von Yuto Hayamizu (9)

Beyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To CodeBeyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To Code
 
VLDB2015 会議報告
VLDB2015 会議報告VLDB2015 会議報告
VLDB2015 会議報告
 
The Art of Performance Evaluation
The Art of Performance EvaluationThe Art of Performance Evaluation
The Art of Performance Evaluation
 
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングより深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニング
 
Fine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQLFine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQL
 
指の話
指の話指の話
指の話
 
Emacs Lispのある生活
Emacs Lispのある生活Emacs Lispのある生活
Emacs Lispのある生活
 
いいかげんな人のためのTransactional Memory Primer
いいかげんな人のためのTransactional Memory Primerいいかげんな人のためのTransactional Memory Primer
いいかげんな人のためのTransactional Memory Primer
 
C-x C-f のなかのひと
C-x C-f のなかのひとC-x C-f のなかのひと
C-x C-f のなかのひと
 

Kürzlich hochgeladen

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Kürzlich hochgeladen (8)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

性能測定道 実践編