[Bugfix] Fix the issue where the qwen3-omni model long-term stability test sometimes gets stuck without sending requests. (#3468)

Signed-off-by: zhumingjue <zhumingjue@huawei.com>
This commit is contained in:
zhumingjue138 authored and GitHub committed 2026-05-13 09:15:20 +08:00
1 parent dca369d448
commit c167b9d691
5 files changed
+21 -83

No files matched your search

+17 -4
View File
@@ -2,6 +2,7 @@ import json
import os
import re
import subprocess
import threading
import time
from datetime import datetime
from pathlib import Path
@@ -377,11 +378,23 @@ def run_benchmark(
command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, bufsize=1, universal_newlines=True
)
for line in iter(process.stdout.readline, ""):
print(line, end=" ")
if process.stdout is None or process.stderr is None:
raise RuntimeError("Failed to capture benchmark process output streams")
for line in iter(process.stderr.readline, ""):
print(line, end=" ")
def _forward_stream(stream) -> None:
try:
for line in iter(stream.readline, ""):
print(line, end="")
finally:
stream.close()
stdout_thread = threading.Thread(target=_forward_stream, args=(process.stdout,))
stderr_thread = threading.Thread(target=_forward_stream, args=(process.stderr,))
stdout_thread.start()
stderr_thread.start()
stdout_thread.join()
stderr_thread.join()
process.wait()
if "--result-dir" in command:
index = command.index("--result-dir")
+1 -53
View File
@@ -1,60 +1,8 @@
[
{
"test_name": "test_qwen3_omni_stability",
"server_params": {
"model": "Qwen/Qwen3-Omni-30B-A3B-Instruct",
"stage_overrides": {
"2": {
"max_num_batched_tokens": 1000000
}
}
},
"benchmark_params": [
{
"dataset_name": "random-mm",
"backend": "openai-chat-omni",
"endpoint": "/v1/chat/completions",
"duration_sec": 86400,
"request_rate": 0.3,
"num_prompts_per_batch": 10,
"random_input_len": {
"min": 0,
"max": 8000
},
"random_output_len": {
"min": 0,
"max": 1000
},
"random_range_ratio": 0.0,
"random_mm_base_items_per_request": {
"min": 0,
"max": 6
},
"random_mm_num_mm_items_range_ratio": 0.0,
"random_mm_limit_mm_per_prompt": {
"image": 2,
"video": 2,
"audio": 2
},
"random_mm_bucket_config": {
"(128-1024, 128-1024, 1)": 0.34,
"(256-1080, 256-1920, 2-16)": 0.33,
"(0, 1-60, 1-3)": 0.33
},
"ignore_eos": true,
"percentile-metrics": "ttft,tpot,itl,e2el,audio_rtf,audio_ttfp,audio_duration"
}
]
},
{
"test_name": "test_qwen3_omni_stability_async_chunk",
"server_params": {
"model": "Qwen/Qwen3-Omni-30B-A3B-Instruct",
"stage_overrides": {
"2": {
"max_num_batched_tokens": 1000000
}
},
"extra_cli_args": ["--async-chunk"]
},
"benchmark_params": [
@@ -64,7 +12,7 @@
"endpoint": "/v1/chat/completions",
"duration_sec": 86400,
"max_concurrency": 2,
"num_prompts_per_batch": 10,
"num_prompts_per_batch": 50,
"random_input_len": {
"min": 0,
"max": 8000
+1 -24
View File
@@ -5,36 +5,13 @@
"model": "Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice"
},
"benchmark_params": [
{
"dataset_name": "random",
"backend": "openai-audio-speech",
"endpoint": "/v1/audio/speech",
"duration_sec": 86400,
"request_rate": 0.3,
"num_prompts_per_batch": 10,
"random_input_len": {
"min": 0,
"max": 1000
},
"random_output_len": {
"min": 0,
"max": 1000
},
"random_range_ratio": 0.0,
"extra_body": {
"voice": "Vivian",
"language": "English"
},
"ignore_eos": true,
"percentile-metrics": "ttft,e2el,audio_rtf,audio_ttfp,audio_duration"
},
{
"dataset_name": "random",
"backend": "openai-audio-speech",
"endpoint": "/v1/audio/speech",
"duration_sec": 86400,
"max_concurrency": 2,
"num_prompts_per_batch": 10,
"num_prompts_per_batch": 50,
"random_input_len": {
"min": 0,
"max": 1000
@@ -11,7 +11,7 @@
"backend": "vllm-omni",
"duration_sec": 86400,
"max_concurrency": 1,
"num_prompts_per_batch": 10,
"num_prompts_per_batch": 50,
"width": {
"min": 512,
"max": 2048
+1 -1
View File
@@ -19,7 +19,7 @@
"backend": "v1/videos",
"duration_sec": 86400,
"max_concurrency": 1,
"num_prompts_per_batch": 20,
"num_prompts_per_batch": 50,
"enable_negative_prompt": true,
"random_request_config": [
{"width": 832, "height": 480, "num_inference_steps": 4, "num_frames": 81, "fps": 16, "weight": 0.5},