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

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

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

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

Использование journalctl для просмотра и анализа логов: подробный гайд

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


Journalctl — отличный инструмент для анализа логов, обычно один из первых с которым знакомятся начинающие администраторы linux систем. Встроенные возможности ротации, богатые возможности фильтрации и возможность просматривать логи всех systemd unit-сервисов одним инструментом очень удобны и заметно облегчают работу системным администраторам.

Эта статья рассматривает основные возможности утилиты journalctl и различные варианты ее применения. С помощью journalctl можно просматривать логи системы, чтобы решить возникшие проблемы на рабочей станции или сервере использующие дистрибутив linux с демоном инициализации systemd, де-факто уже ставшим стандартом в современных Linux-системах, например: RHEL, CentOS, Fedora, Debian и многих других.

Существует мнение, что systemd не так уж и хорош — он нагружает систему и это все еще предмет для споров на сегодняшний день, но нельзя отрицать, что он предоставляет прекрасный набор инструментов для управления системой и поиска проблем. Представьте, что вам приходится иметь дело с проблемным сервером, который даже не загружается — в таком случае можно загрузиться с live-дистрибутива, смонтировать системный раздел и просмотреть логи systemd, чтобы понять, в чем проблема.
Читать дальше →

TCP BBR: быстрый и простой способ ускорения загрузки страниц. Доклад Яндекса

Время на прочтение11 мин
Количество просмотров28K
Современные протоколы прикладного уровня используют для ускорения передачи данных мультиплексирование, которое повышает требования к надёжности канала. На конференции YaTalks Александр Грянко phasma рассказал, как мы ускоряем загрузку страниц на каналах с большими потерями пакетов на примере протоколов HTTP/2 и TCP BBR.

— Привет. Я Саша, работаю в Яндексе, в последние три года занимаюсь разработкой L7-балансировщика нагрузки. Расскажу о быстром и простом способе ускорения сети. Мы начнем с седьмого уровня, HTTP, и опустимся к четвертому уровню, TCP. Сегодня мы поговорим только об этих двух уровнях и остановимся на них довольно подробно.

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

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

Head-of-Line Blocking в QUIC и HTTP/3: Подробности

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

Как вы могли слышать, после четырех лет разработки протоколы HTTP/3 и QUIC приблизились к официальной стандартизации. Предварительные версии уже доступны для тестирования на серверах и браузерах.

HTTP/3 обещает значительный прирост производительности по сравнению с HTTP/2, в основном благодаря смене транспортного протокола с TCP на QUIC over UDP. В этой статье мы подробно рассмотрим только одно улучшение, а именно — устранение проблемы блокировки начала очереди (Head-of-Line blocking, HOL blocking). Это будет полезно, так как я прочитал много заблуждений о том, насколько это решение полезно и как оно помогает на практике. Решение HOL blocking было основным мотивом не только HTTP/3 и QUIC, но и HTTP/2, и это дает фантастическое представление о причинах эволюции протокола.

Я расскажу о проблеме и ее формах на фоне истории протокола HTTP. Рассмотрим, как эта проблема влияет на системы приоритизации и контроля перегрузки сети. Цель данной статьи — помочь людям сделать правильные выводы об улучшении производительности в HTTP/3, которые (спойлер!) не всегда так хороши, как пишут в маркетинговых материалах.
Читать дальше →

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

Время на прочтение8 мин
Количество просмотров3K
Когда в вашем распоряжении одновременно оказывается мощное облако с инфраструктурой в США, Евросоюзе, СНГ, Азии и Австралии и CDN со 100 точками присутствия в 70+ городах на пяти континентах, решение приходит само собой — нужно их интегрировать! Такая синергия очевидно расширит возможности инфраструктуры. Конечно же, мы не могли упустить такую возможность, но в то же время столкнулись с целым рядом челленджей.

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

image

Поехали!

Haproxy — программирование и конфигурирование средствами Lua

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

Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.


Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это вполне закономерно, так как язык программирования Lua как раз и был разработан для удобства встраивания в приложения в качестве скриптового языка.


В этом сообщении я рассмотрю варианты использования Lua для расширения возможностей Haproxy.

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

Архитектура отказоустойчивого планировщика задач. Доклад Яндекса

Время на прочтение21 мин
Количество просмотров5.9K
В Яндексе десятки тысяч машин, которые постоянно нагружены под завязку разными вычислительными задачами. Бо́льшая часть этих вычислений относится к так называемой batch-нагрузке — как правило, оформленной в виде операций в парадигме MapReduce. Мы используем собственную систему YT, которая предоставляет распределённый storage и интерфейс запуска распределённых вычислений с произвольным пользовательским кодом. В докладе я рассказал о задачах, возникающих при попытке написать софт, который будет что-то планировать на кластерах из большого количества машин.

— Давайте первым делом обсудим, чем вообще занимаются вычислительные кластеры Яндекса.
Читать дальше →

Череда проблем длиною в 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.8K


Привет! Меня зовут Кирилл, я руководитель отдела серверной разработки в 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 мин
Количество просмотров16K

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

Читать далее

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

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

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


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


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

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

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


Существует множество учетных систем для малого бизнеса, помимо занимающих на российском рынке монопольное положение продуктов 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.
Читать дальше →