Обновить
53.9

Серверная оптимизация *

Разгружаем сервер

Сначала показывать
Порог рейтинга
Уровень сложности

Профайлер Бедного Человека: первое знакомство и (приятные) последствия

Время на прочтение9 мин
Количество просмотров15K


Если вам приходилось оптимизировать работу программ, то вы могли слышать о Профайлере Бедного Человека. Этой идее даже посвящён целый сайт. ПБЧ собирает статистику времени выполнения отдельных функций программы, «подглядывая» в процесс её исполнения с помощью дебаггера. Концепт ПБЧ хорошо прижился у нас в движке баннерной крутилки — не буду в 100 500-й раз напоминать, что у Яндекса всё высоконагруженное, ресурсоёмкое и нуждающееся в профилировании. Статья будет полезна тем, кто пилит инфраструктуру, адаптирует какой-нибудь общеизвестный профайлер под себя или просто хочет больше знать про свои программы. Как мы пришли к необходимости в ПБЧ и что именно сделали? Сейчас постараюсь рассказать, местами буду закапывать глубоко в технологии (если переусердствую, пишите в комментариях). А начну со стандартного инструмента статистического профилирования в Linux — perf.
Читать дальше →

Почему Twitter ещё не сломался: поясняет экс-SRE из компании

Время на прочтение6 мин
Количество просмотров30K

По некоторым оценкам, Twitter потерял примерно 80% сотрудников. Каким бы ни было реальное число, в компании есть команды, в которых полностью пропали разработчики. Тем не менее, веб-сайт продолжает работать, а твиты продолжают публиковаться. Из-за этого многие задаются вопросом, что происходит со всеми этими разработчиками, и не был ли штат компании попросту раздут. Я бы хотел рассказать о собственном маленьком уголке в Twitter (впрочем, он был не таким уж и маленьким), а также о работе, которая выполнялась для того, чтобы система продолжала функционировать.
Читать дальше →

Нужен ли вам GPU-сервер

Время на прочтение5 мин
Количество просмотров8.5K

Сегодня никого не удивляет, что процессоры видеокарт обладают большей вычислительной мощностью, чем процессоры компьютеров. Эту особенность давно оценили все, кто нуждается в высокопроизводительных вычислениях, тем более, что сами производители видеокарт поддерживают такой режим их использования, выпустив библиотеки для использования видеопроцессора в так называемом General Purpose режиме. 

Тенденцию подхватили и производители оборудования. На волне популярности криптовалют в продаже появились майнинговые фермы, а когда восторги поутихли, обнаружились и более сбалансированные решения для высокопроизводительных вычислений — GPU-сервера. 

В этом посте поговорим о том, чем GPU-сервер отличается от майнинг-фермы и о том, как устроен GPU-сервер. 

Читать далее

Отказоустойчивые системы: зачем нужны и как построить

Время на прочтение6 мин
Количество просмотров27K

Статья содержит вводную информацию о резервировании и других возможностях обеспечения отказоустойчивой работы серверов и прочего оборудования ИТ-инфраструктуры предприятия.

Мы всегда надеемся, что оборудование и инфраструктура будут работать чётко, надёжно, и без поломок. Особенно это важно там, где неисправности приводят к остановке бизнес–процессов и как следствие – финансовым и репутационным потерям. Как минимум, эти потери складываются из оплаты сотрудников за время простоя (пока они ждут восстановления работы системы), и упущенной за это время прибыли. К этому можно добавить суммы, затраченные на сам ремонт и восстановление системы (покупку исправных комплектующих, оплату работ по установке и замене, и т.п.). Сумма убытков может быть достаточно большой; в некоторых случаях простой может привести к непоправимым последствиям – вплоть до исчезновения бизнеса. Это является поводом задуматься о том, как можно избежать остановки работоспособности.

Читать далее

Облачная кухня: рецепт приготовления тестов производительности дисковой подсистемы сервера

Время на прочтение34 мин
Количество просмотров2K

Хабр, приветствую! Сегодня с вами Дмитрий Михайлов, ИТ-инженер Cloud4Y, и в этой статье я поделюсь с вами опытом проверки производительности виртуальных дисков.

Читать далее

Как я сделал самый быстрый в мире файловый сервер

Время на прочтение16 мин
Количество просмотров22K

Задача — среди множества файлов найти на диске конкретный и отдать его по HTTP с заголовками «content-encoding», «mime-type» и «content-lenght». И сделать это как можно быстрее — на локальном хосте, чтобы не уткнуться в физические барьеры. Нас интересует скорость ради скорости.

В качестве веб-сервера будем использоваться Kestrel, .NET 7 RC 1, minimal API и F#. Финальная, оптимизированная версия есть и для C#.
Читать дальше →

