Рубрика «Серверная оптимизация» - 4

Этот код напечатает случайную последовательность латинских букв, так ведь?

import java.util.Random;

class WTF {
    public static void main(String[] args) {
        Random r = new Random(76880392499L<<11);
        String alphabet = " abcdefghijklmnopqrstuvwxyz";
        int n;
        while ((n = r.nextInt(alphabet.length())) > 0)
        	System.out.print(alphabet.charAt(n));
    }
}

Можете проверить; вывод кажется совсем не случайным. Как же так вышло?

Прежде всего: какой шанс, что из всех последовательностей латинских букв напечатается именно эта? Сгенерировано 10 случайных чисел, каждое выбиралось из 27 вариантов, значит всего вариантов было $inline$27^{10} approx 2.06cdot10^{14}$inline$. Если считать, что все варианты равновероятны, то нам выпал один шанс из двухста миллионов миллионов! Ух!Читать полностью »

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

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

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

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

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

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

image

Читать полностью »

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

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

Как избежать ошибок при создании серверной? - 1
Источник: Яндекс.Картинки

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

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

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

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

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

А ваш CDN умеет так? - 1
Изображение взято с сайта www.aerotime.aero

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

Читать полностью »

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

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

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


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

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

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js