@spbpython

Страница 774 из 785
Stepan
26.09.2018
14:09:37
кто-нибудь на ботле работал?

Google
Stepan
26.09.2018
14:36:09
Вот мне прирост по скорости в отличие от фласка обещают в 3 раза

Решил попробовать

Как думаешь?

Не хочется торнадо и джангу, все остальное ок готов попробовать

Serge
26.09.2018
14:37:25
Вот мне прирост по скорости в отличие от фласка обещают в 3 раза
Ну... Такое. Думаю, может оно реквест синтетический может и разберёт быстрее. Но все узкие места будут в твоём коде и несравнимо большие, готов поспорить:)

Не хочется торнадо и джангу, все остальное ок готов попробовать
Бери flask и не парься тогда. А что у тебя против джанги?

Stepan
26.09.2018
14:39:12
Не будет базы

Просто рест апи

Кидаешь ему гет запрос Он ходит на хранилище по хттп И возвращает картинку

Serge
26.09.2018
14:40:03
Просто рест апи
Интересно. И ходить наружу не будет? Может тогда все возможные ответы статикой сложить где-нибудь?

Stepan
26.09.2018
14:41:38
Нельзя

Google
Serge
26.09.2018
14:42:24
Кидаешь ему гет запрос Он ходит на хранилище по хттп И возвращает картинку
И картинки долго отдаёт из приложения... Ну, мне кажется, тут всё равно. Ты всё время будешь в http ответе проводить.

Звучит как работа для asyncio или чего угодно под gevent-ом
Например, paste+webob. А можно и просто написать такой wsgi app чистый и сервить им один url за uwsgi с gevent-ом

Stepan
26.09.2018
14:51:24
Stepan
26.09.2018
14:51:48
Не пробовал, Серёж

Пробовал только фласк

Потестил, flask gunicorn В контейнере на ноде в 8 ядер выдаёт 68 рпс на 100 юзерах, скорость ответа 700ms А надо 150-200

Марат
26.09.2018
14:55:15
Ток медленный из-за холода, надо цпу прогревать

У нас тоже на проде всякое происходить стало. Но мы поняли, в чем дело. Слава богу, физику-то учили в школе

Stepan
26.09.2018
15:00:10
Попуг, ты серьёзно?

Марат
26.09.2018
15:01:36
Да. Мы на стойку с серваками 380 В подали и все

Пока ничо не отвалилось вроде

Stepan
26.09.2018
15:08:48
А что вместо?

Работай всё время с байтами
Все время с байтами не получится Я беру картинку, надо изменить quality Что это в байтах - хер его знает

Google
Stepan
26.09.2018
15:10:15
Да

Serge
26.09.2018
15:10:50
Да
Ну save в стрим респонза и привет

Ну save в стрим респонза и привет
И from_bytes там был вроде

Alexander
26.09.2018
15:12:48
How we rolled out one of the largest Python 3 migrations ever – Dropbox Tech Blog https://blogs.dropbox.com/tech/2018/09/how-we-rolled-out-one-of-the-largest-python-3-migrations-ever/

Serge
26.09.2018
15:12:58
И from_bytes там был вроде
И тут мы вспоминаем про наиболее вероятное узкое место в твоём коде

Alexander
26.09.2018
15:13:03
Как то недавно обсуждали переезд на python 3

Serge
26.09.2018
15:13:53
Как то недавно обсуждали переезд на python 3
Да, я да видел сегодня эту тему перед созвоном и хотел после кинуть сюда. Спасибо!:)

Aleksey
26.09.2018
15:17:44
Третий раз же уже ты с этим - uwsgi
А uwsgi разве умеет в асинхронщину? Например, перед aiohttp стоять?

Stepan
26.09.2018
15:18:21
Ладно, завтра попробую Спасибо!)

Serge
26.09.2018
15:19:21
А uwsgi разве умеет в асинхронщину? Например, перед aiohttp стоять?
Как реверс прокси - да. А других опций не завезли пока особо. Но так и nginx достаточно. Но он умеет wsgi с gevent. Чего всем должно быть достаточно

Serge
26.09.2018
15:21:46
Т.е. для aiohttp либо само aiohttp, либо gunicorn?
Я не понимаю зачем там gunicorn. Это ещё одна прослойка на питоне, которая парсит http. Т.е. ещё одно место для тормозов.

Serge
26.09.2018
15:24:28
Идея сервера приложения в том, чтобы преобразовать http в понятный приложению программный протокол. Для этого есть wsgi протокол, но он работает с asyncio. Поэтому aiohttp разбирает http на питоне.

