Все потоки
Поиск
Написать публикацию
Обновить
117.99

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

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

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

Jekyll на VPS за 30 рублей для состоятельных людей

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

Статический HTML почти ушел в прошлое. Теперь сайты это связанные с базами данных приложения, которые динамически формируют ответ на пользовательские запросы. Однако, в этом есть и свои недостатки: более высокие требования к вычислительным ресурсам и многочисленные уязвимости в CMS. Сегодня мы расскажем о том, как поднять свой простенький блог на Jekyll — генераторе статических сайтов, контент которых берется прямиком из GitHub.
Читать дальше →

Zabbix-шаблон для мониторинга DFS-репликации

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

Я давно собирался настроить мониторинг службы DFS Replication на нашем Zabbix, но готовых шаблонов в сети не нашел. Попалось несколько заброшенных проектов тут и тут, но первый автор так и не довел до конца, а во втором не работала ссылка для скачивания шаблона. К тому же, оба ограничивались лишь мониторингом бэклогов, хотя по факту метрик намного больше. Поэтому я решил сделать свой велосипед с круглым рулем и турбинами шаблон с дискавери и скриптами. Начал уже давно, но довести дело до конца всё руки не доходили. Как говорится, нет худа без добра: на удаленке в самоизоляции наконец доделал. Работы было проделано много, но я не жадный, поэтому делюсь.

Поехали!

Пишем простую ORM с возможностью смены БД на лету

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

Привет, Хабр! Карма слита из-за неосторожного комента под холиварной статьей, а значит нужно написать интересный (я надеюсь) пост и реабилитироваться.

Я несколько лет пользуюсь серверным telegram клиентом на php. И как многие пользователи — устал от постоянного роста потребления памяти. Некоторые сессии могут занимать от 1 до 8 гигабайт RAM! Поддержка баз данных была уже давно обещана, но подвижек в этом направлении не было. Пришлось решать проблему самому :) Популярность open source проекта, накладывала интересные требования на pull request:

  1. Обратная совместимость. Все существующие сессии должны продолжить работать в новой версии (сессия — это сериализованный инстанс приложения в файле);
  2. Свобода выбора БД. Возможность менять тип хранилища без потери данных и в любой момент, так как у пользователей разные конфигурации окружения;
  3. Расширяемость. Простота добавления новых типов баз данных;
  4. Сохранить интерфейс. Код приложения, работающий с данными, не должен меняться;
  5. Асинхронность. Проект использует amphp, поэтому все операции с базами должны быть неблокирующими;

За подробностями приглашаю всех под кат.
Читать дальше →

Запускаем php 8 с jit в docker за 5 минут

Время на прочтение4 мин
Количество просмотров19K
Зима близко! А вместе с ней близится и релиз php 8. Если вам не терпится протестировать свой код в beta версии php 8, а заодно пощупать jit, то прошу под кат.
Читать дальше →

Устанавливаем балансировщик нагрузки HAProxy на CentOS

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

Перевод статьи подготовлен в преддверии старта курса «Администратор Linux. Виртуализация и кластеризация»





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


HAProxy стремится оптимизировать использование ресурсов, максимизировать пропускную способность, минимизировать время отклика и избежать перегрузки каждого отдельно взятого ресурса. Она может быть установлена на множестве дистрибутивов Linux, таких как CentOS 8, на котором мы остановимся в этом руководстве, а также в системах Debian 8 и Ubuntu 16.

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

Anycast против Unicast: что лучше выбирать в каждом случае

Время на прочтение15 мин
Количество просмотров17K
Про Anycast наверняка многие слышали. При этом методе сетевой адресации и маршрутизации один IP-адрес присваивается нескольким серверам в сети. Эти серверы могут находиться даже в удаленных друг от друга ЦОД. Идея Anycast в том, что, в зависимости от местоположения источника запросов, данные отправляются на ближайший (согласно топологии сети, точнее — протокола маршрутизации BGP) сервер. Таким образом, можно уменьшить количество сетевых переходов (hop) и задержку (latency).

По сути, объявляется один и тот же маршрут из нескольких центров обработки данных по всему миру. Таким образом, клиенты будут отправлены в «лучший» и «ближайший» исходя из маршрутов BGP, центр обработки данных. Почему все же именно Anycast? Зачем использовать Anycast вместо Unicast?

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

Оптимизация сервера Minecraft

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

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

За свою 9-летнюю историю (если считать от даты релиза) Minecraft заработал потрясающее количество поклонников и хейтеров как среди обычных игроков, так и среди гиков. Простая концепция мира из кубиков превратилась из обычного развлечения в универсальную среду для общения и создания различных объектов из реального мира.

Референсные архитектуры: как построить программно-определяемый ЦОД?

Время на прочтение14 мин
Количество просмотров4.3K
Для создания программно-определяемого центра обработки данных можно использовать предлагаемые вендорами референсные архитектуры. Ниже рассказывается о построении VMware Software Defined Data Center с помощью узлов Lenovo ThinkAgile VX.
Читать дальше →

