#python #uwsgi
#python #uwsgi
Вопрос:
Я получаю сообщение об ошибке
"* uWSGI listen queue of socket ":8000" (fd: 3) full !!! (101/100) *"
Когда это происходит, кажется, что что-то застревает, и запросы не обслуживаются.
Есть ли способ для меня сбросить текущие запросы или список ожидающих запросов, чтобы я мог отладить это?
Комментарии:
1. Вы можете получить представление из этой статьи: programmersought.com/article/12933603631
2. У вас есть код или аналогичный, чтобы воспроизвести ошибку?
3. @RakibulIslam спасибо. Но они не нашли способ показать, какой запрос выполняется.
4. @RafaelValero не совсем. Я предполагаю, что это может быть достигнуто путем создания API, которые просто спят
Ответ №1:
Я не думаю, что вы можете сбрасывать текущие запросы, но вы можете настроить uWSGI для их регистрации.
Есть много разных способов, которыми вы можете это сделать, в зависимости от того, что вам наиболее удобно. Документы по работе с uWSGI находятся здесь, и они довольно понятны относительно деталей в вопросе (включая примеры), поэтому я не буду подробно их описывать. В документах выполняется запись в файлы, создание системных журналов в стиле Unix на удаленных машинах и т. Д. В них также рассказывается (актуально для вас) о том, как вы можете использовать подключаемые регистраторы для регистрации только определенных событий.
В документации есть раздел, специально посвященный журналам запросов, а также раздел под названием «кулинарная книга кэширования uWSGI», который может помочь ускорить процесс.
Поскольку вас интересуют только определенные аспекты ваших журналов, вы также можете захотеть написать пользовательский формат для журналов, чтобы вы могли легко получить интересующую вас информацию.
Я бы предположил, что происходит то, что вы слишком популярны, какая-то часть ответа на запросы занимает слишком много времени, или комбинация — возможно, часть вашего кода нуждается в оптимизации (надеюсь, журналы помогут вам определить, какие запросы обрабатываются долго, и таким образом диагностировать этопроблема). В любом случае, мы надеемся, что просмотр запроса, когда он поступает, и определение того, что запрашивается и сколько времени требуется вашей кодовой базе для ответа, поможет вам понять, что вызывает проблему.
В случае, если погружение в ведение журнала немного чересчур, вы можете взглянуть на более «основополагающую» информацию о том, как управлять сервером uWSGI здесь .