Обновить
51.66

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

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

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

Череда проблем длиною в 16 лет

Время на прочтение12 мин
Количество просмотров11K
Не так давно, на заре этого тысячелетия, холодным ноябрьским днем 2004го я сел писать эмулятор сервера для некой онлайн игры. Писалось мне весьма хорошо, на радующем глаз C# и .Net Framework версии 1.1. Особых целей перед собой я не ставил, а опыт имел сравнительно небольшой. По какой-то причине сообщество оценило эту поделку (может, потому что она появилась раньше официального старта основной игры?) и через несколько месяцев я столкнулся с взрывным ростом онлайна, а заодно и серьезными проблемами производительности. Проект прожил 6+ лет, достиг заметных высот (2500 онлайна в пике, порядка 20000 MAU), а затем и почил в бозе. И вот спустя полтора десятилетия я решил сделать собственную ММО игру на тех же “проверенных временем” наработках и столкнулся с аналогичными же проблемами, не смотря на то, что они были уже единожды мною решены.
Читать дальше →

Lenovo ThinkAgile VX + VMware vSAN = ЦОД в коробке

Время на прочтение6 мин
Количество просмотров3.5K
Сейчас все больше и больше набирают популярность гиперконвергентные системы. Причина этого лежит на поверхности. Гиперконвергентные системы – это, по сути, «ЦОД в коробке», который уже содержит систему хранения, вычислительные мощности и платформу виртуализации. Это сильно упрощает жизнь всем: системным администраторам проще эксплуатировать одну систему, чем три по отдельности (отдельно СХД, отдельно виртуализацию, отдельно серверы), ИТ-руководителям проще планировать развитие ИТ-инфраструктуры ввиду её более простого масштабирования, у закупщиков от ИТ снижается объем рутинной работы по закупкам и обеспечению гарантии.

Казалось бы, выбор в пользу таких систем очевиден. Однако почему-то многие заказчики отнюдь не горят желанием внедрять гиперконвергентные системы, несмотря на все очевидные плюсы. Вопрос: почему? Давайте разберемся в деталях, ведь, как обычно, дьявол скрывается именно там.
Читать дальше →

Учимся разбираться в названиях логов

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

Наверняка я вам не открою Америки рассказом о том, что логи назвали логами из-за судовых журналов, куда записывали всякое интересное (и не очень), что происходило на корабле во время плавания. (Возможно, некоторые из вас не знают, но по воде ходят именно корабли, а судно — это в больнице. Хотя тут показания расходятся)))

Но не об этом мы сегодня. Сегодня мы поговорим о структуре логов в Veeam Backup & Replication, об их названиях и ожидаемом содержимом. Список будет большим, но не исчерпывающим, ибо всё описать — задача практически невозможная.

Читать далее

Meta Gameplay Framework, или бэкенд без серверных разработчиков

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


Привет! Меня зовут Кирилл, я руководитель отдела серверной разработки в Pixonic. Здесь я работаю уже более 5 лет. Долгое время Pixonic была компанией одной игры — War Robots. Но однажды к нам пришло осознание, что так больше продолжаться не может, и мы начали работу над созданием новых проектов.

Поначалу мы взялись за это дело по старинке, используя традиционные для нас подходы: писали клиент на Unity 3D, бэкенд разрабатывали на Java. Это было привычно, понятно, но имело ряд серьезных недостатков. Проекты разрабатывались медленнее, чем нам бы хотелось. Для выполнения любой задачи необходимо было задействовать как минимум двух разработчиков. Однако, когда в разработке участвуют два и более человека, неизбежно возникают ошибки в духе: то один не так понял другого, то второй работает быстрее, чем первый. Такие ситуации приводят к тому, что кому-то из разработчиков в дальнейшем приходится возвращаться к задаче, которую он, казалось, уже давно закончил, а ведь у него и других дел полно. Так мы начали думать над тем, как разрешить эту проблему.
Читать дальше →

Компьютер с кипящим охлаждением представлен на семинаре в ИПС РАН

Время на прочтение5 мин
Количество просмотров16K
16 октября 2020 года на семинаре в Институте программных систем РАН (Переславль-Залесский) был показан экспериментальный компьютер, охлаждаемый кипящей жидкостью. Конечно, кипящей при невысокой температуре (40°C). По словам исследователей, это позволяет в тысячи раз улучшить отбор тепла на процессоре и создать одинаково холодные условия во всей установке.

Слева монитор управляющей системы, справа компьютер, на его процессоре заметно кипение.
Слева монитор управляющей системы,
справа компьютер, на его процессоре заметно кипение.


Компьютер не перемещает никаких грузов, не обрабатывает сырья, не выпекает хлеб или керамику — то есть не тратит электрическую мощность на производство продукции. Вся эта мощность должна быть рассеяна компьютером без перегрева, всё его тепло надо сбросить в окружающую среду. Поэтому охлаждение электроники становится очень важной, ключевой задачей. Шаг за шагом было придумано воздушное охлаждение, потом изолированное жидкостное (охладитель в трубках), потом погружное (электроника плавает в охладителе). А теперь сделан следующий шаг — фазовый переход.
Читать дальше →

Как избежать ошибок при создании серверной?

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

Источник: getty image

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

Оптимизация C++: совмещаем скорость и высокий уровень. Доклад Яндекса

Время на прочтение9 мин
Количество просмотров26K
Что влияет на скорость работы программ на C++ и как её добиться при высоком уровне кода? Ведущий разработчик библиотеки CatBoost Евгений Петров ответил на эти вопросы на примерах и иллюстрациях из опыта работы над CatBoost для x86_64.

