iPerf 테스트 실행
구성 가능한 서버, 프로토콜, 방향 및 타이밍으로 테스트를 실행합니다. 단축어 흐름의 일반적인 기본 지속 시간은 5초입니다.
개발자 문서
내장된 작업과 콜백 엔드포인트로 처리량 검사, 엔드포인트 검증 및 결과 수집을 자동화하십시오.
iPerf3 Client & Server는 두 가지 자동화 레이어를 제공합니다:
콜백 기반 자동화에는 iperf3cs://x-callback-url/...을 사용하십시오.
현재 Apple 플랫폼 요구 사항은 iOS/iPadOS 16.6+, macOS 13.5+ 및 visionOS 1.0+입니다.
이 작업들은 Apple 단축어 앱에서 직접 사용할 수 있습니다:
구성 가능한 서버, 프로토콜, 방향 및 타이밍으로 테스트를 실행합니다. 단축어 흐름의 일반적인 기본 지속 시간은 5초입니다.
로컬 기록에서 가장 최근에 완료된 결과를 반환합니다.
전체 실행 전에 엔드포인트 가용성을 확인합니다.
메뉴 기반 자동화를 위해 구성된 서버를 반환합니다.
Runs a test and returns the result through the callback URLs.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
serverId | String | 아니오 | Saved server to use: host:port, a server UUID, or default. Omit it and the default server is used. |
serverName | String | 아니오 | Pick the server by its saved name instead of serverId. Takes precedence when both are present. |
autoAdd | Boolean | 아니오 | Create the server if it is not in the library yet. addServer is accepted as an alias. |
durationSec | Integer | 아니오 | Test length in seconds. Defaults to 5. |
protocol | String | 아니오 | tcp (default) or udp. |
direction | String | 아니오 | download, upload or bidirectional. |
streams | Integer | 아니오 | Parallel stream count. |
bandwidthMbps | Number | 아니오 | Target bandwidth for UDP tests, in Mbps. |
format | String | 아니오 | json (default) or text. |
x-success | String | 아니오 | Callback URL. Receives result with the payload, or resultRef when the payload is too large to pass in a URL. |
x-error | String | 아니오 | Callback URL. Receives errorCode and errorMessage. |
x-cancel | String | 아니오 | Callback URL for a cancelled run. |
Returns the most recent saved result. Useful for periodic logging.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
serverId | String | 아니오 | Limit the lookup to one server: host:port, a UUID, or default. Omit it for the latest result overall. |
serverName | String | 아니오 | Same lookup by saved name. Takes precedence over serverId. |
format | String | 아니오 | json (default) or text. |
x-success | String | 아니오 | Callback URL. Receives result with the payload, or resultRef when the payload is too large to pass in a URL. |
x-error | String | 아니오 | Callback URL. Receives errorCode and errorMessage. |
x-cancel | String | 아니오 | Callback URL for a cancelled run. |
Fetches a payload the app handed back as a reference. When a result is too large for a callback URL, the app returns <code>resultRef</code> instead of <code>result</code>, and this endpoint exchanges that reference for the full payload.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
resultRef | String | 예 | Reference returned earlier in place of result. |
format | String | 아니오 | json (default) or text. |
x-success | String | 아니오 | Callback URL. Receives result with the payload, or resultRef when the payload is too large to pass in a URL. |
x-error | String | 아니오 | Callback URL. Receives errorCode and errorMessage. |
x-cancel | String | 아니오 | Callback URL for a cancelled run. |
iperf3cs://x-callback-url/run-test?serverId=iperf.example.com:5201&autoAdd=1&protocol=tcp&direction=download&durationSec=8&format=json&x-success=shortcuts://run-shortcut?name=StoreResult iperf3cs://x-callback-url/get-last-result?format=json&x-success=shortcuts://run-shortcut?name=PushSummary open "iperf3cs://x-callback-url/run-test?serverId=10.0.1.5:5201&protocol=udp&direction=bidirectional&durationSec=5" {
"success": true,
"startTime": "2026-08-21T09:42:02Z",
"endTime": "2026-08-21T09:42:10Z",
"duration": 8,
"receivedMegabitsPerSecond": 942.7,
"sentMegabitsPerSecond": 876.4,
"receivedBytes": 942700000,
"summaryText": "942.7 Mbps down, 876.4 Mbps up"
} 작업이 실패하고 x-error가 있는 경우, 콜백은 오류 객체를 받습니다.
| 코드 | 설명 |
|---|---|
| invalidParameter | A parameter is missing, malformed or out of range. |
| serverNotFound | No saved server matched the lookup, and autoAdd was not set. |
| networkUnavailable | The device has no usable network path to the endpoint. |
| connectionTimeout | The connection or the test exceeded its timeout. |
| testFailed | The test started and ended without a usable result. |
| cancelled | The run was cancelled before it finished. |
| requiresAppOpen | The action needs the app in the foreground. |
| unsupportedOnOSVersion | The action is not available on this OS version. |
{
"errorCode": "serverNotFound",
"errorMessage": "No saved server matches iperf.example.com:5201"
} 콜백 URL이 URL 인코딩되어 있고 체계가 기기에서 허용되는지 확인하십시오. 쿼리 값에 공백이나 이스케이프되지 않은 기호를 사용하지 마십시오.
신뢰할 수 있는 실행을 위해 테스트 런타임 동안 앱을 활성 상태로 유지하십시오. 단축어 예약을 사용하여 특정 시간에 실행을 트리거하십시오.
모든 호출에 x-error를 지정하고 errorCode로 분기하십시오. durationSec=5의 짧은 실행부터 시작하고, serverNotFound나 connectionTimeout이 돌아오면 긴 테스트는 의미가 없습니다.