Как стать автором
Обновить
15.97
Рейтинг

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

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

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

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

Серверная оптимизация *Сетевые технологии *Серверное администрирование *
Перевод

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

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

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

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

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

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

Если вы не хотите изучать подробности, то перейдите в раздел «Итоги» в конце статьи.
Читать дальше →
Всего голосов 102: ↑100 и ↓2 +98
Просмотры 36K
Комментарии 26

Новости

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

Блог компании FirstVDS Системное администрирование *PostgreSQL *Серверная оптимизация *
Перевод

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

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

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

Однако не стоит расслабляться — некоторые условности всё же есть. Например, эти правила перезаписи сильно отличаются от плагинов перезаписи MySQL и в целом являются более комплексными.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 3.2K
Комментарии 1

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

Блог компании HOSTKEY Хостинг Настройка Linux *Серверная оптимизация *Серверное администрирование *

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 4K
Комментарии 3

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

Серверная оптимизация *Облачные вычисления *Go *
Перевод

Введение


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

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

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

Блог компании FirstVDS Системное администрирование *PowerShell *Серверная оптимизация *Серверное администрирование *
Перевод

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

Уже некоторое время мы можем использовать в сеансе PowerShell escape-последовательности ANSI. Вы уже могли наблюдать это при вводе команд в командной строке. Команды, параметры, строки и операторы отображаются цветом. Эти цвета определяются как опции PSReadline.
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 2.5K
Комментарии 3

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

Блог компании RUVDS.com Системное администрирование *Серверная оптимизация *Серверное администрирование *Компьютерное железо

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

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

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

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

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

Давайте под кат.
Читать дальше →
Всего голосов 55: ↑55 и ↓0 +55
Просмотры 9.6K
Комментарии 14

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

Блог компании Wunder Fund Информационная безопасность *Серверная оптимизация *Серверное администрирование *Apache *
Перевод

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

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

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

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 1.5K
Комментарии 1

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

Блог компании Pixonic Разработка игр *Серверная оптимизация *Unity *


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

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

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

Стало понятно, что затраты на фреймворк превышают его ценность, и надо тiкать.
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 3.6K
Комментарии 3

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

Блог компании Wunder Fund Информационная безопасность *Серверная оптимизация *Серверное администрирование *Apache *
Перевод

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

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

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

Читать далее
Всего голосов 21: ↑20 и ↓1 +19
Просмотры 1.8K
Комментарии 0

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

Блог компании Red Hat Open source *IT-инфраструктура *Виртуализация *Серверная оптимизация *

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

Читать дальше: Как заставить Ansible...
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 6.8K
Комментарии 16

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

Блог компании Wunder Fund Информационная безопасность *Серверная оптимизация *Серверное администрирование *Apache *
Перевод

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

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

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

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 2.9K
Комментарии 1

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

Блог компании М.Видео-Эльдорадо Клиентская оптимизация *Серверная оптимизация *Rust *
Перевод


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

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

Блог компании Red Hat Open source *Виртуализация *Серверная оптимизация *Openshift *

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

Читать дальше: 9 лучших практик...
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2.9K
Комментарии 0

Как собираются кастомные серверы: от конфигуратора до тестирования

Блог компании Selectel IT-инфраструктура *Серверная оптимизация *Серверное администрирование *IT-компании

В Selectel много конфигураций готовых серверов, но некоторым клиентам нужен уникальный набор комплектующих. Для них у нас есть услуга по созданию кастомного сервера, который можно «собрать» в специальном конфигураторе, — накликать нужное количество процессоров, дисков, видеокарт, объем памяти и т.д. В этом тексте расскажем, что происходит после нажатия кнопки «Заказать сервер».
Читать дальше →
Всего голосов 50: ↑49 и ↓1 +48
Просмотры 5.8K
Комментарии 18

4 страха, мешающие стать тестировщиком в международной компании

Блог компании Dell Technologies Тестирование IT-систем *Анализ и проектирование систем *Серверная оптимизация *Карьера в IT-индустрии
Привет, Хабр! Меня зовут Анастасия Донцова, и я работаю старшим менеджером команды тестирования в компании Dell Technologies. Хочу немного рассказать вам о своей специальности, а также развенчать несколько ложных и вредных представлений, которые её окружают.

Тестирование продуктов в ИТ-индустрии занимает одно из первых мест с точки зрения важности и затрачиваемых ресурсов. Это неотъемлемая часть процесса разработки.



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