Видео доклада

— Всем привет. Я занимаюсь оптимизацией для CPU библиотеки машинного обучения CatBoost. Основная часть нашей библиотеки написана на C++. Сегодня расскажу, какими простыми способами мы добиваемся скорости.


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

А ваш CDN умеет так?

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


Изображение взято с сайта www.aerotime.aero


Всем привет, меня зовут Семён, я руковожу разработкой партнёрских сервисов в ДомКлике. Недавно, работая над оптимизацией загрузки страниц, я наткнулся на интересную заметку от Cloudflare о приоритизации потоков при работе с CDN. Я заинтересовался и решил проверить, поддерживает ли наш CDN эту опцию стандарта HTTP/2? Тех, кому интересно узнать больше, прошу под кат, где мы рассмотрим механизм приоритизации HTTP/2-потоков и протестируем работу некоторых CDN.

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

Экономичные серверы Lenovo Data Center Group ST50 и SR250 на все случаи жизни

Время на прочтение4 мин
Количество просмотров3.7K
Крупные производители серверов из года в год (а иногда и чаще) представляют рынку свои новые, инновационные и уникальные продукты. При этом многие из них забывают о том, что большей части заказчиков нужны просто хорошие, недорогие серверы с качественной поддержкой. В них может не быть вкуса мёда и лимона каких-то очень уникальных новых разработок, они должны просто работать. И при этом стоить адекватных денег.
Читать дальше →

Я был неправ. Будущее за CRDT

Время на прочтение8 мин
Количество просмотров8.3K
Несколько недель назад я посмотрел презентацию Мартина Клеппмана про его подход к редактированию в реальном времени через CRDT и ощутил жгучее отчаяние. Его подход хорош настолько, что превосходит всю мою работу за последнее десятилетие, и места в будущем ей уже не видать.

Но начнем сначала.

В 2010 году я работал в Google Wave, где мы пробовали создать совместные редактируемые пространства для замены электронной почты, Google Docks, форумов, мгновенных сообщений и многих других однозадачных приложений. Среди моих инструментов мне особенно нравится среда общего назначения, нигде более как в Wave не сформулированный в то время функционал. В отличие от большинства других инструментов, среда общего назначения не навязывает собственный рабочий процесс, благодаря чему через нее можно планировать праздники, создавать вики-проекты, играть с друзьями в настольные игры, назначать рабочие собрания и много чего еще.
Читать дальше →

Как победить фиолетовый экран смерти VMware?

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

Многие администраторы VMware ESXi сталкивались с такой проблемой, как «фиолетовый экран смерти». Самое неприятное в этой проблеме, что у вас возникает недоверие к своей собственной инфраструктуре. В голове постоянно крутятся мысли о том, что такая же проблема может повториться и на другом сервере.

Читать далее

Практика vs Теория или зачем нужно высшее образование?

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

Дмитрий Симонов, CTO, создатель канала «Техдирские заметки» задал интересную дискуссию. Практика vs Теория или зачем нужно высшее образование?


Битвы вокруг практики vs теории хватает. Не менее, чем на «ганзах», что лучше AК или AR-15, или Кольт 1911 или Глок 17. Чем мы, айтишники хуже?


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

Бесплатная бухгалтерия для одинокого ИП: миф или реальность?

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


Существует множество учетных систем для малого бизнеса, помимо занимающих на российском рынке монопольное положение продуктов 1С. Есть, к примеру, специализированные облачные решения и онлайн-сервисы банков, доступ к которым можно получить вместе с расчетно-кассовым обслуживанием. За все популярные продукты приходится регулярно отдавать довольно приличную сумму денег, что вполне оправдано при наличии наемных сотрудников и довольно сложных бизнес-процессов. В случае, если индивидуальный предприниматель работает сам и применяет упрощенную систему налогообложения, нет никакого смысла отдавать по 5 — 10 тысяч рублей в год только за право вести бухгалтерский учет и формировать налоговую декларацию. В небольшой статье мы попробуем разобраться, как микробизнес может сэкономить немного микроденег, используя альтернативные программы.
Читать дальше →

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

Как я собирал статистику по брутфорсу наших серверов и лечил их

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

Мы разместили 5 ханипотов, в дальнейшем просто «серверов», чтобы собрать статистику по брутфорсу RDP в наших сетях.

Один сервер находился в Лондоне, другой в Цюрихе, один в защищенной сети в M9, два других в дата-центре Rucloud в защищенной и незащищенной сетях. IP адреса каждого из серверов находятся в разных подсетях, каждый IP адрес отличается первым октетом. Если попытаться измерить «расстояние» скана между IP адресами по формуле:

((Первый октет подсети №1) – (Первый октет подсети №2)) * (2^24),

Если сканировать 0.0.0.0/0, атакующему придется пролистать как минимум 771751936 IP адресов, чтобы найти два самых «ближайших» друг к другу сервера. Вдобавок, ни один из серверов не отвечал на ICMP и каждый IP адрес не использовался никем в течение 3 месяцев, все 5 серверов открыли порты в одно и то же время. Все серверы были подключены к AD.
Читать дальше →

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

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

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

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

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

Я давно собирался настроить мониторинг службы 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 мин
Количество просмотров20K
Зима близко! А вместе с ней близится и релиз php 8. Если вам не терпится протестировать свой код в beta версии php 8, а заодно пощупать jit, то прошу под кат.
Читать дальше →

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

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

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





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


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

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

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

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

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

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