Aleksey
ох. это реализация PHP на python поверх ruby в JVM ?
Ivan
HOLY SHI*
Aleksey
если да, должно работать очень быстро.
Александр
Я раз наблюдал эталонное решение для сетевой инвентаризации. Оболочка на MHT, внутри кастрированный jQuery, который формирует запросы WMI а ответы складывает в XML
Pavel
если да, должно работать очень быстро.
Issues:
> Hex2bin is 5-7 times slower than PHP's implementation
> Missing PHP functions needed to run DokuWiki
> Warnings slow down code quite a lot
Aleksey
ух ты. всего 5-7 раз ?
Alexander
ну вообще сам питон по уровню производительности сопоставим с php, видимо, тут нет никаких оптимизаций
🏳️ Phil
@pragus расскажи им про PyPy умными словами. принципы Футамуры там и всё такое
Roman
Roman
PyPy - это такая инфраструктура для создания интерпретаторов с jit. ну и ещё реализация python :)
Roman
в зависимости от задачи pypy может быть быстрее или медленнее обычного cpython. на удачном коде всё ускоряется в десятки раз, среднее по больнице - 6-8 раз.
Aleksey
а я праивльно нонимаю что то исследовательский проект ?
Aleksey
и ничего общего с "продуктивом" не имеет
Roman
Aleksey
хм. ну вот у меня сейчас проект на python 2.7. и чего если я поменяю в виртуаленве интерпретатор на pypy можно будет выкинуть пару тройку серваков ? или это как то сложнее ?
Alexander
я обычно на python3 делаю проекты (уже давно), с pypy не работал, так как не было необходимости оптимизировать скорость
Alexander
но там не 100% совместимость
Alexander
в самом проекте, возможно, что-то придётся менять
Alexander
а Python3-совместимый релиз PyPy - обеспечивает совместимость с Python3.2.5, что уже довольно устаревшая версия (сейчас обычно используют Python3.4 или Python 3.5)
Alexander
например, последняя Django работать не будет на такой старой версии
Aleksey
это те кто перешли на трешку.
Pavel
Alexander
да в общем-то для новых проектов имеет смысл трёшку брать, так как все проекты совместимы уже практически (ну, процентов 92-95%)
Alexander
старые проекты на python2 могут спокойно жить до 2020
Roman
Alexander
http://py3readiness.org/
Pavel
мне вот критичен
Тогда наверно надо задуматься о том чтобы переписать какие-то части на go/java etc.
Pavel
Потому что играться со всеми этими трансляторами в компиляторы интерпретаторов поверх python через ruby на основе jvm - себе же дороже выйдет.
Alexander
там обычно сначала с базу данных упираться начинает
Alexander
в*
Alexander
то есть придумываются всякие кеши или идёт переход на NoSQL
Pavel
Так а причем тут pypy тогда вообще, это другой разговор
Alexander
не, я имел в виду, что если у вас простой проект и вдруг появилась большая нагрузка - проблема будет не в питоне
Alexander
а в базе данных
Alexander
то есть сначала вы будете PostgreSQL тюнить и всякие кеши настраивать, а о производительности самого питона уже потом думать
Alexander
если захотеть - можно сильно заморочиться и переделать шаблоны, например, вот так https://habrahabr.ru/post/119582/
Alexander
а ту же джангу можно попробовать заменить на https://aiohttp.readthedocs.io/en/stable/
Alexander
ну и вот уже потом, после этих всех оптимизаций смотреть, что даст переход с обычного cpython'а на pypy
Aleksey
пропустил этап очередей. и впиливания кешей везде. а так же тюнинг планировщика заданий.
Roman
Roman
Alexander
ну первая-то версия без кешей
Alexander
кеши как раз возникают когда начинает упираться в базу и нужно что-то делать
Aleksey
разного рода кеши на мелком проекте не нужны и появляются при масштабировании с 100 до 10000 единиц обслуживания
Alexander
да , согласен, зачем усложнять простые проекты
Alexander
когда простой проект - тут важнее скорость разработки и стоимость поддержки.. зачастую заказчики сами не знают, пойдут у них эти новые проекты или нет, им важно протестировать идею
Roman
ну и в моем случае кеши не особо помогут )
Aleksey
хм, а что за нагрузка такая ?
Alexander
да, в некоторых случаях нет возможности кешировать, к сожалению
Alexander
вот благодаря контейнерам, облакам и прочему тут можно непохо масштабировать - в часы пик запускать больше контейнеров, а потом вырубать их
Alexander
если речь идёт о серверах в собственных датацентрах - тут можно через IPMI включать/выключать эти серверы в нужное время
Alexander 🐕
Avonar
Alexander 🐕
У меня что с контейнерами 24 хоста, что без контейнеров
Alexander
ну тут речь больше о том, что если контейнеры не нужны - зачем им там занимать оперативку, можно остановить, а серверы вообще выключить чтобы за электроэнергию не платить
Alexander
то есть в часы пик у вас 10 серверов работает, а обычно 3
Alexander
включаете только когда реально нужно
Alexander
и всё это автоматизировано
Alexander
а в облаках там могут деньги брать за потраченные ресурсы, а не за месяц аренды
Alexander
то есть чем меньше по времени у вас контейнер работает - тем дешевле получается для вас
Alexander
то есть когда он не нужен - вы его выключаете и деньги больше не капают за это
Alexander
то есть логичным будет поддерживать среднюю нагрузку на сервер около 40% , как только скрипт видит, что нагрузка стала значительно больше - он включает дополнительные серверы
Alexander
и запускает там дополнительные контейнеры для приложений, на которые идёт нагрузка
Alexander
думаю, это как-то через Kubernetes + IPMI делается
Dmitrii
Roman
Alexander
а, ну, тогда вам, наверное, нужно больше каналов (или толще) для доступа в интернет и локалка с каналами потолще - какие-нибудь свитчи с портами на 40 или 100Гбит/с типа https://www.supermicro.nl/products/accessories/networking/SSH-C48Q.cfm и карточками https://www.supermicro.nl/products/accessories/addon/AOC-SHFI-i1C.cfm в самих серверах
Alexander
и платная версия nginx, там вроде эти задачи решаются как-то
Aleksey
Александр, думается мне эти вопросы у Романа уже решены.
Alexander
ну да, если проект онлайн - как-то оно там, значит, работает
Alexander
> LXC + Ansible + Git. а вы не сравнивали Ansible с Salt Stack?
Dmitrii
Я сравнивал с Puppet.
Alexander
там вроде 4 популярные системы - ansible, saltstack, chef, puppet, первые две на питоне, вторые две на руби
Dmitrii
Лично с солтом не работал. Каждый раз, как я прикасался к папету - мне хотелось проблеваться.
Alexander
мне как питонисту хочется выбрать из первых двух и saltstack интуитивно больше нравится, но с обеими на практике не работал
Roman
Alexander
менеджер из nginx звонил на мобилку как-то - что-то там рассказывал, что вот для стриминга видео их nginx как раз то что нужно