Eugene
26.09.2018
15:27:12
How we rolled out one of the largest Python 3 migrations ever – Dropbox Tech Blog https://blogs.dropbox.com/tech/2018/09/how-we-rolled-out-one-of-the-largest-python-3-migrations-ever/
For example, we use Qt on Windows and Linux: Recent versions of Qt require more modern compilers due to the inclusion of Chromium (via QtWebEngine). Мда. При том что qwebengine нафиг не сдался в клиенте дропбокса.

Yaroslav
26.09.2018
15:33:11
Т.е. для aiohttp либо само aiohttp, либо gunicorn?
у gunicorn есть воркеры для aiohttp если не путаю

а так можно просто nginx как прокси к aiohttp

Eugene
26.09.2018
15:41:16
For example, we use Qt on Windows and Linux: Recent versions of Qt require more modern compilers due to the inclusion of Chromium (via QtWebEngine). Мда. При том что qwebengine нафиг не сдался в клиенте дропбокса.
Successfully making a transition of this size (our application contains over 1 million Python LOCs) Интересно , что они там понаписали на миллион строк на питоне? На стороне сервера и на стороне клиента. Не представляю.

Dmitry
26.09.2018
15:47:08
тесты

Google
Алексей
26.09.2018
15:48:02
опять же, там есть такая штука как плеер, редактор документов, не знаю про совместную работу

Eugene
26.09.2018
15:53:11
Я так с ходу и не вспомню проекта на питоне с млн строк кода. Ну может опенстек, но я не считал сколько там

Алексей
26.09.2018
15:57:42
в открытых я нашёл 200к

Admin
ERROR: S client not available

Eugene
26.09.2018
16:00:15
в открытых я нашёл 200к
Ага, pandas например :)

Stepan
26.09.2018
18:39:03
Так, ну да, в режиме воркеров плохо работает все равно

Roman
26.09.2018
18:40:08
Вот мне прирост по скорости в отличие от фласка обещают в 3 раза
Прирост по скорости обычно обещают беляры

Stepan
26.09.2018
18:40:29
М?

Ещё вопрос

Вот есть рест апи Оно как бы просто рест апи Работает в режиме "нажал на плей" Сейчас возможно будет смех в зале А надо ли что-то делать, например, для фласка, кроме воркеров гуникорна или threaded=true, чтобы работала много по точность?

Stepan
26.09.2018
18:42:27
Без nginx, балансировка остаётся за другой проксей

Roman
26.09.2018
18:44:07
Без nginx, балансировка остаётся за другой проксей
OK, Объясни тогда что делает твое приложение

Stepan
26.09.2018
18:47:57
В какую лезть? - я не знаю, есть я, с желанием разобраться и отсутствием знаний, и набор строк в гугле типа "многопоточность фласк" ... Понимаешь?

Serge
26.09.2018
18:48:30
В какую лезть? - я не знаю, есть я, с желанием разобраться и отсутствием знаний, и набор строк в гугле типа "многопоточность фласк" ... Понимаешь?
Ответ на твой вопрос: ничего не надо делать, если ты включил треды/потоки/процессы в сервере приложений. Он для того и нужен, чтобы каждый запрос твоё wsgi приложение дергать в отдельном треде/потоке/процессе

Google
Stepan
26.09.2018
18:51:33
Сохранил месседж Завтра начну Спасибо, Сергей

Stepan
26.09.2018
18:51:47
Хорошо Посмотрю

Roman
26.09.2018
19:01:32
Без nginx, балансировка остаётся за другой проксей
Причем тут балансировка? Почему не проксировать с хранилища силами nginx?

Stepan
26.09.2018
19:03:45
Я тебе написал

Потому что это не статика

Centrino
26.09.2018
20:17:37
как в SQLalchemy управлять сессиями? чтобы не в каждой функции создавать сессию

Serge
26.09.2018
20:44:03
Алексей
26.09.2018
20:52:38
какая классная пипятка https://dynaconf.readthedocs.io/en/latest/

Serge
27.09.2018
06:45:36
какая классная пипятка https://dynaconf.readthedocs.io/en/latest/
По описанию очень мощно. Есть опыт использования уже?

Алексей
27.09.2018
06:47:27
Вчера увидел что парни из pulpproject к себе впилили. У нас пришлось сделать нечто такое же но с основанием в консуле

Eugene
27.09.2018
07:19:25
По описанию очень мощно. Есть опыт использования уже?
А что именно мощно? Вроде просто развесистая либа для конфигурирования. Ничего особенного. Хотя вот меня заинтересовала интеграция с vault. Мне как раз надо в конфиге хранить секретные токены, и сейчас они просто в файлике лежат, типа как у них в .secrets файлах :)

Алексей
27.09.2018
07:34:33
Переменные окружения найс. Но тайпчекинг..

amureki
27.09.2018
08:27:16
Помню момент, когда джсон пытались засунуть в переменные окружения. И засунули таки

Страница 774 из 785