...
Code Block |
---|
2021-07-20_05:55:21.443 955 955 244480 244480 1042 1042 266752 266752 |
/show
전체 리소스에 대한 모든 항목의 성능 데이터를 한번에 출력합니다. 출력 대상은 성능 파일에 마지막으로 기록된 데이터입니다.
[/t {types[,...]|all}] [/r {resource[,...]|all}]
특정 성능 항목 및 리소스를 지정하여 출력할 수 있는 옵션을 제공합니다. 성능 항목 및 리소스 명은 ','로 구분하며 공백 없이 입력합니다.
json 형식으로 데이터를 출력합니다.
성능 데이터를 주기적으로 출력합니다. 출력 주기는 bsrmon에 설정된 period 값을 따릅니다.
모든 리소스의 모든 항목 출력
Expand |
---|
|
memory, resource 별로 timestamp 가 출력됩니다. iostat, ioclat, reqstat, peer_reqstat, al_stat, resync_ratio 는 vnr 로 구분하여 출력됩니다. memory 성능 데이터는 os(windows/linux)에 따라 출력되는 항목이 다릅니다.
Code Block |
---|
[root@cent79_01 bsr-utils]# bsrmon /show
bsrmon {
memory {
system {
total_memory 7990028; # kbytes
used_memory 1843756; # kbytes
free_memory 2511096; # kbytes
buff/cache 3635176; # kbytes
}
module {
slab {
bsr_req 15982; # kbytes
bsr_al 1020; # kbytes
bsr_bm 7880; # kbytes
bsr_ee 2384; # kbytes
total_bio_set 520; # kbytes
kmalloc 157; # kbytes
}
vmalloc 0; # kbytes
total_page_pool 33344; # kbytes
}
user {
top_process {
name gnome-shell;
pid 2482;
rsz 250212; # kbytes
vsz 4082020; # kbytes
}
bsr_process {
name bsrmon;
pid 19370;
rsz 1364; # kbytes
vsz 12780; # kbytes
}
}
timestamp 2022-10-04_00:10:55.805;
}
resource r0 {
vnr 0 {
iostat {
read_iops 0;
read_iocnt 0;
read_kbs 0; # kbytes/second
read_kb 0; # kbytes
write_iops 0;
write_iocnt 0;
write_kbs 0; # kbytes/second
write_kb 0; # kbytes
}
ioclat {
local_min 0; # usec
local_max 0; # usec
local_avg 0; # usec
master_min 0; # usec
master_max 0; # usec
master_avg 0; # usec
}
reqstat {
requests {
count 0;
before_queue_min 0; # usec
before_queue_max 0; # usec
before_queue_avg 0; # usec
before_al_begin_min 0; # usec
before_al_begin_max 0; # usec
before_al_begin_avg 0; # usec
in_actlog_min 0; # usec
in_actlog_max 0; # usec
in_actlog_avg 0; # usec
submit_min 0; # usec
submit_max 0; # usec
submit_avg 0; # usec
bio_endio_min 0; # usec
bio_endio_max 0; # usec
bio_endio_avg 0; # usec
destroy_min 0; # usec
destroy_max 0; # usec
destroy_avg 0; # usec
}
al_update {
count 0;
before_bm_write_min 0; # usec
before_bm_write_max 0; # usec
before_bm_write_avg 0; # usec
after_bm_write_min 0; # usec
after_bm_write_max 0; # usec
after_bm_write_avg 0; # usec
after_sync_page_min 0; # usec
after_sync_page_max 0; # usec
after_sync_page_avg 0; # usec
}
peer cent79_03 {
pre_send_min 0; # usec
pre_send_max 0; # usec
pre_send_avg 0; # usec
acked_min 0; # usec
acked_max 0; # usec
acked_avg 0; # usec
net_done_min 0; # usec
net_done_max 0; # usec
net_done_avg 0; # usec
}
}
peer_reqstat {
peer cent79_03 {
count 0;
submit_min 0; # usec
submit_max 0; # usec
submit_avg 0; # usec
bio_endio_min 0; # usec
bio_endio_max 0; # usec
bio_endio_avg 0; # usec
destroy_min 0; # usec
destroy_max 0; # usec
destroy_avg 0; # usec
}
}
al_stat {
al-extents 6001;
al_used 0;
al_used_max 0;
hits 0;
hits_total 2064;
misses 0;
misses_total 1998;
starving 0;
starving_total 0;
locked 0;
locked_total 0;
changed 0;
changed_total 249;
al_wait_retry_cnt 0;
al_wait_total_retry_cnt 0;
al_wait_max_retry_cnt 0;
pending_changes 0;
max_pending_changes 64;
error {
nobufs_starving 0;
nobufs_pending_slot 0;
nobufs_used_slot 0;
busy 0;
wouldblock 0;
}
flags __LC_DIRTY,__LC_LOCKED;
}
resync_ratio {
peer cent79_02 {
replication 0; # byte/second
resync 0; # byte/second
resync_ratio 0; # percent
}
peer cent79_03 {
replication 0; # byte/second
resync 0; # byte/second
resync_ratio 0; # percent
}
}
vnr 1 {
iostat {
read_iops 0;
read_iocnt 0;
read_kbs 0; # kbytes/second
read_kb 0; # kbytes
write_iops 0;
write_iocnt 0;
write_kbs 0; # kbytes/second
write_kb 0; # kbytes
}
ioclat {
local_min 0; # usec
local_max 0; # usec
local_avg 0; # usec
master_min 0; # usec
master_max 0; # usec
master_avg 0; # usec
}
reqstat {
requests {
count 0;
before_queue_min 0; # usec
before_queue_max 0; # usec
before_queue_avg 0; # usec
before_al_begin_min 0; # usec
before_al_begin_max 0; # usec
before_al_begin_avg 0; # usec
in_actlog_min 0; # usec
in_actlog_max 0; # usec
in_actlog_avg 0; # usec
submit_min 0; # usec
submit_max 0; # usec
submit_avg 0; # usec
bio_endio_min 0; # usec
bio_endio_max 0; # usec
bio_endio_avg 0; # usec
destroy_min 0; # usec
destroy_max 0; # usec
destroy_avg 0; # usec
}
al_update {
count 0;
before_bm_write_min 0; # usec
before_bm_write_max 0; # usec
before_bm_write_avg 0; # usec
after_bm_write_min 0; # usec
after_bm_write_max 0; # usec
after_bm_write_avg 0; # usec
after_sync_page_min 0; # usec
after_sync_page_max 0; # usec
after_sync_page_avg 0; # usec
}
peer cent79_03 {
pre_send_min 0; # usec
pre_send_max 0; # usec
pre_send_avg 0; # usec
acked_min 0; # usec
acked_max 0; # usec
acked_avg 0; # usec
net_done_min 0; # usec
net_done_max 0; # usec
net_done_avg 0; # usec
}
}
peer_reqstat {
peer cent79_03 {
count 0;
submit_min 0; # usec
submit_max 0; # usec
submit_avg 0; # usec
bio_endio_min 0; # usec
bio_endio_max 0; # usec
bio_endio_avg 0; # usec
destroy_min 0; # usec
destroy_max 0; # usec
destroy_avg 0; # usec
}
}
al_stat {
al-extents 6001;
al_used 0;
al_used_max 0;
hits 0;
hits_total 0;
misses 0;
misses_total 0;
starving 0;
starving_total 0;
locked 0;
locked_total 0;
changed 0;
changed_total 0;
al_wait_retry_cnt 0;
al_wait_total_retry_cnt 0;
al_wait_max_retry_cnt 0;
pending_changes 0;
max_pending_changes 64;
error {
nobufs_starving 0;
nobufs_pending_slot 0;
nobufs_used_slot 0;
busy 0;
wouldblock 0;
}
flags NONE;
}
resync_ratio {
peer cent79_02 {
replication 0; # byte/second
resync 0; # byte/second
resync_ratio 0; # percent
}
peer cent79_03 {
replication 0; # byte/second
resync 0; # byte/second
resync_ratio 0; # percent
}
}
network {
peer cent79_02 {
send 180; # byte/second
recv 384; # byte/second
}
peer cent79_03 {
send 0; # byte/second
recv 0; # byte/second
}
}
sendbuf {
peer cent79_02 {
ap_in_flight {
size 17301504; # bytes
count 33;
}
rs_in_flight {
size 0; # bytes
count 0;
}
highwater 33;
fill 17301504; # bytes
data_stream {
size 20971520; # bytes
used 0; # bytes
packet {
name P_DATA
count 1;
size 0; # bytes
}
}
control_stream {
size 5242880; # bytes
used 0; # bytes
}
}
peer cent79_03 {
ap_in_flight {
size 0; # bytes
count 0;
}
rs_in_flight {
size 0; # bytes
count 0;
}
highwater 0;
fill 0; # bytes
data_stream {
size 20971520; # bytes
used 0; # bytes
}
control_stream {
size 5242880; # bytes
used 0; # bytes
}
}
}
timestamp 2022-09-29_22:54:25.064;
}
resource r1 {
...
timestamp 2022-10-04_00:10:55.805;
}
} |
|
모든 리소스의 특정 항목 출력
Expand |
---|
title | bsrmon /show /t iostat |
---|
|
Code Block |
---|
[root@cent79_01 bsr-utils]# bsrmon /show /t iostat
bsrmon {
resource r0 {
vnr 0 {
iostat {
read_iops 0;
read_iocnt 0;
read_kbs 0; # kbytes/second
read_kb 0; # kbytes
write_iops 0;
write_iocnt 0;
write_kbs 0; # kbytes/second
write_kb 0; # kbytes
}
}
vnr 1 {
iostat {
read_iops 0;
read_iocnt 0;
read_kbs 0; # kbytes/second
read_kb 0; # kbytes
write_iops 0;
write_iocnt 0;
write_kbs 0; # kbytes/second
write_kb 0; # kbytes
}
}
timestamp 2022-09-29_22:54:25.064;
}
resource r1 {
vnr 0 {
iostat {
read_iops 0;
read_iocnt 0;
read_kbs 0; # kbytes/second
read_kb 0; # kbytes
write_iops 0;
write_iocnt 0;
write_kbs 0; # kbytes/second
write_kb 0; # kbytes
}
}
timestamp 2022-10-04_00:17:52.249;
}
} |
|
특정 리소스의 특정 항목 출력
Expand |
---|
title | bsrmon /show /t network,sendbuf /r r0,r1 |
---|
|
Code Block |
---|
[root@cent79_01 bsr-utils]# bsrmon /show /t network,sendbuf /r r0,r1
bsrmon {
resource r0 {
network {
peer cent79_02 {
send 180; # byte/second
recv 384; # byte/second
}
peer cent79_03 {
send 0; # byte/second
recv 0; # byte/second
}
}
sendbuf {
peer cent79_02 {
ap_in_flight {
size 17301504; # bytes
count 33;
}
rs_in_flight {
size 0; # bytes
count 0;
}
highwater 33;
fill 17301504; # bytes
data_stream {
size 20971520; # bytes
used 0; # bytes
packet {
name P_DATA
count 1;
size 0; # bytes
}
}
control_stream {
size 5242880; # bytes
used 0; # bytes
}
}
peer cent79_03 {
ap_in_flight {
size 0; # bytes
count 0;
}
rs_in_flight {
size 0; # bytes
count 0;
}
highwater 0;
fill 0; # bytes
data_stream {
size 20971520; # bytes
used 0; # bytes
}
control_stream {
size 5242880; # bytes
used 0; # bytes
}
}
}
timestamp 2022-09-29_22:54:24.021;
}
resource r1 {
network {
peer cent79_02 {
send 0; # byte/second
recv 0; # byte/second
}
peer cent79_03 {
send 0; # byte/second
recv 0; # byte/second
}
}
sendbuf {
peer cent79_02 {
ap_in_flight {
size 0; # bytes
count 0;
}
rs_in_flight {
size 0; # bytes
count 0;
}
highwater 0;
fill 0; # bytes
data_stream {
size 0; # bytes
used 0; # bytes
}
control_stream {
size 0; # bytes
used 0; # bytes
}
}
peer cent79_03 {
ap_in_flight {
size 0; # bytes
count 0;
}
rs_in_flight {
size 0; # bytes
count 0;
}
highwater 0;
fill 0; # bytes
data_stream {
size 0; # bytes
used 0; # bytes
}
control_stream {
size 0; # bytes
used 0; # bytes
}
}
}
timestamp 2022-10-04_00:19:53.026;
}
} |
|
/watch
types 별로 집계되고 있는 데이터를 실시간으로 출력합니다. /scroll 옵션 사용시 출력을 줄넘김 방식으로 표기합니다.
/report
types 별로 파일에 기록된 데이터(백업된 파일의 데이터 포함)의 통계를 출력합니다.
리포팅 대상 파일 명을 입력합니다. 특정 파일의 통계 산출을 위해 사용됩니다.
리포팅 대상 peer 의 이름을 입력합니다. 특정 peer의 통계 산출을 위해 사용합니다. 다중 peer 입력은 공백 없이 콤마(,)로 구분합니다. 미 입력시 서버에 구성된 리소스의 peer를 대상으로 통계를 출력합니다.
특정 기간의 수치를 조회할 수 있는 옵션입니다. /d
...
옵션으로 해당 날짜에 기록된 데이터의 통계를 출력합니다.
...
/s
...
는 조회 시작 날짜 및 시간을 지정합니다.
...
/e
...
로 조회 종료 날짜 및 시간을 지정합니다.
...
/s, /e 옵션 입력시 날짜와 시간은 언더바(_)로 구분합니다.
Expand |
---|
|
bsrmon /report iostat r0 0 /d 2022-11-01 bsrmon /report iostat r0 0 /s 2022-11-01 /e 2022-11-10 bsrmon /report iostat r0 0 /s 2022-11-01_09:00 /e 2022-11-10_20:00 bsrmon /report iostat r0 0 /s 09:00 /e 20:00
|
/set
{period, file_size, file_cnt} {value}
모니터링과 관련된 수치를 조정하는 명령입니다.
파일 저장과 모니터링 주기를 설정합니다. 초 단위로 설정하며 기본 값은 1초 입니다.
파일 롤링 크기를 설정합니다. MB 단위로 설정하며 기본 값은 50MB 입니다.
파일 롤링 수를 설정합니다. 기본 값은 3개 입니다.
/get
모니터링과 관련된 수치를 조회하는 명령입니다.
/io_delay_test
I/O 성능 저하를 의도적으로 발생시켜 bsr 성능 모니터의 기능을 검증합니다. 개발자용 기능 입니다.
...