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

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

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

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

Оптимизация высоконагруженных конфигураций: от “всё пропало, мы все умрем” до комфортной работы без страха за жизнь

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

Оптимизация высоконагруженных конфигураций: от “всё пропало, мы все умрем” до комфортной работы без страха за жизнь

Оптимизация высоконагруженных конфигураций

Тестируем космические технологии: насколько эффективно пассивное охлаждение серверов?

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

Системы охлаждения совершенствуются, но отвод тепла от электронных компонентов по-прежнему основан на использовании вентиляторов и массивных радиаторов. Можно изолировать холодные или горячие коридоры, устанавливать продвинутые системы мониторинга и управлять воздушными потоками в реальном времени, но технологический предел эффективности таких решений уже достигнут. И где разумная тому альтернатива?

Мы в HOSTKEY решили попробовать пассивное охлаждение и внедрили разработку компании «Теркон» — создателя систем охлаждения для космических аппаратов.

И что же вышло?

Серверная архитектура: быстрый старт проекта и его эволюционное развитие

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

Ах, это соблазнительное желание «запилить свое приложение». Все мы с ним знакомы. Как ему не поддаться? Но столкнувшись с вопросами «как» и «где» разместить свой код, многие бросают эту затею. А это еще не было вопроса «Зачем».

В этой статье я хочу поделиться опытом, рассказать, как развернуть свое первое SaaS-приложение. Также разберем, как его развить в будущем. Это материал для тех, кто давно собирался, но не знает, как.

Читать далее

Зачем компаниям API Management

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

Привет, Хабр! Мы – Ярослав Насонов и Надежда Колезнева – развиваем витрину для внешних API в МТС. Сегодня обсудим тему управления API в корпорации. Поделимся опытом внедрения API-менеджмента в МТС, расскажем, что уже сделали, сколько потратили времени, с какими ошибками столкнулись, и зачем все это вообще нужно.

Эта статья будет интересна всем, кто задумывается о централизации IT-сервисов в своей компании, не знает с чего начать внедрение API-менеджмента в компанию, и поможет ответить на вопрос – а нужно ли вообще это внедрение у себя?

Чтобы сделать статью полезной, мы побеседовали с главным по API-менеджменту в МТС – руководителем платформы ЦФК Алексеем Неботовым.

Читать далее

Dell VRTX — четыре блейда у вас под столом

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

Давайте начистоту, мировой рынок серверов устоялся. На нём закрепились мастодонты, вроде Dell, HPE, Lenovo, IBM, Cisco, Huawei и другие. Все производят плюс-минус схожие линейки серверов: башенные, стоечные, блейд-системы. 

Принципиально новых решений почти не появляется. Вышли на плато и скучную эволюционная модель развития. Но есть кое что интересное, выбивающееся из серого однообразия — Dell PowerEdge VRTX. Модель не новая, но если стряхнуть пыль, то она сможет вас удивить.

Читать далее

Профилируем php на бою

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

Привет Хабр! Последняя статья про инструменты для профилирования php датируется аж  2018 годом. Но все перечисленные решения разработаны много лет назад и имеют недостатки: древний интерфейс btp (аналог pinba), оверхед xhprof и необходимость ручного запуска phpspy на stage.

Я тимлид в рекомендательном сервисе Zoon и перед моей командой стояла цель найти инструменты, которые профилируют весь код на проде 24/7 и хранят данные. Инструменты, с которыми могут работать рядовые разработчики, без доступа к проду. Инструменты, которые позволяют находить "бутылочные горлышки" за 30 секунд.

В конце 2021 года показался свет в конце туннеля, в виде системы на основе семплирующего eBFP профайлера: prodfiler

С какими трудностями мы столкнулись при настройке и что вышло в итоге - под катом.

Читать далее

Linux LiveCD на базе CentOS и техники его использования в PXE-загрузке через Foreman

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

Создатели дистрибутивов Linux предлагают пользователям пригодные для работы без установки образы операционных систем, однако универсальные сборки плохо подходят для задач хостинга. Рассказываем, как мы в HOSTKEY создали собственный LiveCD на основе CentOS и в итоге получили удобную управляемую систему сборки и доставки LiveCD.

Читать далее

Миллион одновременных соединений

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

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

Адрес TCP/IP поддерживает только 65000 подключений, поэтому придётся назначить этому серверу примерно 30000 IP-адресов.

Существует 65535 номеров TCP-портов, значит ли это, что к TCP-серверу может подключиться не более 65535 клиентов? Можно решить, что это накладывает строгое ограничение на количество клиентов, которые может поддерживать один компьютер/приложение.

