Load test of 1000 players on the server: CPU is the ceiling (~135 req/s); player-simulation tools

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-13 19:48:00 +03:30
parent ba4ecff29e
commit e3c8962b7b
5 changed files with 150 additions and 0 deletions

View File

@@ -474,6 +474,11 @@ anyone who can read this repo can forge a token for any user.**
و `env-before-demo-removal-20261013-190632`. سقفِ پیامکِ روزانه ۲٬۰۰۰. اعتبارِ کاوه‌نگار آن روز ۲۵۳٬۸۴۱ ریال (شارژ: سینیور).
- **CPUِ ماشین:** `metabase` و `celerybeat`ِ Artina (مالِ دیگران) بی‌وقفه ری‌استارت می‌شوند (۱۷۶ و ~۱۲۰۰ بار در ساعت) و
حدودِ ۳ از ۸ هسته را می‌گیرند. به آن‌ها دست نزن؛ درخواست از ادمینِ سرور.
- **آزمونِ بارِ بازیکن‌ها روی سرور (۱۹:۴۰، `tools/loadtest/play.py`، ۱۰ پروسه، هر کاربر هر ۱ تا ۵ ثانیه یک درخواست):**
۳۰۰ نفر ۸۸ درخواست/ثانیه، میانه ۰٫۱ ثانیه؛ ۶۰۰ نفر ۱۳۷، میانه ۱٫۴ ثانیه، بی‌خطا؛ ۱٬۰۰۰ نفر سقفِ ~۱۳۵، میانه ۴ و صدکِ ۹۵ ۱۵ ثانیه،
۳٪ اتصالِ بی‌جواب. هر ۱۶٬۷۶۷ درخواستی که به اپ رسید ۲۰۰ گرفت؛ هیچ ردی برای poolِ دیتابیس نبود. گلوگاه CPU است: ماشین ۹۰ تا ۹۸٪
مشغول و هر ۴ پروسه‌ی gunicorn نزدیکِ یک هسته. برای ۱٬۰۰۰ نفرِ دسته‌بالا: رفعِ دو سرویسِ خرابِ دیگران + هسته‌ی بیشتر و ۸ worker
(برآورد ~۲۷۰ درخواست/ثانیه؛ با ۸ worker `DB_POOL_MAX_SIZE` ۶ تا ۴۸+۶ ≤ ۵۷). ۸۰ سوالِ واقعیِ دستیار خرج شد. کاربرانِ آزمایشی پاک شدند.
- `/etc/nginx` را classifierِ حالتِ خودکار فقط با تأییدِ صریحِ مالک و گام‌به‌گام (بکاپ → نصب و `nginx -t` → reload) اجازه داد.
## کافه‌بازار: اشتراک، تخفیفِ پویا، تمدیدِ خودکار — روی سرور از ۲۰۲۶-۱۰-۱۲ ۱۷:۵۴ (بک‌اند `8077ab4`، فرانت `fffdeac`)