چرا goodput از throughput مهمتره
خلاصهٔ کاملتر
وقتی یه سرویس LLM رو بنچمارک میکنیم، اولین عددی که همه سراغش میرن throughput ـه: چندتا درخواست در ثانیه از سیستم رد میشه. نویسنده (گراتزیانو کاستو از Akamas) میگه مشکل اینجاست که این عدد میتونه بالا بره ولی سرویس بیسروصدا بدتر بشه. معیاری که واقعاً مهمه goodput ـه: تعداد درخواستهای کاملی که هدفهای تأخیر رو هم رعایت کردن. تشبیهش هم سادهست؛ throughput تعداد بشقابهای خروجی آشپزخونهست، goodput تعداد مشتریهای راضی.
هدفهای تأخیر تو سرویسدهی LLM معمولاً دوتان: TTFT یعنی فاصله تا نمایش اولین توکن، و TPOT یعنی فاصلهٔ بین توکنهای بعدی. آزمایشها روی مدل Qwen2.5-7B با vLLM و یه کارت NVIDIA A10G ۲۴ گیگی داخل یه کلاستر EKS انجام شده، بار با GuideLLM ساخته شده و مانیتورینگ با Prometheus و Grafana و DCGM exporter بوده. فقط سه تنظیم دستکاری شده: gpu_memory_utilization، max_num_batched_tokens و max_num_seqs.
تو سناریوی چتبات، هدف بیشینهکردن مجموع توان prefill و decode بوده با یه شرط: میانگین TTFT زیر ۱.۵ ثانیه بمونه. دو کانفیگ برتر تقریباً TTFT یکسانی دارن، ولی یکیشون حدود ۵۰ درصد توان کل بیشتری میده. هزینهش جای دیگه دراومده: p95 TPOT از حدود ۵۰ میلیثانیه رسیده به حدود ۴۹۴ میلیثانیه، یعنی نزدیک ده برابر. نویسنده میگه چون فقط اولین توکن رو محدود کرده بود، جستوجو بودجهٔ تأخیر رو بدون اجازه از استریم بعدی برداشت.
این واگرایی طبیعیه: TTFT از مرحلهٔ prefill میاد که مدل پرامپت رو میخونه، و TPOT از مرحلهٔ decode که vLLM تو هر قدم به همهٔ درخواستهای فعال یه توکن میده — قدم پرتر یعنی صبر بیشتر بین توکنها. تو سناریوهای reasoning و agentic بدون محدودیت TTFT هم تست شده: دو کانفیگ برتر agentic تقریباً مساوی بودن (۶.۲۰ در برابر ۶.۱۱ درخواست بر ثانیه) ولی p95 TPOT شون حدود ۲۲۰ میلیثانیه فرق داشت.
جمعبندی نویسنده سهتاست: یه عدد throughput بدون SLO کنارش تبلیغاته نه مهندسی؛ بهترین کانفیگ اونی نیست که حدس میزنی، چون فضای تنظیمات پر از پرتگاههای کوچیکه و تیون دستی معمولاً سر اولین عدد خوب متوقف میشه؛ و این جواب ثابت هم نمیمونه، چون ترافیک و پرامپتها و مدلها عوض میشن. توصیهٔ عملیش اینه که اول هدف TTFT و TPOT رو مشخص کن، بعد دنبال بیشترین توان زیر همون سقف بگرد.
نکات کلیدی:
- goodput یعنی درخواست بر ثانیهای که هدفهای TTFT و TPOT رو هم رعایت کرده
- دو کانفیگ با TTFT یکسان: ۵۰٪ توان بیشتر به قیمت ده برابر شدن p95 TPOT
- سه تنظیم کلیدی vLLM که اپراتور بدون تغییر مدل و سختافزار میتونه عوض کنه: gpu_memory_utilization، max_num_batched_tokens، max_num_seqs
- برای امتیازدهی، یه پنجرهٔ هشت نقطهٔ پایدار به جای یه نمونهٔ تکی خونده شده تا نوسان لحظهای گولزننده نباشه
- بهترین کانفیگ با تغییر ترافیک و مدل جابهجا میشه، پس جستوجو باید تکرار بشه