Если есть ограничение на количество портов, которые может иметь одна машина, а сокет можно привязать только к неиспользуемому номеру порта, как с этим справляются серверы, имеющие чрезвычайно большое количество запросов (больше, чем максимальное количество портов)? Эта проблема решается распределением системы, то есть кучей серверов на множестве машин?

Поэтому я написал эту статью, чтобы развеять данный миф с трёх сторон:

  1. Мессенджер WhatsApp и веб-фреймворк Phoenix, построенный на основе Elixir, уже продемонстрировали миллионы подключений, прослушивающих один порт.
  2. Теоретические возможности на основе протокола TCP/IP.
  3. Простой эксперимент с Java, который может провести на своей машине любой, если его всё ещё не убедили мои слова.

Если вы не хотите изучать подробности, то перейдите в раздел «Итоги» в конце статьи.
Читать дальше →

Правила перезаписи PostgreSQL

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

Представления (Views) — это не совсем то, о чём вы можете подумать. В этой статье мы разберём правила перезаписи PostgreSQL, как они работают, что они могут и чего не могут делать.

Начиная с версии 10, PostgreSQL поддерживает концепцию правил перезаписи, которые позволяют изменять способ выполнения запросов.

Фактически правила перезаписи — это то, как представления реализованы в PostgreSQL. Когда вы обращаетесь к представлению, ваш запрос фактически переписывается в соответствии с правилом, которое было создано при создании представления. По сути, представление — это, как мы сейчас увидим, правило перезаписи.

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

От DVD и флешек до современных решений: как мы автоматизировали установку ОС на серверы

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

Сдающие серверы в аренду компании сталкиваются с необходимостью автоматизации установки операционных систем. В первые годы мы в HOSTKEY предлагали клиентам лишь небольшое количество вариантов для инсталляции, но со временем усовершенствовали сервис. Рассказываем, как это сделать с минимальными затратами.

Читать далее

Как Uber сэкономил 70 тысяч ядер благодаря полуавтоматической настройке сборки мусора

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

Введение


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

Технологический стек Uber состоит из тысяч микросервисов на базе нативной облачной архитектуры на основе планировщика. Большинство этих сервисов написано на Go. Наша команда Maps Production Engineering ранее сыграла важную роль в значительном повышении эффективности множества сервисов Java при помощи настройки сборки мусора. В начале 2021 года мы исследовали возможности достичь такого же эффекта в сервисах на Go. Мы запустили несколько профилей CPU для оценки текущего состояния дел и выяснили, что сборка мусора была главным потребителем ресурсов CPU в подавляющем большинстве критически важных сервисов. Ниже приведено описание некоторых профилей CPU, в которых сборка мусора (определяемая объектом runtime.scanobject) потребляет значительную долю выделенных вычислительных ресурсов.
Читать дальше →

Использование PowerShell с $PSStyle

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

В PowerShell 7.2 появилась автоматическая переменная $PSStyle для новой функции под названием PSAnsiRendering. В этой статье я покажу, как можно использовать ANSI-рендеринг для управления оформлением текста, например цветом и стилизацией шрифта, в PowerShell.

Уже некоторое время мы можем использовать в сеансе PowerShell escape-последовательности ANSI. Вы уже могли наблюдать это при вводе команд в командной строке. Команды, параметры, строки и операторы отображаются цветом. Эти цвета определяются как опции PSReadline.
Читать дальше →

Девочка, балансирующая на NVME-over-TCP 2.0

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

Привет всем! Рад вас снова видеть, и я счастлив, что вам так понравилась моя предыдущая статья под названием «А все ли врут? Продолжаем издеваться над NVME».

Напомню, что в этой статье я объяснил, как правильно подключить ваш NVME диск удалённо по сети. Не «как расшарить папку на диске?» и не «какой стороной впихивать NVME в компьютер?» а именно «Как подключить ваш NVME диск по сети».

Что вам это даёт? Вы можете подключить NVME диск на одном компьютере в другой компьютер прямо по сети. По самому обыкновенному медному кабелю. И вам не нужно будет устанавливать какие-то левые программы и настраивать что-то сомнительное. Вся система — часть стандартного набора драйверов Linux.

Более того, при наличии сети на 10Gbps вы сможете в полной мере насладиться полной скоростью NVME устройства. Вам будет казаться, что устройство работает как будто на вашем компьютере и с максимальной скоростью. Главное, чтобы сеть позволяла.

Всё это кажется магией, но на самом деле это возможно. И, конечно, у многих из вас это вызвало массу вопросов. Что же, у меня есть ответы. Всё, что вы хотели узнать об NVME-over-TCP, но боялись спросить.

