@ru_python

Страница 2719 из 9768
тнн Itjunky
22.04.2017
07:28:33
Ну а в логах фласка то что?

uwsgi как я понимаю

Ruslan
22.04.2017
07:29:36
я с фласком так себе, в каких логах? у меня их могли и не включить, проект не мой, копаюсь

тнн Itjunky
22.04.2017
07:30:34
логи uwsgi же, под ним же питончик гоняется

Google
Ruslan
22.04.2017
07:30:34
вот так сделал "loggers": { "werkzeug": { "level": "DEBUG", "handlers": ["syslog_handler"], "propagate": "no" } },

Ruslan
22.04.2017
07:31:23
да хз, я больше по апачу-джанго

Роман
22.04.2017
07:31:28
судя по ошибке, он не видит твое приложение

Ruslan
22.04.2017
07:31:32
uwsgi тут не замечен

Роман
22.04.2017
07:31:48
а как фласк запускается?

Ruslan
22.04.2017
07:31:51
он видит, но когда запросов больше 100rps, то начинает 502 кидать

тнн Itjunky
22.04.2017
07:31:55
а сам nginx правильно настроен?
Да какая разница? 502 о недоступности бэкенда

Роман
22.04.2017
07:32:20
Да какая разница? 502 о недоступности бэкенда
может быть там прокси, который не туда смотрит

тнн Itjunky
22.04.2017
07:32:34
С чего вдруг, если при малом рпс всё пашет?

Роман
22.04.2017
07:33:08
С чего вдруг, если при малом рпс всё пашет?
ну дык этот вопрос до инфы про рпс был

хотя опять же, смотря как nginx настроен — wsgi или прокси?

Google
Ruslan
22.04.2017
07:34:54
а как фласк запускается?
https://hastebin.com/wozaqipebo.nginx

fastcgi_pass unix:/var/lib/WebServer/service.sock;

Роман
22.04.2017
07:35:40
ааа, fastcgi

тнн Itjunky
22.04.2017
07:35:41
unix:/var/lib/WebServer/service.sock вот кто этот сокет запускает?

Роман
22.04.2017
07:36:13
у тебя fastcgi-сервер должен быть запущен

отсюда, кстати и 2 минуты: fastcgi_read_timeout 120s;

тнн Itjunky
22.04.2017
07:36:43
это д таймаут

Роман
22.04.2017
07:36:51
только странно — почему он 502 а не 503 выдает

тнн Itjunky
22.04.2017
07:37:02
типа сколько ждать ответа, если он пока не поступил

Ruslan
22.04.2017
07:37:49
во, а со стороны фласка вот так from flup.server.fcgi import WSGIServer

ааа, fastcgi
уже не рулит?

тнн Itjunky
22.04.2017
07:39:59
уже не рулит?
никогда так не делал, есть же uwsgi для питона

Ruslan
22.04.2017
07:40:15
я же говорю, легаси проект

уже сделано :)

Роман
22.04.2017
07:40:26
аналогично, хотя вроде говорят профит какой-то есть

ну да ладно

давай подумаем, в чем может быть проблема в этом случае, если не с конфигом nginx'а

Ruslan
22.04.2017
07:41:07
короче, надо лезть во flup и смотреть, как они там логируют

Роман
22.04.2017
07:41:39
а в сислоге ничего нет?

Google
Роман
22.04.2017
07:41:55
или объем такой, что не разберешь?

Ruslan
22.04.2017
07:41:56
в каком?

объёма много

Ruslan
22.04.2017
07:42:17
тут всё в journald

по идее оно всё валится в лог и выгребается по имени сервиса

и там нет 502

Роман
22.04.2017
07:43:13
и там нет 502
а зачем тебе 502?

Ruslan
22.04.2017
07:43:18
но между nginx и werkzeug стоит flup и вот он меня смущает

Роман
22.04.2017
07:43:50
а зачем тебе 502?
это ж ошибка nginx'а. Может посмотришь по ошибкам в логе?

Ruslan
22.04.2017
07:46:01
так, в nginx первая ошибка была в 2017-04-21T15:14:06+00:00

тнн Itjunky
22.04.2017
07:46:05
и там нет 502
Там и не должно быть

Ruslan
22.04.2017
07:46:37
теперь смотрю лог сервиса

Роман
22.04.2017
07:46:41
Нужно лог смотреть, а не думать
распечатаю и повешу на стенку