Настройка оповещений о событиях в Zabbix

Время на прочтение14 мин
Количество просмотров80K

В предыдущих статьях серии про Zabbix мы рассказывали о том, как контролировать различное оборудование и сервисы. Однако не менее важно настроить оповещения о событиях, требующих реакции со стороны системного администратора.

В этой статье мы расскажем о том, как настроить отправку сообщений о срабатывании триггеров Zabbix по электронной почте, через SMS и Телеграм. Вы также научите свой Zabbix звонить администратору по телефону и сообщать о критических событиях синтезированным голосом с помощью сервиса голосовых рассылок Звонобот.

Читать далее

Иммерсионное охлаждение в ЦОД — аргументы «за» и «против»

Время на прочтение9 мин
Количество просмотров13K

В этой статье говорим о технологии погружного (иммерсионного) охлаждения вычислительных систем: что это такое, зачем надо, почему до сих пор не применяется широко и какие у этого всего дела перспективы.

Читать далее

Мониторинг Apache с помощью Zabbix

Время на прочтение10 мин
Количество просмотров10K

На сегодня Apache представляет собой одно из самых популярных ПО для создания Web-сервера. Очень часто Apache работает в паре с NGINX, об установке и мониторинге которого мы рассказывали в предыдущей статье. В этой статье мы расскажем о том, как установить Apache и настроить его мониторинг помощи Zabbix. Также приведем рекомендации по оптимизации памяти и повышения производительности.

Читать далее

Мониторинг NGINX с помощью NGINX Amplify и Zabbix

Время на прочтение13 мин
Количество просмотров17K

Правильная настройка NGINX влияет на работоспособность и производительность использующих его сайтов. Из нашей статьи вы узнаете, как установить NGINX в ОС Debian и настроить мониторинг этой программы с помощью SAAS-сервиса NGINX Amplify, а также с помощью Zabbix.

Читать далее

Сага о SEO, часть 2: разметка

Время на прочтение8 мин
Количество просмотров5.4K

В предыдущей части статьи мы разбирались, как обеспечить поисковым роботам доступ к HTML-коду страницы. С вами снова Александр Усков, я ведущий разработчик more.tv, и в этом посте мы поговорим о том, что именно представляет из себя этот код и что можно сделать, чтобы сделать его максимально «понятным» и содержательным и для поисковых систем, и для браузеров.

Читать далее

Один, два…десять! Когда скорость восстановления имеет значение

Время на прочтение7 мин
Количество просмотров4.2K

Привет, Хабр! Сегодня я предлагаю поговорить о скорости восстановления из резервной копии. Иногда именно этот параметр оказывается критически недооцененным при внедрении систем резервного копирования для небольших отделов и не самых критичных задач (ведь для критичных RTO и RPO прописывают еще на этапе проектирования). В этом посте мы остановимся на 10 способах сократить время, которое ваши системы будут простаивать, если вдруг не дай бог чего случится. А если вы знаете еще и другие методы, делитесь ими в комментариях.

Читать далее

Мониторинг Raspberry Pi с помощью Zabbix

Время на прочтение11 мин
Количество просмотров11K

Благодаря доступности, небольшим размерам и энергопотреблению, а также возможности подключения различных периферийных устройств микрокомпьютер Raspberry Pi широко используется как для творчества, так и для серьезных применений. 

К сожалению, с Raspberry Pi, как и с любым другим подобным устройством, могут возникать различные проблемы, от снижения производительности из-за перегрева до полного выхода из строя. В учебных или развлекательных проектах это не приведет к ощутимым последствиям. Но если Raspberry Pi установлен в системах, требующих надежной работы, необходим контроль работоспособности микрокомпьютера.

Для каких применений будет желателен мониторинг работоспособности Raspberry Pi?

Например, если на базе Raspberry Pi создан Web-сервер, который должен быть доступен круглосуточно, роутер, система видеонаблюдения, система умного дома, система контроля какого-либо  оборудования или параметров, полученных от внешних устройств. Одно из подобных применений в сервисе SAAS интернет-магазинов — недорогой сервер управления онлайн-кассами, расположенный в офисах продаж.

В этой статье мы расскажем, как с помощью Zabbix можно организовать мониторинг работоспособности и производительности узла Raspberry Pi, контроль его напряжения питания и температуры. Также мы опишем простейшую систему обнаружения протечек воды, созданную с применением датчика MH-RD с контроллером YL-38, подключенного к шине GPIO Raspberry Pi, и сервера Zabbix.

Читать далее

Ближайшие события

Комбинация команд и никакого мошенничества. Как мы ускорили создание бэкапов в 3 раза

Время на прочтение7 мин
Количество просмотров7.8K

