Рост популярности контейнеров и их использование в совокупности с контрольными группами выявили серьезную проблему масштабируемости, которая приводит к значительному падению производительности на больших машинах. Проблема в том, что время обхода SLAB-кэшей зависит квадратично от количества контейнеров, а активное потребление больших объемов памяти за короткий период может стать причиной ухода системы в busy loop, потребляющий 100% процессорного времени. Сегодня мне хотелось бы рассказать, как мы решили эту проблему, изменив алгоритм учета использования контрольной группой memcg объектов SLAB-кэшей и оптимизировав функцию shrink_slab().
Рубрика «Блог компании Virtuozzo»
Как и зачем мы оптимизировали алгоритм очистки SLAB-кэшей в ядре Linux
2019-01-10 в 20:29, admin, рубрики: openvz, Блог компании Virtuozzo, виртуализация, коммьюнити, контейнеры, оптимизация ядра, Программирование, Разработка под Linux, хостинг, ядро LinuxНасколько эффективна виртуальная файловая система procfs и можно ли ее оптимизировать
2018-08-01 в 17:36, admin, рубрики: containers, CRIU, file systems, linux, linux kernel, open source, procfs, virtuozzo, Блог компании Virtuozzo, Разработка под Linux, Серверная оптимизация, системное программированиеФайловая система proc (в дальнейшем просто procfs) является виртуальной файловой системой, которая предоставляет информацию о процессах. Она — “прекрасный” пример интерфейсов следующих парадигме “все является файлом”. Procfs была разработана очень давно: во времена, когда серверы в среднем обслуживали несколько десятков процессов, когда открыть файл и вычитать информацию о процессе не было проблемой. Однако время не стоит на месте, и сейчас серверы обслуживают сотни тысяч, а то и больше процессов одновременно. В таком контексте идея “открыть файл для каждого процесса, чтобы вычитать интересующие данные” уже не выглядит такой привлекательной, и первое что приходит на ум чтобы ускорить чтение — это получение информации о группе процессов за одну итерацию. В этой статье мы попробуем найти элементы procfs которые можно оптимизировать.
Производительность хранилища данных: новые цифры
2018-06-09 в 10:29, admin, рубрики: Erasure Coding, VZ Storage, Блог компании Virtuozzo, виртуализация, высокая производительность, программно-определяемое хранилище, производительность, резервное копирование, хранение данныхВ предыдущем нашем посте мы поделились своими измерениями производительности гипервизора после установки патчей против уязвимостей Meltdown и Spectre. Сегодня же пришло время поговорить о производительности хранилища данных.
Читать полностью »
Несколько слов о реальной производительности гипервизора
2018-06-04 в 3:47, admin, рубрики: CentOS, kvm, linux, open source, virtuozzo, Блог компании Virtuozzo, виртуализация, виртуальные машины, высокая производительность, контейнеры, Тестирование IT-системПользователи виртуализированных систем, а особенно – сервис-провайдеры, очень часто задаются вопросом: «как выжать максимум из имеющегося железа?». И в этом контексте нам нередко приходится обсуждать гипервизор KVM и отличия между разными версиями Virtuozzo. В этом посте мы расскажем о ряде тестов последней системы виртуализации вместе с оценками реальной производительности при типовых нагрузках, а также с учетом патчей Meltdown и Spectre.
Читать полностью »
Заразить во благо: как мы исполняем паразитный код
2017-11-30 в 7:01, admin, рубрики: compel, CRIU, kernel, linux, virtuozzo, Блог компании Virtuozzo, виртуализация, живая миграция, патчинг, Программирование, Разработка под Linux, хранилища данныхВ последнее время мы много говорим про CRIU – систему живой миграции контейнеров. Но сегодня речь пойдет о еще более любопытной разработке: живом патчинге приложений, а также о библиотеке Compel, которая позволяет вытворять все эти безобразия, придавая гиперконвергентным системам новый уровень гибкости.
Когда время перезагрузки имеет значение или почему IBM использует CRIU на мейнфреймах
2017-10-04 в 6:09, admin, рубрики: api, CRIU, IBM, linux, s390, Блог компании Virtuozzo, виртуализация, контейнеры, мейнфрейм, миграция, Разработка под LinuxВ современном мире, когда светлое будущее прочат микросервисам, кажется странным заниматься технологиями, которые помогают обновлять код без перезагрузки. Ведь микросервисы и контейнеры куда проще «убить» и создать заново. Тем не менее, мы продолжаем работу над системой живой миграции CRIU, и нам в этом активно помогают ребята из IBM. Почему? Попробуем объяснить.
Virtuozzo: Каковы реальные преимущества распределенного хранилища?
2017-08-02 в 11:57, admin, рубрики: Блог компании Virtuozzo, виртуализация, хранение данных, хранилища данных, хранилище данных
Существует много технологий, которые позволяют сохранить важную информацию в случае выхода носителей из строя, а также ускорить доступ к важным данным. Но наше гиперконвергентное хранилище Virtuozzo Storage по ряду параметров опережает программно-определяемые решения с открытым исходным кодом, а также готовые системы SAN или NAS. И сегодня мы говорим об архитектуре системы и ее преимуществах.
Читать полностью »
Linux все еще не торт
2017-07-11 в 4:17, admin, рубрики: autotest, bugs, continuous integration, crash, CRIU, leaks, linux, linux kernel, memory, open source, panic, system programming, upstream, Блог компании Virtuozzo, Разработка под Linux, системное программирование, Тестирование IT-системЭта история началась около месяца назад, когда Кирилл Тхай добавил поддержку вложенных пространств имен в CRIU, после чего наша система CI приказала долго жить. В тот момент ничто не предвещало тех увлекательных приключений, в которые мы оказались вовлечены.
День из жизни технической поддержки
2017-05-31 в 19:03, admin, рубрики: Help Desk Software, helpdesk, suport, Блог компании Virtuozzo, работа, техподдержка, метки: suportХорошо ли работать в техподдержке? Ну это зависит от того, что нужно поддерживать! Сегодня мы расскажем о том, какие задачи приходится решать саппортерам в Virtuozzo, а они поделятся своими секретами – почему пришли работать именно на эти должности.

Реквием по разработке: почему мы обязаны экспериментировать
2017-05-11 в 12:37, admin, рубрики: Блог компании Virtuozzo, ПО, Программирование, Проектирование и рефакторинг, прототипы, разработки, Тестирование веб-сервисов, экспериментыКаждый успешный проект софтверной компании начинается с идеи, но перед тем, как она станет реальным продуктом, необходимо пройти большой путь проб и ошибок. Сегодня мы хотим рассказать о некоторых проектах Virtuozzo, которые смогли (или не смогли) стать востребованными на рынке продуктами
Читать полностью »