خطای 504 Gateway Time-out در nginx

سلام عزیزان بنده بخاطر این که دیتای سرور زیاده شده وقتی از طریق پنل ادمین جنگو اطلاعات رو میبینم
به خطای 504 Gateway Time-out روبرو میشدم فقط جدول های که اطلاعات زیادی دارن
و با ست کردن

proxy_connect_timeout   300;
 proxy_send_timeout      300;
 proxy_read_timeout      300;

این مشکل شد ولی الان زمان خیلی زیادی میبره
در ضمن وقتی از طریق api ریکوست میزنم خیلی سریع تر جواب داده میشه
روش بهتری برای مدیریت این مشکل ندارین تا سریع تر بشه جواب گرفت از سرور

دیتا بیس چی استفاده میکنید ؟
uwsgi یا gunicorn کدوم از اینا استفاده میشه ؟

1 Like

پیشنهادم اینه که تولبار جنگو دیباگ رو نصب کنی و کوئری ها بررسی کنی شاید زود تر عیب یابی کنی

https://django-debug-toolbar.readthedocs.io/en/latest/

1 Like

دیتابیس postgres sql
uwsgi

ممکنه یه لیست بزرگ از رکورد های یک جدول لود کنی که صفحه بندی (paginate) نشده باشه، باید اطلاعت بیشتری بدی از نوع دیتا و کوئری ها یا پردازشی که انجام‌میشه.
شاید مشکل N+1 Query وجود داره، یا برعکس در جلو گیری از N+1 Query زیاده روی کردی و مشکل مموری بوجود آمده. امکان وجود dead lock در ترنزکشن ها هم هست. یکی از موارد دیگه برای عیب یابی میتونه چک کردن ایندکس های دیتابیس باشه.
شاید هم کوئری جستجو در متن خیلی سنگینی داری که در این صورت بهتره از الستیک استفاده کنی.
برای شروع اول ببین چه فانکشنی از سیستم یا اپلیکیشن شما بیشترین زمان و منابع رو میبره، و لاگ ها رو با دقت بررسی کن، حتما به اطلاعات جالبی میرسی.

1 Like