Я не предлагаю тюнить vm.swapiness. Я предлагаю не создавать swap раздел. Вообще. Postgres предсказуемо использует память, соответственно можно заранее рассчитать макс. потребление и потюнить параметры бд, чтобы оверкомит по памяти никогда не случался.
Таким образом и настройка эта (vm.swapiness) не будет иметь никакого влияния. И никаких микрофризов вызванных пейджингом не будет гарантировано. Ну и в качестве бонуса вы продлите жизнь системных ssd дисков.
Я извиняюсь, а зачем вообще нужен swap на сервере субд в наши дни?
Swap не создаем. Корректно настраиваем shared_buffers и прочие связанные параметры бд с учетом максимального количества конектов чтобы не было OOM + немного оставить под файловый кеш os.
Своп был нужен во времена когда памяти было мало, а процессов много и нужно было хоть как-то запустить их на одной машине.
В случае сервера субд вся память должна быть отдана бд и процесс по сути будет только один - зачем тут своп? Если вся бд не влезает в shared_buffers, то бд сама будет подгружать ее страницы с диска, но в отличие от os она это делает осмысленно
До того как мне показали стрелку (было прям откровение ) пользовался следующей технологией: при въезде на заправку открывал лючок и в зеркало заднего вида смотрел где он - после этого выбирал колонку уже
Недавно обнаружил что небезизвестная тильда сама на ходу преобразует картинки в webp в зависимости от браузера со своего cdn. Так что иногда все уже придумано и сделано за нас )
Откройте для себе distroless - минимальные runtime образы для разных языковых стеков от Google. В частности для Go есть static, который - по сути то к чему вы пришли вручную (scratch + серты около 2Мб в сумме) - только бинарник скопировать и все.
Выигрыша от UPX примерно 0 т к слои образов в регистри хранятся и так в сжатом виде (gzip), соотвественно pull качает меньший объем данных. Если вы дополнительно сожмете бинарник, то сжатие этого слоя будет просто неэффективным - лишнее нагревание воздуха. После пула, образы хранятся локально уже в распакованном виде - это позволяет получить быстрый старт, кажется найти несколько лишних Мб для этого не проблема. Т.к. чудес не бывает и в памяти ваше приложение все равно займет ровно столько места сколько было до сжатия, но при этом опять нагрев воздух затратами на распаковку (впрочем тут CPU надо меньше чем на сжатие).
В это наверное трудно поверить, но в поддержке этот сервис один из самых беспроблемных.
Во-первых: все эти сотни тысяч браузеров (в пике сейчас бывает до полу миллиона в день на самом деле) запускаются не одновременно, а в течение дня, иначе в моменте потребовались бы сотни тысяч ядер CPU для их запуска (наш облачный провайдер был бы очень рад такому клиенту).
Во-вторых у нас есть многоуровневая система лимитов:
Лимит на команду/проект как раз на количество одновременно запущенных браузеров
Общий лимит подов браузеров на неймспейс в кластере
Лимит для автомасштабирования нод кластера, чтобы он не рос бесконечно
В конце концов лимиты, установленные в настройках облака, чтобы не потратить все деньги мира.
В-третьих у нас собирается подробная статистика по всему, что происходит в этом сервисе и на основе нее отливаются метрики, по которым настроен мониторинг и алертинг. Всю картину происходящего можно легко увидеть на дашборде.
По факту вся поддержка в основном пользовательская: ответы на вопросы «как сделать», «что я делаю не так» и т.п.
Привет спасибо за вопрос, я действительно про него не упомянул в статье, хотя изначально в черновиках было.
Если коротко: Puppeter так и не взлетел (не получил широкого применения) и сейчас скорее мертв чем жив. Из главных для нас недостатков это то что он chrome only и JS only - тесты пишут не только на ноде так то )
Команда его разработчиков собственно ушла в Microsoft и сделала там на его основе (хотя там наверное уже ничего общего не осталось) Playwright. В 2025 году выбор между Playwright и Puppeter даже не стоит рассматривать на мой взгляд.
Для балансировки клиентов (http протокола) клика все же лучше использовать chproxy: это специализированный l7 балансер с возможностью корректно распределять запросы между репликами шардов, настраивать пользовательские лимиты по длительности, конкурентности запросов и кешировать результаты. При этом он все еще довольно простой в настройке.
Нет примерно никаких ситуаций, чтобы использование Mongo было оправдано. Начиная с лицензии и заканчивая ее техническими проблемами (тормоза, неэффективная и хрупкая репликация)
А что если это контакты клиентов в телефоне предпринимателя? Получается что синхронизация контактов с гуглом/эплом это трансграничная передача пд и ее нужно отключать?
Приведенный код это пример как вообще нельзя конструировать динамический запрос. Пользовательский ввод не должен попадать в текст запроса никогда. Если в фильтр города ввести что-то типа ‘; drop table users; -- что будет? Даже если вы будете как-то эскейпить ввод, все равно где-нибудь пропустите или налажаете.
Единственный корректный способ подстановки пользовательских значений в запрос - это использовать параметры:
… where city = ? … а значения передавать как параметры запроса.
1 - ну видимо должна быть инфраструктура соответствующая
2 и 3 мимо - это же все по трассе от терминала до терминала без заезда в город
Пока по всей стране нет дорог хотябы по 2 полосы в одну сторону - все это игрушки.
Часто езжу по дороге из Саратова в сторону Волгограда и наблюдаю как перед тобой фуры по встречке обгоняют совсем уж стоячие фуры (заблокировав обгон мне а потом встречка). Если такой грузовик пустить по это дороге он или сам в аварию попадет или его просто столкнут на обочину
Прекрасный цветной oled экран, где хорошо читаются в т.ч. длинные уведомления, нормальная вибра - я наконец перестал пропускать сообщения от жены ))), легкие и компактные . Есть все что нужно (ну кроме nfc для оплаты ). На удивление безглючные для поделок шаоми
Держит 2 недели. Если выключить контроль фаз сна, то видимо будет больше
Я в детстве хорошо слышал писк от элт телевизоров, причем он был всепроникающий
однажды на прогулке я сказал папе что в магазине в подвале, мимо которого мы проходили работает телевизор, мы зашли туда проверить специально, и телевизор там конечно же был
Сейчас (после 40) ситуация поменялась на обратную: я не слышу уже и довольно обычный писк (например от бытовых приборов) который слышат все остальные и считают что я их разыгрываю
Из заголовка и статьи складывается впечатление, что это какая-то древняя технология, про которую все забыли.
Вот только реальность такова, что абонентские устройства в большинстве случаев до сих пор подключаются к интернет, используя протокол pppoe, мобильные устройства через свой модем (совсем как во времена dial-up), а роутеры проводных провайдеров часто используют ppp поверх ethernet (PPPoE)
Я не предлагаю тюнить vm.swapiness. Я предлагаю не создавать swap раздел. Вообще. Postgres предсказуемо использует память, соответственно можно заранее рассчитать макс. потребление и потюнить параметры бд, чтобы оверкомит по памяти никогда не случался.
Таким образом и настройка эта (vm.swapiness) не будет иметь никакого влияния. И никаких микрофризов вызванных пейджингом не будет гарантировано. Ну и в качестве бонуса вы продлите жизнь системных ssd дисков.
Я извиняюсь, а зачем вообще нужен swap на сервере субд в наши дни?
Swap не создаем. Корректно настраиваем shared_buffers и прочие связанные параметры бд с учетом максимального количества конектов чтобы не было OOM + немного оставить под файловый кеш os.
Своп был нужен во времена когда памяти было мало, а процессов много и нужно было хоть как-то запустить их на одной машине.
В случае сервера субд вся память должна быть отдана бд и процесс по сути будет только один - зачем тут своп? Если вся бд не влезает в shared_buffers, то бд сама будет подгружать ее страницы с диска, но в отличие от os она это делает осмысленно
До того как мне показали стрелку (было прям откровение ) пользовался следующей технологией: при въезде на заправку открывал лючок и в зеркало заднего вида смотрел где он - после этого выбирал колонку уже
Статья это тролинг какой-то?
Какие еще эльбрусы? Они с вами в одной
комнатесерверной?ClickHouse от Яндекса? Может он еще и отечественный? Давно на его сайт заходили?
К чему адаптировался jetbrains и как его купить?
Спасибо, что хоть про ИИ ничего не написали.
Недавно обнаружил что небезизвестная тильда сама на ходу преобразует картинки в webp в зависимости от браузера со своего cdn. Так что иногда все уже придумано и сделано за нас )
Откройте для себе distroless - минимальные runtime образы для разных языковых стеков от Google. В частности для Go есть static, который - по сути то к чему вы пришли вручную (scratch + серты около 2Мб в сумме) - только бинарник скопировать и все.
Выигрыша от UPX примерно 0 т к слои образов в регистри хранятся и так в сжатом виде (gzip), соотвественно pull качает меньший объем данных. Если вы дополнительно сожмете бинарник, то сжатие этого слоя будет просто неэффективным - лишнее нагревание воздуха. После пула, образы хранятся локально уже в распакованном виде - это позволяет получить быстрый старт, кажется найти несколько лишних Мб для этого не проблема. Т.к. чудес не бывает и в памяти ваше приложение все равно займет ровно столько места сколько было до сжатия, но при этом опять нагрев воздух затратами на распаковку (впрочем тут CPU надо меньше чем на сжатие).
Привет, да есть можно создавать issue )
Helm поправим, публикация в пакетные менеджеры (brew,winget) тоже запланирована
В это наверное трудно поверить, но в поддержке этот сервис один из самых беспроблемных.
Во-первых: все эти сотни тысяч браузеров (в пике сейчас бывает до полу миллиона в день на самом деле) запускаются не одновременно, а в течение дня, иначе в моменте потребовались бы сотни тысяч ядер CPU для их запуска (наш облачный провайдер был бы очень рад такому клиенту).
Во-вторых у нас есть многоуровневая система лимитов:
Лимит на команду/проект как раз на количество одновременно запущенных браузеров
Общий лимит подов браузеров на неймспейс в кластере
Лимит для автомасштабирования нод кластера, чтобы он не рос бесконечно
В конце концов лимиты, установленные в настройках облака, чтобы не потратить все деньги мира.
В-третьих у нас собирается подробная статистика по всему, что происходит в этом сервисе и на основе нее отливаются метрики, по которым настроен мониторинг и алертинг. Всю картину происходящего можно легко увидеть на дашборде.
По факту вся поддержка в основном пользовательская: ответы на вопросы «как сделать», «что я делаю не так» и т.п.
Привет спасибо за вопрос, я действительно про него не упомянул в статье, хотя изначально в черновиках было.
Если коротко: Puppeter так и не взлетел (не получил широкого применения) и сейчас скорее мертв чем жив. Из главных для нас недостатков это то что он chrome only и JS only - тесты пишут не только на ноде так то )
Команда его разработчиков собственно ушла в Microsoft и сделала там на его основе (хотя там наверное уже ничего общего не осталось) Playwright. В 2025 году выбор между Playwright и Puppeter даже не стоит рассматривать на мой взгляд.
Для балансировки клиентов (http протокола) клика все же лучше использовать chproxy: это специализированный l7 балансер с возможностью корректно распределять запросы между репликами шардов, настраивать пользовательские лимиты по длительности, конкурентности запросов и кешировать результаты. При этом он все еще довольно простой в настройке.
Нет примерно никаких ситуаций, чтобы использование Mongo было оправдано. Начиная с лицензии и заканчивая ее техническими проблемами (тормоза, неэффективная и хрупкая репликация)
И все таки:
А что если это контакты клиентов в телефоне предпринимателя? Получается что синхронизация контактов с гуглом/эплом это трансграничная передача пд и ее нужно отключать?
Приведенный код это пример как вообще нельзя конструировать динамический запрос. Пользовательский ввод не должен попадать в текст запроса никогда. Если в фильтр города ввести что-то типа ‘; drop table users; -- что будет? Даже если вы будете как-то эскейпить ввод, все равно где-нибудь пропустите или налажаете.
Единственный корректный способ подстановки пользовательских значений в запрос - это использовать параметры:
… where city = ? … а значения передавать как параметры запроса.
1 - ну видимо должна быть инфраструктура соответствующая
2 и 3 мимо - это же все по трассе от терминала до терминала без заезда в город
Пока по всей стране нет дорог хотябы по 2 полосы в одну сторону - все это игрушки.
Часто езжу по дороге из Саратова в сторону Волгограда и наблюдаю как перед тобой фуры по встречке обгоняют совсем уж стоячие фуры (заблокировав обгон мне а потом встречка). Если такой грузовик пустить по это дороге он или сам в аварию попадет или его просто столкнут на обочину
Надмозговый перевод
Здесь имеется ввиду что эти $210kk были уплочены деньгами (cash) а не акциями
Часто такие сделки оплачиваются частично или полностью своими акциями
Да классический race condition. Также коробит от логирования в примерах. Которое убьет всю (и так неочевидную ) пользу от использования пулов
Ну тут неудивительно учитывая источник «статьи». И потом люди после таких вот курсов просто увеличивают нагрузку на найм.
перед нг прикупил на али mi band 9
За какие то смешные 2,5к
Прекрасный цветной oled экран, где хорошо читаются в т.ч. длинные уведомления, нормальная вибра - я наконец перестал пропускать сообщения от жены ))), легкие и компактные . Есть все что нужно (ну кроме nfc для оплаты ). На удивление безглючные для поделок шаоми
Держит 2 недели. Если выключить контроль фаз сна, то видимо будет больше
Думаю можно с уверенность сказать просто: шумы будут )))
Мне больше интересно откуда возьмется оптика, чтобы разрешить столько линий
Я в детстве хорошо слышал писк от элт телевизоров, причем он был всепроникающий
однажды на прогулке я сказал папе что в магазине в подвале, мимо которого мы проходили работает телевизор, мы зашли туда проверить специально, и телевизор там конечно же был
Сейчас (после 40) ситуация поменялась на обратную: я не слышу уже и довольно обычный писк (например от бытовых приборов) который слышат все остальные и считают что я их разыгрываю
Из заголовка и статьи складывается впечатление, что это какая-то древняя технология, про которую все забыли.
Вот только реальность такова, что абонентские устройства в большинстве случаев до сих пор подключаются к интернет, используя протокол pppoe, мобильные устройства через свой модем (совсем как во времена dial-up), а роутеры проводных провайдеров часто используют ppp поверх ethernet (PPPoE)