тнн Itjunky
22.04.2017
07:46:51
так, в nginx первая ошибка была в 2017-04-21T15:14:06+00:00
Вот либо ищи по этому времени, либо заново тест пукскай и мониторь новые ошибки

Ruslan
22.04.2017
07:47:38
вижу, что в 15:14:00 завершилось много POST запросов и с 15:14:06 начали копиться новые

тнн Itjunky
22.04.2017
07:47:53
Это правильно
Много времени сэкономит =)

Ruslan
22.04.2017
07:49:40
так, потом куча завершений, никаких ошибок в логах сервиса

Google
Роман
22.04.2017
07:52:06
а сервис сам работать продолжает?

Ruslan
22.04.2017
07:53:17
да, если снять нагрузку, то приходит в норму

и видно, что запросы отрабатывает, в общем, не всё уходит в 502

Роман
22.04.2017
07:57:57
Ruslan
22.04.2017
07:58:40
где смотреть? nginx?

Nikolay
22.04.2017
07:58:59
nginx и настройки uwsgi

Ruslan
22.04.2017
07:59:07
worker_processes 24;

Роман
22.04.2017
07:59:23
Nikolay
22.04.2017
07:59:38
у него fastcgi
тогда имеет смысл переделать на uwsgi, как первый шаг

Роман
22.04.2017
07:59:56
Admin
ERROR: S client not available

Роман
22.04.2017
08:00:12
что же у тебя они там обрабатывыают, что не справляются

Ruslan
22.04.2017
08:00:21
тогда имеет смысл переделать на uwsgi, как первый шаг
сначала надо заставить работать, остальное потом

судя по логам, основная часть запросов отрабатывает в десятую секунды, а вот небольшая часть больше 2-3 секунд и это меня смущает

Ruslan
22.04.2017
08:02:13
data={'timeout': 2} - вот это меня смущает в логах :)

могли заложиться, что успеют за 2 секунды :)

-POST | /api/session? | (43 in progress) | (2.991720 response time) | (371 bytes response size) | (200 response status)

Nikolay
22.04.2017
08:05:32
https://flask-debugtoolbar.readthedocs.io/en/latest/

Google
Alexandr Korotaev
22.04.2017
08:05:38
Народ. Кто нибудь реализовывал scraping на сайте защищенного авторизацией через google?? что использовали?

Nikolay
22.04.2017
08:06:16
+ https://pypi.python.org/pypi/Flask-DebugToolbar-LineProfilerPanel/1.0.2

Ruslan
22.04.2017
08:15:33
+ https://pypi.python.org/pypi/Flask-DebugToolbar-LineProfilerPanel/1.0.2
чем он меня спасёт, если фласк работает

к тому же у меня не сайт, а сервис, рест такой :)

Nikolay
22.04.2017
08:16:05
чем он меня спасёт, если фласк работает
если ты уверен, что тормоза не в коде приложения - меняй fastcgi на uwsgi

если не уверен - запрофайли и проверь

Rinat
22.04.2017
08:16:26
502 потому что у тебя бекенд занят

Другие запросы выполняет

Ruslan
22.04.2017
08:16:50
а где может ограничиваться количество запросов?

тнн Itjunky
22.04.2017
08:20:05
да, если снять нагрузку, то приходит в норму
Может там в базу утыкается или ещё какая очередь возникает?

Ruslan
22.04.2017
08:21:15
да нет базы, судя по логам 50 активных запросов, среднее время отклика 2-3 секунды

в том то и полтергейст

остальные не проходят до сервиса

тнн Itjunky
22.04.2017
08:23:53
да нет базы, судя по логам 50 активных запросов, среднее время отклика 2-3 секунды
Ну вот у nginx подозреваю два процесса и по 24 воркерных потока, и того 48 почти 50

Как они заканчиваются, начинает 502 херачить

Потом, в течение какого-то времени уже отрабатывающие запросы начинают возвращать ответ

Ruslan
22.04.2017
08:24:35
а где процессы настраиваются?

тнн Itjunky
22.04.2017
08:24:58
Нельзя ставить больше процессов nginx чем у тебя реальних ядер в системе

Прироста не будет, а вот тормоза на переключения контекстов ты получишь

Ruslan
22.04.2017
08:25:19
у меня 24 ядра

и 24 воркер процесса

тнн Itjunky
22.04.2017
08:25:40
Там же рядом и число процессов

worker_processes 24;
Рядом с этим

Страница 2719 из 9768