Maxim
Что и требовалось доказать
А что требовалось доказать?
Юрий
что многие любят измерять производительность криво написанного решения на php с более-менее нормальным кодом на lua в нгинкс нахераченном. а потом кричать на каждом углу какой же медленный php.
Юрий
смотря какая задача стоит. если просто ресайз - то возможно можно и смириться с тем что по сути прокся занимается бизнес логикой. если какое-то более сложное решение вроде вотермарков, оптимизации форматов без потери качества и т.п. - то вот тут конечно вопрос, а стоит ли нгинксу этим заниматься и не является ли это херней. в любом случае в рамках самого нгинкса руки не на 100% развязаны
Dmitry
Беда в том что у вас нжинкс и код на пыхе в разной зоне ответственности
Юрий
Уверенное заявление о качестве приложений что мы тестировали
ну обычно когда люди говорят что тестировли, они прикладывают бенчмарки того что тестировали. а то я в воздух тоже могу сказать что питон медленнее пхп, но потребуется слова как-то обосновать и потом обосновать почему решение на питоне например делает более сложную логику
Dmitry
Уж лучше напишите "быстрый" код на пыхе
Юрий
а так обычно когда пишут что что-то перенесли на нгинкс и стало катастрофически быстрее - умалчивают что потеряли 90% бизнес логики
Dmitry
Или другом языке
Юрий
нет, просто есть юнит, где эти решения например закладываются архитектурно самими разработчиками нгинкса
Юрий
Если смотреть на nginx и видеть в нем только "прокси" то конечно сложно представить что это представление ошибочно, так как оно в голове уже очень давно и воспринимается как истина
ну и вообще если писать витиевато, обходя какие-то факты и прямые доказательства (бенчи и примеры), то это не прибавляет словам веса.
Юрий
если ресайз jpeg должен пройти с компрессией в 95%, а png 5%, да и при этом вотермарк для каждой обратившейся страны должен быть разный (локализация) - то уже переходит в разряд оной.
Юрий
а так конечно надо смотреть конкретную задачу
Юрий
Какие бенчи ты хочешь увидеть?
выше были слова что приложение на пхп которое делает ресайз медленнее чем решение на нгинксе
Юрий
я хотел в бенче увидеть что они делают логику 1 в 1, без упрощений
Юрий
ну и время обработки)
Юрий
просто раз тут хабр затронули как место для вот таких статей типа "не видел на хабре - херня", то стоит наверное глянуть на любую статью где что-то пытаются сравнивать и внезапно выясняется что более медленное решение или написано было херово или просто на 95% делает легаси-логику которую в более быстром выкинули
Юрий
это нормально и обычно это даже не скрывают, говоря что перешли на сервис на go просто пересмотрев бизнес-логику и упростив ее
Юрий
но аппелировать этим потом в спорах говоря что вот оно - решение универсальное - глупо
Юрий
выше обсуждали envoy попутно упомянув про ряд костылей - из той же оперы. может и быстрее, но пока что есть ряд не решенных моментов которые придется учесть. а вот когда учтут - может уже и не так быстро станет.
Вадим
Есть ли возможность каким-то адекватным образом побороть UDP через докер под виндой, проблема така что из контенера рассылается броадкаст, судя по шарку он проходит, и клиенты отправляют ответ .. но ответ до контейнера не доходит, стоит net=host. Как можно поправить?
Denis
Товарищ синьор пхп девелопер дело говорит ! х)))
Maxim
но аппелировать этим потом в спорах говоря что вот оно - решение универсальное - глупо
Мы внедрили ресайз налету в наших проектах, избавились от необходимости хранения ресайзов картинок, все наши внешние приложения самостоятельно определяют какого размера им нужна картинка, наш бэкэнд знает только о том том что картинка лежит в определенном контейнере, про размеры наш бэкэнд больше не думает. Возможность принять решение что делать с картинкой ещё на этапе "приняли запрос" снимает много задач с бэкэнда
Denis
что значит в "контейнере" ?
Юрий
Мы внедрили ресайз налету в наших проектах, избавились от необходимости хранения ресайзов картинок, все наши внешние приложения самостоятельно определяют какого размера им нужна картинка, наш бэкэнд знает только о том том что картинка лежит в определенном контейнере, про размеры наш бэкэнд больше не думает. Возможность принять решение что делать с картинкой ещё на этапе "приняли запрос" снимает много задач с бэкэнда
ок. давай я скажу что переписал сервис с php на go, это избавило меня от необходимости хранения ресайзов, приложения на лету определяют какого размера нужна картинка - по сути решив те же самые проблемы о которых ты написал и тоже выиграв в скорости? ну или давай проще - вы раньше зачем-то на пхп хранили ресайзы, не давали возможности делать на лету и тп - а что вам мешало сделать это? для чего ресайзы хранили? долго обрабатывало? а писали на какой-то стандартной либе или пробовали фалькон и тп?
Юрий
вопросов больше чем ответов. пока я вижу только то, что вы переписали код оптимизировав на другое решение, но ставите эту заслугу нгинксу
Юрий
это оффтоп, спор на этом наверное закончу. спасибо)
Maxim
это оффтоп, спор на этом наверное закончу. спасибо)
Не за что;) обращайтесь, у нас тут много интересных решений
Юрий
а у нас это где?
Maxim
Юрий
Кто то говорит, а кто то делает и имеет готовые решения в виде docker-compose, могу даже поделиться, мне не жалко
ну ок. я в https://www.svyaznoy.ru/, но вот только на все решения NDA, и как бы не хотелось поделиться сборщиками и т.п. внутренней кухней - не получится, поэтому и обсуждения.
Denis
где ж ты найдёшь потом человека который захочет и сможет в этом разбираться )
Maxim
где ж ты найдёшь потом человека который захочет и сможет в этом разбираться )
Нужно делать так что бы любой мог разобраться, но к сожелению это не всегда получается, иногда даже комментарии не помогают
AstraSerg
Там все в порядке. Это я криворукий
Не, что-то поменялось. Не помню что именно, но поменялось. Сталкивался уже раньше.
Roman
ну оно-то поменялось, но не несовместимо
arkady
Бд от 9 не подключить к 10, единственный способ это накатить дамп 9 на чистую базу 10
Не очень понятно, что значит не подключить 9 к 10. Ты про драйвер к бд?
Roman
или данные? я с 9 на 10 переехал без проблем
Maxim
Не очень понятно, что значит не подключить 9 к 10. Ты про драйвер к бд?
Например у тебя БД в именованном volume с именем db_data и там файлы БД для postgre 9, тут ты забыл указать в Dockerfile конкретную версию postgre и поумолчанию на момент последней сборки была 9 версия, прошло много времени, все работало как часы, но вдруг потребовалось пересобрать образ dockerfile, ты спокойно запускаешь build --no-cache и рестартуеш сервис, а в ответ получаешь "шиш с маслом" и сообщение что база устала и решила прилеч отдохнуть, ты начинаешь судорожно перебирать события в голове и стараться понять что привело к таким печальным последствиям, даже включаешь в список возможных причин "у postgresql месячные". В итоге оказывается что сбилдился образ не с девятой версией, а с десятой и твой именованный volume db_data уже не подходит.
Anonymous
@PaintedRed будет жить. Поприветствуем!
Anonymous
@umulis будет жить. Поприветствуем!
Anonymous
@Wladimir286 будет жить. Поприветствуем!
Anonymous
@viktor_dvorak будет жить. Поприветствуем!
Viktor
Hi
Roman
через --mount type=bind можно пробрасывать не папку, а файл?
arkady
тоже интересно. Мб файл должен быть с фс внутри? Хотя слабо представляю себе это
Roman
я видел что можно, но у меня на маке не работает. пишет что source не найден
Dan
https://www.youtube.com/watch?v=dHSCBCyrcP4
Andrey
Чё там, всё задокеризирують? :)
Georgy Kharitonov
Чё там, всё задокеризирують? :)
даже небо, даже аллаха
Tadeusz
закубернетисуют
Womchik
закубернетисуют
это в другом чатике
Anonymous
@nathan_stark будет жить. Поприветствуем!
Dan
#хакатон #крупнейшийпризовойфонд #aihackathon #picsart Ведущая творческая платформа для создания контента и визуализации PicsArt приглашает принять участие в самом большом AI-хакатоне с крупнейшим в истории подобных хакатонов призовым фондом. Предлагается придумать и реализовать новые крутые AI решения в области обработки фото и видео для 100-миллионной аудитории платформы PicsArt. Можно принимать участие сразу командой, или найти себе команду по душе на форуме или в официальной группе телеграма. Призовой фонд $ 500 000 ! Часть фонда идёт непосредственно на призы командам, а часть как инвестиции в наиболее успешные проекты. Подробности и детали на сайте picsart.ai и в группе https://t.me/picsartaihack p.s. в команды нужны не только дата сайнтисты, но и девопсы, да и просто люди с очень интересными и необычными идеями! :)
Anonymous
@IlyaDruzhinin будет жить. Поприветствуем!
Anonymous
@AlexanderMykulych будет жить. Поприветствуем!
Anonymous
@coder_ex будет жить. Поприветствуем!
Anonymous
1ns1ght будет жить. Поприветствуем!
Константин
есть кто по docker может помочь?
Константин
получаю образ, но после создания контейнера docker run -it --name node-js-my -v $(pwd):/var/www/html node-reload-docker /bin/bash не доступны библиотеки по npm ls и npm ls -g
Константин
если не использовать -v, то библиотеки доступны кто может разъяснить в чем проблема?
Константин
Docker version 18.06.1-ce, build e68fc7a хостовая ОС - Linux
Mikhail
Не уверен на 100%, но вероятно потому что node_modules складываются в /var/www/html. А так как при подключении вольюма докер не мержит содержимое двух директорий, а оставляет только содержимое директории с хостовой системы, папка node_modules исчезает
Константин
так и есть, но как тогда может работать пример отсюда https://medium.com/devschacht/praveen-durairaj-an-exhaustive-guide-to-writing-dockerfiles-for-node-js-web-apps-7b033bcc0b4f
Константин
у меня он начинает работать, когда я внутри контейнера по новой ставлю пакеты
Константин
по идее я хочу накатить GULP в контейнер и сделать автообновление проекта, что бы на хостовой машине были исходники, я их на ней правил, а библиотеки лежали бы в контейнере
Mikhail
Если честно, я бы тогда монтировал src в конкретную папку, лежащую внутри той, что с node_modules - тогда и модули не сотрутся, и исходный код с хостовой машины менять удобнее
Mikhail
К примеру в /var/www/html ставятся модули, в /var/www/html/src монтируется папка с исходниками, и nodemon смотрит за src/server.js
Константин
К примеру в /var/www/html ставятся модули, в /var/www/html/src монтируется папка с исходниками, и nodemon смотрит за src/server.js
так в итоге это и получается, но мне приходится из контейнера эти модули ставить может есть какое другое решение, я уже в ступоре если честно
Mikhail
Я только завтра за ноутом буду, смогу скинуть примерно как я себе это представляю, ок? Если конечно никто другой не придумает более красивого варианта решения проблемы)