Новые вебинары и бесплатные консультации от экспертов Lenovo Data Center Group

Время на прочтение1 мин
Количество просмотров620
Первая серия продуктовых вебинаров от экспертов Lenovo Data Center Group подходит к своему завершению. За два месяца, начиная с 28 апреля, мы поговорили о технологиях и решениях Lenovo для ЦОД, о серверах, СХД, сетевом оборудовании и многом другом. Более 1 300 человек, работающих либо активно интересующихся данной сферой, задавали свои вопросы экспертам и получали простые и понятные ответы.

Приглашаем всех на заключительный вебинар серии, который пройдет 02 июля в 15:00 и будет посвящен теме хранения неструктурированных данных. Григорий Прялухин, менеджер по программно-определяемым решениям, и Антон Котцов, менеджер по продукту СХД, расскажут о причинах появления и базовых принципах организации объектных хранилищ, а также рассмотрят конкретные реализации хранилищ Lenovo DCG и партнерские решения.
Читать дальше →

HCI: готовые решения для построения гибкой корпоративной ИТ-инфраструктуры

Время на прочтение8 мин
Количество просмотров5.3K
В ИТ есть такое понятие как End User Computing — вычисления для конечных пользователей. Как, где и в чем могут помочь такие решения, какими они должны быть? Согласно сегодняшним требованиям, сотрудники хотели бы иметь возможность безопасно работать с любого устройства, в любом месте. Технологические аспекты составляют до 30% стимулов для вовлеченных сотрудников, говорится в отчете Forrester (Employee Index). Это весомый фактор привлечения и удержания квалифицированных кадров.

Компьютерные системы, получившие собирательное название EUC, помогают сократить затраты и упростить управление настольными ПК.

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

Как коронавирус повлиял на ML-проекты Такси, Еды и Лавки. Доклад Яндекса

Время на прочтение12 мин
Количество просмотров7.9K
Меня зовут Илья Ирхин, я руководитель отдела машинного обучения и анализа данных Яндекс.Такси.


Коронавирус и самоизоляция, безусловно, повлияли на наши ML-проекты. Из моего доклада вы узнаете, как изменились модели, метрики и процессы. Вторая часть доклада тоже связана с нынешней ситуацией. Я рассказал о проектах-бумерангах — мы делаем их не потому, что они улучшают метрики в моменте, а потому, что верим: эти проекты будут полезны в будущем. Например — в такое время, как сейчас.
Читать дальше →

Обновленные SSD для ЦОД: большие объёмы для больших ребят

Время на прочтение4 мин
Количество просмотров6.5K
Привет, Хабр! В прошлом году компания Kingston выпустила на рынок много интересных SSD корпоративного класса, среди которых Kingston DC500R, DC450R и NVMe-решение Kingston DC1000M. В 2020 году мы говорили с вами о том, что новинок станет еще больше. И сегодняшняя наша тема будет посвящена старым-новым SSD, Дело в том, что мы взяли вышеперечисленные модели и удвоили их емкость с 3,84 Тбайт до 7,68 Тбайт. Поставки обновленных накопителей начнутся с середины июня. Тем временем, чем не повод еще раз пробежаться по данным моделям и вспомнить, что интересного они предлагают конечному пользователю.


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

Как мы пережили резкий рост нагрузки x10 на удаленке и какие выводы сделали

Время на прочтение10 мин
Количество просмотров7.4K
Привет, Хабр! Последние пару месяцев мы прожили в очень интересной ситуации, и я хотел бы поделиться нашей историей скейлинга инфраструктуры. За это время СберМаркет вырос в заказах в 4 раза и запустил сервис в 17 новых городах. Взрывной рост спроса на доставку продуктов потребовал от нас масштабирования инфраструктуры. О самых интересных и полезных выводах читайте под катом.


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

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

Сервис проверки HTTP-заголовков сервера

Время на прочтение2 мин
Количество просмотров14K
Для любого сайта важно правильно настроить HTTP-заголовки. На тему заголовков было написано много статей. Здесь мы обобщили накопленный опыт, документацию RFC. Какие-то из заголовков обязательные, какие-то устаревшие, какие-то могут вносить путаницу и противоречия. Мы сделали пузомерку для автоматической проверки HTTP-заголовков веб-сервера. В отличии от многих других сервисов, которые просто показывают заголовки, данный сервис позволяет:

  1. задать значение типовых заголовков;
  2. добавить свои произвольные заголовки;
  3. указать версию HTTP-протокола: 1.0, 1.1, 2 (проверяет поддерживается ли HTTP/2);
  4. указать метод запроса, время ожидания и данные postdata для отправки на сервер;
  5. также пузомерка проверяет корректность ответа на запросы If-Modified-Since, If-None-Match, если в ответе сервера есть Last-Modified или ETag.