Давайте под кат.
Читать дальше →

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

Фаззинг сокетов: Apache HTTP Server. Часть 3: результаты

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

Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.

В первой части этой серии статей я рассказал о том, как организовать фаззинг Apache HTTP Server с привлечением кастомных мутаторов. Во втором материале я раскрыл вопрос создания перехватчиков ASAN, которые позволяют выявлять ошибки при использовании собственных реализаций пулов памяти.

Эта статья, третья и последняя, посвящена результатам моих исследований. Я расскажу тут об обнаруженных мной уязвимостях Apache.

Читать далее

Пересаживаем высоконагруженный игровой проект с Photon на кастомные решения

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


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

Но, как это часто бывает, с развитием продукта универсальные решения требуют обработки напильником. А ведь War Robots существует уже почти восемь лет — инфраструктура серверов за это время менялась неоднократно по мере масштабирования проекта, который сейчас уже перешагнул через порог 200 млн установок.

В нашем случае такая обработка вылилась в собственные реализации тех или иных компонентов. Матчмейкинг и социальные фичи перекочевали в отдельные сервисы, новые игровые механики реализовывались на сервере для лучшей согласованности. В итоге от Photon остался транспорт, прослойка PUN на стороне клиента и некоторые сопутствующие расходы в виде лицензии, привязки к Windows и .Net Framework и чрезмерных аллокаций на клиенте.

Стало понятно, что затраты на фреймворк превышают его ценность, и надо тiкать.
Читать дальше →

Фаззинг сокетов: Apache HTTP Server. Часть 2: кастомные перехватчики

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

Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.

В первой статье из этой серии я рассказал о том, с чего стоит начать тому, кто хочет заняться фаззингом Apache HTTP Server. Там мы обсудили разработку кастомных мутаторов в AFL++, поговорили о том, как создать собственный вариант грамматики HTTP.

Сегодня я уделю внимание написанию перехватчиков ASAN, которые позволяют «ловить» баги в кастомных пулах памяти. Здесь пойдёт речь и о том, как перехватывать системные вызовы, нацеленные на файловую систему. Это позволяет выявлять логические ошибки в исследуемом приложении.

Читать далее

Как заставить Ansible работать быстрее – 8 советов по плейбукам

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

Ansible – это мощный и простой инструмент автоматизации с открытым кодом. Он помогает оптимизировать множество задач по эксплуатации ИТ-инфраструктуры, от самых простых, наподобие установки программных пакетов, до весьма сложных, вроде развертывания кластера с несколькими узлами или многоэтапного обновления операционной системы. Сегодня мы расскажем, как оптимизировать плейбуки и модули Ansible, чтобы создаваемые вами автоматизации работали быстрее.

Читать дальше: Как заставить Ansible...

Фаззинг сокетов: Apache HTTP Server. Часть 1: мутации

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

Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.

Этот материал открывает серию из трёх статей (она продолжает материалы о фаззинге FTP-серверов и FreeRDP), посвящённых фаззинг-тестированию реализации протокола HTTP, представленной в Apache HTTP Server. Это — один из самых популярных веб-серверов и в представлении он не нуждается. Так, Apache HTTP — это один из первых HTTP-серверов, разработка которого началась в 1995 году. По состоянию на январь 2021 года под его управлением работали более чем 300000000 серверов, а значит — он использовался на 26% таких систем и занимал второе место по распространённости, немного уступая лишь Nginx (31%).

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

Читать далее

Как одной строкой сделать 24-ядерный сервер медленнее ноутбука

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


Лучше учиться на чужих ошибках, поэтому мы в М.Видео-Эльдорадо стремимся изучать зарубежный опыт. Предлагаем и вам посмотреть перевод статьи Петра Колачковского, получившего черный пояс по прокачке производительности своего железа.
Читать дальше →

9 лучших практик развертывания приложений высокой доступности на платформе OpenShift

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

OpenShift широко используется в мире в качестве платформы для критически важных корпоративных приложений. От таких приложений ждут, что они будут работать в режиме высокой доступности, выдавая типичные для отрасли «пять девяток» и обеспечивая непрерывное обслуживание конечных пользователей и клиентов. OpenShift предлагает целый ряд технологий развертывания в режиме высокой доступности, помогающих не допускать простоя приложения, даже когда его экземпляры или нижележащая ИТ-инфраструктура деградируют или перезапускаются. Сегодня мы рассмотрим девять лучших практик обеспечения высокой доступности приложений на платформе OpenShift.

Читать дальше: 9 лучших практик...