Обновить
64K+

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

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

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

Как мы сделали и оптимизировали механизм правил для персонализации UI

Время на прочтение13 мин
Охват и читатели3.1K

Всем привет! Меня зовут Александр, я занимаюсь backend-разработкой в KTS

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

Читать далее

Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза

Время на прочтение9 мин
Охват и читатели7.4K

Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очередь, диктует строгие требования к надёжности и быстродействию сервисов.

Часть проектов у нас написана на Ruby. Если раньше в качестве web-сервера для них мы использовали Puma (который уже стал de-facto стандартом) и горя не знали, то в определённый момент нам его производительности стало не хватать. В статье, сделанной по мотивам моего доклада на конференции Ruby Russia 2022 расскажу, как и зачем мы переехали на другой веб-сервер.

Читать далее

Представляем specialist — пакет для оптимизаций Python-кода

Время на прочтение5 мин
Охват и читатели7.8K

Specialist


Specialist использует высокоточную информацию о местоположении (fine-grained location), чтобы наглядно показать пользователю, где и как новый адаптивный интерпретирующий транслятор (specializing adaptive interpreter) CPython 3.11 оптимизирует ваш код. Подробности об инструменте — к старту курса по Fullstack-разработке на Python.


Читать дальше →

Концепция ландшафта 1С-систем на предприятии

Время на прочтение2 мин
Охват и читатели4K

При работе с семейством программ 1С возникает потребность упорядочить размещение программных ресурсов и сервисных данных в корпоративном ландшафте.

На представленной визуализации попытка такого упорядочивания по итогам нескольких лет работы на разных проектах. Эта раскладка проистекает из рекомендаций самой 1С, имеющихся на ИТС. Но в оригинале было три зоны, а в представленном размещении практика заставила выделить семь зон.

Цель:

1) Организовать ландшафт 1С не хаотично, а под определённые критерии.

2) Выдать ИТ-службе карту размещения ресурсов, которая:

a. 1Снику обеспечивает систематизацию управления внутри своей «песочницы»;

b. Позволяет ИТ-службе получить свободу в самостоятельном масштабировании и размещении ландшафта 1С.

3) Заменить картой ландшафта (одной картинкой) гору описаний.

Критериями создания зон избраны:

1) Целевое назначение ресурса.

2) Объём (нагрузка) и виды операций.

3) Количество и тип пользователей.

Читать далее

Сага о SEO, часть 3: UX

Время на прочтение12 мин
Охват и читатели2.4K

Ранее мы писали о том, каким образом мы оптимизировали сайт more.tv для поисковых систем технологически и семантически. В очередной статье из серии мы обсудим, как влияет пользовательский опыт (UX) и, в первую очередь, быстродействие веб-приложения на эффективность его поискового продвижения.

Читать далее

Защищайся! Простые и не очень правила настройки безопасности для VPS/VDS на Linux

Время на прочтение12 мин
Охват и читатели58K

Все, что смотрит в бесконечную даль Интернета, находится в той или иной степени под угрозой атаки вездесущими ботами, хакерами, школьниками и прочими темными сущностями глобальной сети. Это не в последнюю очередь касается мощностей арендных серверов (выделенных или VPS/VDS). Провайдер может обеспечивать базовый функционал защиты от атак на свою инфраструктуру, но то, что юзер творит со своей машиной, провайдера абсолютно не касается. Разве что за доп. плату он может добавить некоторые настройки к VPS, мониторить и фильтровать трафик, поступающий с определенной интенсивностью. Поэтому хочешь не хочешь, а приходится задуматься об обеспечении безопасности своего сервиса вот этими вот маленькими ручками, желательно с минимальными временными и материальными издержками.

Под катом рассмотрим несколько простых настроек, которые сведут к минимуму угрозу для вашего VPS, а в конце статьи рассмотрим пару более сложных, но эффективных техник защиты. Примеры команд приведены для ОС Ubuntu.

Поехали!

Оптимизация Dockerfile для уменьшения размера и быстрой сборки образов

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

У каждого образа Docker есть свой размер, который он занимает на жёстком диске. Порой бывает так, что контейнер с запущенным приложением на языке программирования Go, который содержит в себе всего лишь одну строчку с выводом фразы «Hello, world!» может занимать сотни Мб, в то время как существуют образы содержащие легковесные ОС весом всего лишь 5 Мб (alpine).

В этой статье будут подробно рассмотрены способы оптимизации файла Dockerfile с целью уменьшения размера готового образа и ускорения его сборки.

Читать далее

Инструменты мониторинга производительности приложений: зачем они нужны и как используются

Время на прочтение6 мин
Охват и читатели4.7K

В этой статье я расскажу о своём опыте работы над большими приложениями и о том, как в мою работу пришёл мониторинг, когда я начал создавать ПО, предназначенное для решения критичных для бизнеса задач.

Решение критических проблем клиентов может создавать отличные возможности для бизнеса, однако в таких случаях высоки и требования клиента.

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

Новые клиенты появляются у нас каждый месяц; приложения становятся всё более и более сложными, усиливается бюрократия, а срочные ситуации, ранее возникавшие раз в месяц, теперь заставляют нас задерживаться на работе ежедневно.

Я не узнаю о том, что моё приложение сломано благодаря тому, что клиент сообщит об ошибке напрямую. Такие клиенты не сообщают о багах или ошибках; они просто перестают пользоваться приложением и ищут другую команду, которая работает более слаженно.

За более чем десять лет работы разработчиком ПО я много времени тратил на поиск лучших инструментов для повышения моей продуктивности.
Читать дальше →

Изучите разделение чтения/записи базы данных с помощью браузера

Время на прочтение6 мин
Охват и читатели7.7K

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

Самое приятное: вы научитесь всему этом, не выходя из браузера!

Читать далее

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

Время на прочтение9 мин
Охват и читатели17K


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

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

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

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

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

Время на прочтение5 мин
Охват и читатели11K

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

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

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

Читать далее

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

Время на прочтение6 мин
Охват и читатели38K

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

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

Читать далее

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

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

Время на прочтение34 мин
Охват и читатели2.2K

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

Читать далее

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

Время на прочтение16 мин
Охват и читатели23K

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

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

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

Время на прочтение13 мин
Охват и читатели121K

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

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

Читать далее

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

Время на прочтение9 мин
Охват и читатели21K

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

Читать далее

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

Время на прочтение10 мин
Охват и читатели14K

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

Читать далее

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

Время на прочтение13 мин
Охват и читатели23K

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели6.1K

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

Читать далее