В то же время заметна неосведомлённость молодых (и не очень) ИТ-специалистов о специфике тестирования ПО: эту сферу часто обесценивают, и многие опасаются строить карьеру в этом направлении. Кроме того, менеджерам по найму нужно проявлять смекалку, чтобы определять потенциально талантливых тестировщиков и выделять ресурсы для их обучения.

Конечно, эта статья не ответит на вопрос, как внедрить тестирование как дисциплину в университетах. Моя цель более скромная — разрушить некоторые мифы и барьеры, мешающие хорошим умным людям найти своё призвание в тестировании.
Читать дальше →
Всего голосов 29: ↑24 и ↓5 +19
Просмотры 13K
Комментарии 26

Перенос Java-нагрузок на OpenShift – зачем и как

Блог компании Red Hat Open source *Виртуализация *Серверная оптимизация *Kubernetes *

Несмотря на ударные темпы распространения платформ оркестрации контейнеров, вроде Kubernetes или Red Hat OpenShift, подавляющее большинство Java-нагрузок в мире по-прежнему выполняются на виртуальных машинах или на «голом железе». Однако перенос корпоративных нагрузок, и в частности, приложений Red Hat JBoss Enterprise Application Platform (EAP), в облако рано или поздно состоится, и OpenShift представляется здесь естественным выбором. Сегодня мы вкратце ответим на типовые вопросы, которые возникают при таком переходе, и покажем на примере, как он производится.

Читать дальше: Перенос Java-нагрузок...
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 2.2K
Комментарии 0

Спектральный анализ сервера

Системное администрирование *Кодобред Серверная оптимизация *Математика *Статистика в IT

Что будет, если к Perfmon применить быстрое преобразование Фурье? Или функцию корреляции? Получится #черте_что!

Читать далее
Всего голосов 20: ↑19 и ↓1 +18
Просмотры 3.9K
Комментарии 13

А все ли врут? Продолжаем издеваться над NVME

Блог компании RUVDS.com Системное администрирование *Серверная оптимизация *Серверное администрирование *Компьютерное железо
✏️ Технотекст 2021
Tutorial

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

Для многих из нас nvme означает, что мы купили новый компьютер или ультрабук. Жёсткий диск, подключённый напрямую к шине PCIE, позволяет существенно снизить задержки передачи данных и ускорить любую систему. NVME — это ключ к загрузке любой системы за 3 секунды.

Но, на самом деле сам по себе NVME — это не стандарт для жёстких дисков. NVME расшифровывается как NVM Express. NVM, в свою очередь, означает Non-volatile memory, И в первую очередь — это спецификация протокола, который позволяет производить эффективный доступ к данным, хранящимся в энергонезависимой памяти.

А как мы хорошо знаем, протоколы можно запускать на разных носителях. В этой статье мы будем издеваться над моим лэптопом с Ubuntu Linux 21 на борту, подключая его жёсткий диск к разным серверам. Вы можете посетовать, что всё это игрушки, но хороший администратор со свитчем, позволяющим поддерживать скорости более 10 гигабит в секунду, должен взять это на заметку. Вы можете получить удалённый доступ к вашим nvme жёстким дискам через tcp/ip без уловок и мошенства.

Поехали.
Читать дальше →
Всего голосов 113: ↑113 и ↓0 +113
Просмотры 32K
Комментарии 90

Как мы избавились от 80% своего кода, повысив скорость разработки и уменьшив количество ошибок

Блог компании М.Видео-Эльдорадо Совершенный код *Серверная оптимизация *Управление разработкой *
Перевод


Оптимизация кода и развитие микросервисной архитектуры занимает значительную часть жизни команды разработчиков МВидео-Эльдорадо. Тем любопытней изучить опыт коллег за рубежом. Предлагаем вашему вниманию очередной пост на тему: «А как там у них».
Читать дальше →
Всего голосов 98: ↑90 и ↓8 +82
Просмотры 58K
Комментарии 101

Блокировки MySQL: виды, проблемы и способы обнаружения

Блог компании Ситимобил MySQL *SQL *Серверная оптимизация *Серверное администрирование *

Рано или поздно любой разработчик или администратор СУБД, имеющий дело с MySQL, сталкивается с проблемой блокировок. Всё дело в природе MySQL как системы с конкурентным доступом на чтение/запись. Я расскажу о видах блокировок в MySQL, их преимуществах и недостатках, о проблемах, которые они вызывают, а также дам полезные советы по обнаружению и способам борьбы с блокировками.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 7.8K
Комментарии 2

Вклад авторов

Работа