Đầu tiên tôi sẽ đi kèm với một số phản hồi cho thiết lập của bạn.
Khi bạn đang xây dựng ứng dụng Python, không nên sử dụng gunicorn làm máy chủ lưu trữ, bản dựng của nó dành cho việc phát triển, bạn ngừng sử dụng uWSGI cho ứng dụng Python của mình.
Tiếp theo, khi bạn đang sử dụng proxy trong NGINX, tôi khuyên bạn nên tắt bộ đệm cho proxy của mình
tắt proxy_buffering;
Khi bạn vô hiệu hóa tính năng lưu vào bộ đệm, bạn làm cho trang web chậm hơn một chút về thời gian tải để máy khách nhận ra nhu cầu gửi gói đầy đủ từ máy chủ đến máy khách. những người hết hạn của tôi nói với tôi rằng nó không quá nhiều khi chúng tôi đang nói về việc phát triển web và nó bảo vệ bạn về lâu dài nếu bạn muốn chạy ứng dụng của mình trên nhiều máy chủ đằng sau một bộ cân bằng tải như NGINX Proxy, Docker Cluster hoặc thứ gì đó tương tự.
Sau phản hồi của tôi, có vẻ như bạn có một thứ gì đó trong mã của mình ở đó cứ lặp đi lặp lại và không bao giờ dừng lại hoặc bạn có một kết nối/truy vấn SQL rất lâu, mất hơn 3 phút để thực thi.
Những gì tôi sẽ giới thiệu ở đây là nó cho phép đăng nhập chậm trên cơ sở dữ liệu của bạn để bạn có thể nhận được nhật ký cho tất cả các truy vấn, mất hơn 0,5 giây, nó có thể là một chỉ mục bị thiếu trong cơ sở dữ liệu của bạn.
Python bình thường không mất 3 phút để thực thi một vùng tập lệnh/mã nên âm thanh của nó giống như một dịch vụ bên ngoài, vd. cơ sở dữ liệu, api hoặc một cái gì đó trong trường hợp này.
Khi bạn đã bật ghi nhật ký chậm cho cơ sở dữ liệu của mình, trường hợp thứ hai sẽ tạo một nhật ký đơn giản cho tập lệnh của bạn với "thời gian bắt đầu" + "thời gian kết thúc" và kết xuất nó bằng phương thức/trang/url ở khu vực này và kết xuất nó thành file để bạn dễ dàng mở, muộn nó chạy tầm 5-6 tiếng như bạn nói hoặc lâu hơn để bắt lỗi bạn.
Tôi nghĩ đó là cách tốt nhất, vấn đề đầu tiên sẽ là tìm ra lý do tại sao mã của bạn mất 3 phút để thực thi.