3.1. pScheduler

pScheduler 는 perfSONAR 노드간의 테스트 스케줄을 겹치지 않게 등록하고 실행하는 도구입니다.



명령어 구조

pscheduler 의 기본 명령어 구조는 다음과 같습니다.

pscheduler task [ TASK_OPTIONS ] TEST_TYPE TEST_OPTIONS


네트워크 테스트 대부분은 두 호스트간에 이루어집니다. 때문에 source와 destination을 명시합니다.

A=ps-daej.kreonet.net
B=ps-seul.kreonet.net
pscheduler task throughput --source $A --dest $B


source가 자기자신인 경우, source를 생략할 수 있습니다.

B=ps-seul.kreonet.net
pscheduler task throughput --dest $B


Task Type 에 따라 원하는 tool 을 선택하여 실행할 수도 있습니다.


(참고) https://docs.perfsonar.net/pscheduler_client_tasks.html


Task Type

자주 사용되는 task type 은 다음 표와 같습니다.

자세한 사항은 다음을 참고합니다. https://docs.perfsonar.net/pscheduler_ref_tests_tools.html

task typetool설명
throughputiperf3, iperf2, nuttcp

대역폭

(Throughput, TCP Retransmits, ...)

latencyowping

지연(Latency)

(단방향 ping을 100개 보내고, 얻은 지연의 통계치)

rttpingping 결과
tracetraceroute, tracepath, paris-traceroute두 지점 간 라우터팅 경로


테스트 실패

해당 노드에 걸려있는 테스트 스케줄이 많은 경우, 테스트 스케줄이 등록되지 않아 테스트가 실패합니다.

# A=ps-daej.kreonet.net
# B=ps-seul.kreonet.net
# pscheduler task throughput --source $A --dest $B
Submitting task...
Task URL:
https://..../pscheduler/tasks/....
Running with tool 'iperf3'
Fetching first run...

Next scheduled run:
https://..../pscheduler/tasks/..../runs/....

Run scheduled at 2025-09-03T01:40:48+00:00 is a non-starter:
Gave up after too many scheduling conflicts.