بهزاد خلیفه

Backend Developer

سابقه کاری

Backend Developer

۵ اردیبهشت ۱۴۰۴
فعلی

شرکت WatchTower

python
typescript
fastapi
nestjs
postgresql
docker
pytest
jest

مهارت‌ها و تکنولوژی‌ها

python
typescript
fastapi
nestjs
postgresql
docker
pytest
jest

مقالات و مشارکت‌ها

سربار پنهان FastAPI: چگونه Thread Pool باعث افت عملکرد می‌شود؟

این مقاله در مورد FastAPI هست که هر dependency که بصورت sync هست به‌طور خودکار در یک Thread Pool اجرا می‌شود. این موضوع در ظاهر مشکلی ایجاد نمی‌کند، اما وقتی تعداد dependencyها زیاد شود یا تعداد درخواست‌ها بالا برود، ظرفیت محدود Thread Pool باعث ایجاد صف، افزایش تأخیر و کاهش کارایی می‌شود. حتی عملیات‌های سبک مثل ساختن یک کلاس ساده هم وارد Thread Pool می‌شوند و سربار غیرضروری ایجاد می‌کنند. راه‌حل پیشنهادی مقاله استفاده از کتابخانه fastapi-async-safe-dependencies است که اجازه می‌دهد dependencyهای سبک را به‌صورت async و بدون استفاده از Thread Pool اجرا کنید، و در نتیجه کارایی و پاسخ‌دهی سرویس در بار بالا بهتر می‌شود.

آذر ۱۴۰۴