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

Что быстрее — ASP.NET Core-приложение, развёрнутое в Docker-контейнере на Linux, или такая же программа, но запущенная на Windows-сервере, учитывая то, что всё это работает в службе приложений Azure? Какая из этих конфигураций предлагает более высокий уровень производительности, и о каком «уровне производительности» можно говорить?

Сравнение производительности ASP.NET Core-проектов на Linux и Windows в службе приложений Azure - 1
Читать полностью »

ARM серверы подходят для облачного хостинга лучше чем x86? Проверим - 1

Если вам нужна была высокая производительность, то вам нужно было выбирать процессор на x86 для своих решений. В последнее время, все больше и больше говорят о закате архитектуры x86 и переходе на ARM. В прошлом году компания Apple впервые представила Mac на процессорах ARM. Но подойдет ли процессор ARM для дата-центров, сможет ли ARM навсегда отправить x86 на скамью запасных?
Читать полностью »

OCP Experience Lab — как мы строили мини-ЦОД в офисе - 1

Начиналось всё с создания стенда для тестирования серверов нашей собственной разработки. Потом стенд разросся и мы решили сделать небольшой датацентр для пилотирования различных софтовых решений. Сейчас это единственная в Россси и вторая в Европе лаборатория OCP Experience Lab.


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

В этом году Apple потрясла рынок десктопных процессоров чипом Apple M1 и устройствами на нём. Похожее событие произошло в мире облачных вычислений в прошлом году. AWS выпустили новый тип сервера на собственных ARM процессорах Graviton2. По заявлениям Amazon, соотношение производительности к цене у новых процессоров на 40% выше, чем у аналогов на x86. Ещё одно недавнее обновление - сервера Amazon RDS (облачный сервис, предоставляющий сервера баз данных) на Graviton2. Я запустил несколько бенчмарков и нагрузочный тест реального бэкенд приложения, чтобы проверить настолько ли хороши сервера на ARM процессорах и узнать какие проблемы совместимости могут возникнуть.

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

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

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
Источник: Яндекс.Картинки

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


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