J
/thumbs/kategori/200/200/kat%203.jpg
J
вот такой путь примерно
George
т.е. пробел в последнем
George
йпота
George
у тебя точно регекпс правильно парсит?
J
да точно
J
да пробел в последнем
J
надо или переименовывать или обработчик писать или просто дать по лицу тому кто загружает с пробелом
J
ну или есть есть какое то решение готовое этой проблемы
George
try_files? https://ruhighload.com/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+nginx+try_files
George
если не жрет - сконвертить %20 <-> " " и потом уже отдать ошибку
J
зачем отдавать ошибку? я хочу что бы отдавался файл с пробелом в имени
George
try_files не отдает ошибку
George
он перебирает файлы
George
если не может - ты можешь сделать рекавери
George
костыль очередной короче
George
но если файла нет никак... ну, не положили его, то придется отдать 404
J
ага понял. но это не совсем то что нужно
Tadeusz
хм, а скажите - нужен ли swap на "docker-host" сервере?
Gleb
своп вообще придумали трусы
Gleb
хм, а скажите - нужен ли swap на "docker-host" сервере?
я бы сказал так, своп на линуксе хосте лучше пусть будет если возможны ситуация когда использование памяти может подойти к пределу, а вот для самих контейнеров лучше покрутить опции memory-swap, memory-swappiness
Gleb
в принципе нормально уже разжевали https://habr.com/ru/company/flant/blog/348324/
George
в принципе нормально уже разжевали https://habr.com/ru/company/flant/blog/348324/
Не нормально разжевали. А написали очередной набор клише
Gleb
ну это перевод
Tadeusz
Спасибо
Gleb
Не нормально разжевали. А написали очередной набор клише
ну тут опять смотря как рассуждать, меня привлекает больше ситуация когда бек тормозит, но при этом я знаю что когда бек отвечает дольше N мсек он просто из балансировки выкидывается - ну это например "из-за свапа тормозит" и я точно уверен что лучше пусть тормозит, но не падает от ООМа - и тут тоже мол кто мешает автоматом памяти накинуть на виртуалку и в принципе не сталкиваться с ситуацией когда своп будет нужен, но если так рассуждать можно очень быстро добраться до нумы про которую почему то никто не пишет - в том числе и любители bare metal k8s, а их там нума со всех сторон дрючит
Denis 災 nobody
я бы сказал так, своп на линуксе хосте лучше пусть будет если возможны ситуация когда использование памяти может подойти к пределу, а вот для самих контейнеров лучше покрутить опции memory-swap, memory-swappiness
опыт показывает что ово многих случаях своп не нужен. Лучше пусть та же бд упадёт и сработает механизм переключения ноды (разумеется, когда такое есть) чем производительность базы упадёт на порядки.
Denis 災 nobody
помнится, был софт где прямо требовали выключить своп
Denis 災 nobody
и да, своп в лине - говно.
Uncel
положи его на оптан, кек
Gleb
опыт показывает что ово многих случаях своп не нужен. Лучше пусть та же бд упадёт и сработает механизм переключения ноды (разумеется, когда такое есть) чем производительность базы упадёт на порядки.
ну ты прям волшебно сообщил, вот упала у меня бд с баблом или квартирой твоей, какое переключение еще? сначала нужно проверить что все ок с последними транзакцими
Denis 災 nobody
есть 64 гига рамы, занято 40 гиг всякими буферами (дисковый итд), приложению потребовалось ещё гиг рамы. Что делает линь? Конечно пихает часть программ в своп! Л - логика.
Denis 災 nobody
и помнится, если свопа нет то линь более вменяемо работает, не оом запускает а сначала уменьшает кэши, как это и ожидается.
Gleb
если приложение сделано отказоустойчивым - ничего потеряно не будет.
ну покажи мне такое приложение в продакшене типа транзакийонность, шардирование все дела
Denis 災 nobody
все зависит от того как настроишь
мы год пытались настроить. И со свопинес игрались, 0, 1, 30, 100, 200.. и еще параметрами, хрен там. Вместо того чтобы кэши чистить, линь лезет в своп.
Denis 災 nobody
только полное отключение свопа + мониторинг свободной памяти (да-да, вот она дешманская защита твоих транзакций) на порядок улучшило ситуацию.
Gleb
мы год пытались настроить. И со свопинес игрались, 0, 1, 30, 100, 200.. и еще параметрами, хрен там. Вместо того чтобы кэши чистить, линь лезет в своп.
не вижу ни слова про переписывние софта. js, php, ruby, python, golang - все говно с памятью на хосте в коде, а то и на уровне ДНК в языке
Gleb
Могу сделать. Думаю, начнём торги лямов с 10.
так чего ты миллиардером не стал? у тебя все так просто всего за ляпов, а мы за 3.5 лярда делали и не сделали
Gleb
потому что СОФТ тут ни при чём.
ну да, я тут где то про дебаг елк уже видел
Denis 災 nobody
не важно, что там (к слову, раму там активно ел фрисвич, это аналог астера такой), есть 40 гиг полу-свободной рамы, которая легко превращается в свободную через echo 3 > /proc/sys/vm/drop_caches
Denis 災 nobody
проблема в том что это вызывает всплеск дисковой активности и просадку скорости работы
Denis 災 nobody
И да, "ел" это не "тёк", при спадании нагрузки память оно отдавало назад.
Евгений
Я про кокроач
Ivan
фух
Denis 災 nobody
так чего ты миллиардером не стал? у тебя все так просто всего за ляпов, а мы за 3.5 лярда делали и не сделали
начинай с "и не сделали". Но это только разработка, без железа. Странный у вас проект на лярды только на разрабов...
Denis 災 nobody
а вот попадание мускуля в своп это просадка её скорости работы примерно на 2 порядка. Замеры показать не смогу, в закрытой вики прошлой работы осталось.
Евгений
Вообще со свопом всё понятно: с ним всё тормозит, без него ксвопд жрёт весь проц в попытке найти чтобы ещё зареклеймить
Denis 災 nobody
и вообще есть oom_prio или как его, кого первым убивать а кого последним.
Евгений
Ксвопд приходит раньше оома
Denis 災 nobody
Ксвопд приходит раньше оома
помнится, он только 1 ядро съест
Евгений
Вся система может колом стать пока что-нибудь заоомится
Denis 災 nobody
со свопом тоже всё тормозит, увы. Помню, как ссш лет 10 назад почти час рисовал мне приглашение шелла после ввода пароля
Евгений
Оба стула ужасны
Oleksandr
https://help.sap.com/saphelp_nwes73/helpdata/en/49/325e42e93934ffe10000000a421937/content.htm?no_cache=true
Denis 災 nobody
с тех пор за 5 минут не вошло - отправляем в ребут через ipmi
Евгений
Не зря пейсбук сделал oomd :)
Oleksandr
С другой стороны
Oleksandr
https://kubernetes.io/docs/setup/independent/
Denis 災 nobody
но мы ни разу не сталкивались чтобы kswapd не давал быстро войти в систему, если там не форк-бомба запущена конечно. При полностью выключенном свопе. Проц конечно иногда подъедал, было дело, но что работало - работало быстро
Oleksandr
Swap disabled. You MUST disable swap in order for the kubelet to work properly.
Denis 災 nobody
вроде бы couchbase ещё требовал..
Oleksandr
Я привел пример просто
Oleksandr
SAP без свопа плохо работает
Oleksandr
Кубер с ним со свопом не заведется
Oleksandr
Все зависит от приложения
Vladimir
Кубер с ним со свопом не заведется
Ну не надо пихать сап в кубер
Vladimir
Смысл то в чем?
Oleksandr
Смысл то в чем?
Смысл был в примерах, когда своп а когда не своп
Oleksandr
Ну не надо пихать сап в кубер
Нет об этом речи в дискуссии
Vladimir
Смысл был в примерах, когда своп а когда не своп
Ну сапу своп нужен потому что он известен тем что сожрёт все, что дашь, и попросит добавки
Vladimir
Разве нет?