Читать дальше →

На чём стоит экономить в облаке

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


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

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

Ключевой принцип экономии — выключать всё ненужное и минимизировать резерв, насколько это возможно. Отвыкайте мыслить в парадигме локального сервера в инфраструктуре компании. Если сможете автоматизировать расширение и выключение облачных ресурсов в зависимости от нагрузки — ещё лучше.

Рассмотрим ситуации, когда выгоднее фиксированные тарифы, а когда — pay-as-you-go-концепция (PAYG). Плюс рассмотрим, что можно выключить лишнего, и где чаще всего впустую расходуются ресурсы. Пройдёмся по основным видам ресурсов: CPU, RAM, виртуальным дискам, сети и бэкапам.
Читать дальше →

Неудачная статья про ускорение рефлексии

Время на прочтение7 мин
Количество просмотров8.3K
Сразу объясню название статьи. Изначально планировалось дать хороший, надежный совет по ускорению использования рефлекшена на простом, но реалистичном примере, однако в ходе бенчмаркинга выяснилось, что рефлексия работает не так медленно, как я думал, LINQ работает медленнее, чем снилось в кошмарах. А в итоге оказалось, что мной еще и была допущена ошибка в замерах… Подробности этой жизненной истории под катом и в комментариях. Так как пример достаточно бытовой и реализованный в принципе как обычно делается в энтерпрайзе, получилось достаточно интересная, как мне кажется, демонстрация жизни: влияния на скорость работы основного предмета статьи было не заметно из-за внешней логики: Moq, Autofac, EF Core и прочей «обвязки».
Читать дальше →

Борьба за миллисекунды. Как выбрать сервер с наименьшим пингом

Время на прочтение5 мин
Количество просмотров51K
Для многих задач задержки между клиентом и сервером критически важны, например в онлайн играх, видео/голосовых конференциях, IP телефонии, VPN и т.д. Если сервер будет слишком удален от клиента на уровне IP-сети, то задержки (в народе «пинг», «лаг») будут мешать работе.

Географическая близость сервера не всегда равна близости на уровне IP маршрутизации. Так, например, сервер в другой стране может быть «ближе» к вам, чем сервер в вашем городе. Все из-за особенностей маршрутизации и построения сетей.



Как выбрать сервер максимально близкий ко всем потенциальным клиентам? Что такое связность IP-сетей? Как направить клиента на ближайший сервер? Разберемся в статье.
Читать дальше →

Хеш+кэш: оптимизация «потоковой» обработки

Время на прочтение6 мин
Количество просмотров5.3K
Что делать, если в базу хочется записать массу «фактов» много большего объема, чем она способна выдержать? Сначала, конечно, приводим данные к более экономичной нормальной форме и получаем «словари», в которые будем писать однократно. Но как это делать наиболее эффективно?

Именно с таким вопросом мы столкнулись при разработке мониторинга и анализа логов серверов PostgreSQL, когда остальные способы оптимизации записи в БД оказались исчерпаны.

Сразу оговоримся, что наши коллекторы работают под управлением Node.js, поэтому с процессорными регистрами и кэшами мы никак не взаимодействуем. А вариант использования «стораджей» или внешних кэширующих сервисов/БД дает слишком большие задержки при входящих потоках в несколько сотен Mbps.

Поэтому мы стараемся кэшировать все в RAM, конкретно — в памяти JavaScript-процесса. Про то, как эффективнее это организовать, и пойдет речь дальше.
Читать дальше →

4 аргумента убедить директора приобрести ИБП в малом бизнесе

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


Страх и жадность — это про страсти на Уолл-стрит? Совсем нет, именно эти два чувства испытывает директор в компании малого бизнеса, когда админ приходит просить денег на ИБП (источник бесперебойного питания) для сервера, онлайн-кассы и рабочих мест. Скорее всего, админу откажут. Но есть 4 аргумента, благодаря которым столь необходимая покупка может получить одобрение.

«База лежит», в конторе шок и трепет


Компания «нажглась» на экономии и при отключении электроснабжения потеряны ценные данные? Админ — проси денег на ИБП для сервера, не отходя от кассы. Это твой звездный час.
Стандартная ситуация — при отключении электропитания падает сервер 1С, а после возобновления подачи электроэнергии пользователи замечают, что нормальная работа с 1С невозможна. К примеру, появляются сообщения «Ошибка при входе в 1С х.х: неверный формат хранилища данных, Невосстановимая ошибка при выполнении запроса POST» и т.д. и т.п.
Читать дальше →

Автоматическая настройка и оптимизация сервера MySQL для повышения производительности

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

Хочу обсудить с сообществом наш проект, с помощью которого можно за 1 минуту создать конфигурационный файл MySQL, оптимизированный под производительность (тюнинг MySQL). Таким образом можно достаточно быстро создавать конфигурационный файл для первичной оптимизации производительности MySQL.
Читать дальше →