Привет, меня зовут Андрей. Я старший разработчик Selectel, работаю в команде дисков и бэкапов. Наша команда занимается развитием сетевых дисков и услуги резервного копирования в облаке.

Год назад мы запустили бэкапы сетевых дисков в облаке. Число пользователей растет, что позволяет нам развивать и улучшать продукт. Не так давно мы ускорили создание бэкапов в 3 раза, а восстановление из них — в 1,5 раза. Все благодаря клиенту с данными на 9 ТБ. Под катом рассказываю, как мы ускорили резервное копирование на программном уровне и с какими проблемами столкнулись.
Читать дальше →

Репликация файлов через rsync: мониторинг с помощью Zabbix

Время на прочтение11 мин
Количество просмотров7.1K

В предыдущей статье мы рассказывали о том, как настроить и контролировать репликацию базы данных MySQL или MariaDB. Однако, если речь идет о создании отказоустойчивого интернет-магазина или аналогичного проекта, нужно реплицировать не только базу данных, но и файлы. Это могут быть файлы изображений товаров , html-страниц, стилей CSS, скрипты и другие файлы.

Задача не совсем тривиальная, так как не все файлы должны реплицироваться, на мастер-сервере могут периодически появляться новые файлы и исчезать старые. Кроме того, процесс репликации не должен отнимать слишком много ресурсов, и результаты репликации файлов необходимо контролировать. Важно сделать так, чтобы репликация выполнялась только в том случае, если резервный сервер не переключился в состояние мастера, например, в результате выхода основного сервера из строя.

В этой статье мы расскажем, как настроить репликацию файлов при помощи программы rsync, а также как организовать мониторинг репликации файлов с помощью Zabbix.

Читать далее

Репликация MySQL и MariaDB: мониторинг с помощью Zabbix

Время на прочтение12 мин
Количество просмотров11K

Когда к отказоустойчивости интернет-магазина или другого сервиса с базами данных предъявляются повышенные требования, не обойтись без репликации серверов СУБД и файлов. Репликация совместно с другими технологиями отказоустойчивости помогает полностью защититься от сбоя оборудования, например, от выхода из строя отдельных серверов. 

Из этой статьи вы узнаете, как настроить и проверить репликацию Master-Slave для MySQL и MariaDB, а также как контролировать ее работу с помощью Zabbix.

Читать далее

Taichi и 100-кратное ускорение Python-кода

Время на прочтение12 мин
Количество просмотров37K

Python стал самым популярным языком во многих быстроразвивающихся областях, таких, как глубокое обучение и различные направления анализа и обработки данных. Но при этом за удобство работы с Python-кодом, за высокий уровень его читабельности, приходится платить производительностью. Конечно, все мы время от времени жалуемся на скорость работы программ, и Python, безусловно, не стоит винить во всех грехах. Несмотря на это, справедливым будет заявление о том, что природа Python, интерпретируемого языка, не способствует высокой производительности кода, особенно когда речь идёт о «тяжёлых» вычислениях (один из признаков таких вычислений — наличие в программе нескольких вложенных циклов).

Если вы когда-либо попадали в одну из следующих ситуация — тогда эта статья, определённо, написана для вас.

Читать далее

Тот самый bitrix кластер. Война бесконечности

Время на прочтение18 мин
Количество просмотров5.8K

Во второй части статьи про bitrix кластер мы будет рассматривать настройку percona xtradb cluster mysql 5.7, настройка арбитра, настройка удобного dashboard.
Если вы пропустили предыдущие части: Первая часть.

Читать далее

MariaDB: настройка и мониторинг с помощью Zabbix

Время на прочтение11 мин
Количество просмотров18K

От правильной настройки и надежной работы сервера СУБД зависит работоспособность и быстродействие интернет-магазинов, работающих на сервисе SAAS. То же самое относится к любым сайтам, если им нужна база данных. 

Из нашей статьи вы узнаете, как установить сервер MariaDB в ОС Debian 11, как оптимизировать его параметры сразу после установки и как контролировать работу MariaDB вручную и с помощью Zabbix.

Читать далее

Установка Redis и мониторинг с помощью Zabbix

Время на прочтение7 мин
Количество просмотров7.9K

Если вам нужна быстродействующая нереляционная СУБД типа «ключ-значение», то, возможно, подойдет Redis (Remote Dictionary Server). На базе Redis можно создать не только хранилище данных, но и кэш, брокер сообщений, а также очередь. Для увеличения отказоустойчивости можно настроить репликацию данных между серверами Redis.

В этой статье мы расскажем о том, как установить Redis в ОС Debian 11, а также как контролировать этот сервис вручную и с помощью Zabbix. 

Читать далее