Обновить
64K+

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

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

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

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

Время на прочтение7 мин
Охват и читатели85K


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

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

Время на прочтение5 мин
Охват и читатели21K

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

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

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

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

Jekyll на VPS за 30 рублей для состоятельных людей

Время на прочтение3 мин
Охват и читатели9.3K

Статический HTML почти ушел в прошлое. Теперь сайты это связанные с базами данных приложения, которые динамически формируют ответ на пользовательские запросы. Однако, в этом есть и свои недостатки: более высокие требования к вычислительным ресурсам и многочисленные уязвимости в CMS. Сегодня мы расскажем о том, как поднять свой простенький блог на Jekyll — генераторе статических сайтов, контент которых берется прямиком из GitHub.
Читать дальше →

Zabbix-шаблон для мониторинга DFS-репликации

Время на прочтение10 мин
Охват и читатели12K

Я давно собирался настроить мониторинг службы DFS Replication на нашем Zabbix, но готовых шаблонов в сети не нашел. Попалось несколько заброшенных проектов тут и тут, но первый автор так и не довел до конца, а во втором не работала ссылка для скачивания шаблона. К тому же, оба ограничивались лишь мониторингом бэклогов, хотя по факту метрик намного больше. Поэтому я решил сделать свой велосипед с круглым рулем и турбинами шаблон с дискавери и скриптами. Начал уже давно, но довести дело до конца всё руки не доходили. Как говорится, нет худа без добра: на удаленке в самоизоляции наконец доделал. Работы было проделано много, но я не жадный, поэтому делюсь.

Поехали!

Пишем простую ORM с возможностью смены БД на лету

Время на прочтение9 мин
Охват и читатели9.4K
image

Привет, Хабр! Карма слита из-за неосторожного комента под холиварной статьей, а значит нужно написать интересный (я надеюсь) пост и реабилитироваться.

Я несколько лет пользуюсь серверным telegram клиентом на php. И как многие пользователи — устал от постоянного роста потребления памяти. Некоторые сессии могут занимать от 1 до 8 гигабайт RAM! Поддержка баз данных была уже давно обещана, но подвижек в этом направлении не было. Пришлось решать проблему самому :) Популярность open source проекта, накладывала интересные требования на pull request:

  1. Обратная совместимость. Все существующие сессии должны продолжить работать в новой версии (сессия — это сериализованный инстанс приложения в файле);
  2. Свобода выбора БД. Возможность менять тип хранилища без потери данных и в любой момент, так как у пользователей разные конфигурации окружения;
  3. Расширяемость. Простота добавления новых типов баз данных;
  4. Сохранить интерфейс. Код приложения, работающий с данными, не должен меняться;
  5. Асинхронность. Проект использует amphp, поэтому все операции с базами должны быть неблокирующими;

За подробностями приглашаю всех под кат.
Читать дальше →

Запускаем php 8 с jit в docker за 5 минут

Время на прочтение4 мин
Охват и читатели20K
Зима близко! А вместе с ней близится и релиз php 8. Если вам не терпится протестировать свой код в beta версии php 8, а заодно пощупать jit, то прошу под кат.
Читать дальше →

Устанавливаем балансировщик нагрузки HAProxy на CentOS

Время на прочтение8 мин
Охват и читатели115K

Перевод статьи подготовлен в преддверии старта курса «Администратор Linux. Виртуализация и кластеризация»





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


HAProxy стремится оптимизировать использование ресурсов, максимизировать пропускную способность, минимизировать время отклика и избежать перегрузки каждого отдельно взятого ресурса. Она может быть установлена на множестве дистрибутивов Linux, таких как CentOS 8, на котором мы остановимся в этом руководстве, а также в системах Debian 8 и Ubuntu 16.

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

Anycast против Unicast: что лучше выбирать в каждом случае

Время на прочтение15 мин
Охват и читатели22K
Про Anycast наверняка многие слышали. При этом методе сетевой адресации и маршрутизации один IP-адрес присваивается нескольким серверам в сети. Эти серверы могут находиться даже в удаленных друг от друга ЦОД. Идея Anycast в том, что, в зависимости от местоположения источника запросов, данные отправляются на ближайший (согласно топологии сети, точнее — протокола маршрутизации BGP) сервер. Таким образом, можно уменьшить количество сетевых переходов (hop) и задержку (latency).

По сути, объявляется один и тот же маршрут из нескольких центров обработки данных по всему миру. Таким образом, клиенты будут отправлены в «лучший» и «ближайший» исходя из маршрутов BGP, центр обработки данных. Почему все же именно Anycast? Зачем использовать Anycast вместо Unicast?

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

Оптимизация сервера Minecraft

Время на прочтение8 мин
Охват и читатели50K

В нашем блоге мы уже рассказывали, как создать свой сервер Minecraft, однако с тех пор прошло 5 лет и многое поменялось. Делимся с вами актуальными способами создания и оптимизации серверной части столь популярной игры.

За свою 9-летнюю историю (если считать от даты релиза) Minecraft заработал потрясающее количество поклонников и хейтеров как среди обычных игроков, так и среди гиков. Простая концепция мира из кубиков превратилась из обычного развлечения в универсальную среду для общения и создания различных объектов из реального мира.

Референсные архитектуры: как построить программно-определяемый ЦОД?

Время на прочтение14 мин
Охват и читатели4.9K
Для создания программно-определяемого центра обработки данных можно использовать предлагаемые вендорами референсные архитектуры. Ниже рассказывается о построении VMware Software Defined Data Center с помощью узлов Lenovo ThinkAgile VX.
Читать дальше →

Новые вебинары и бесплатные консультации от экспертов Lenovo Data Center Group

Время на прочтение1 мин
Охват и читатели688
Первая серия продуктовых вебинаров от экспертов Lenovo Data Center Group подходит к своему завершению. За два месяца, начиная с 28 апреля, мы поговорили о технологиях и решениях Lenovo для ЦОД, о серверах, СХД, сетевом оборудовании и многом другом. Более 1 300 человек, работающих либо активно интересующихся данной сферой, задавали свои вопросы экспертам и получали простые и понятные ответы.

Приглашаем всех на заключительный вебинар серии, который пройдет 02 июля в 15:00 и будет посвящен теме хранения неструктурированных данных. Григорий Прялухин, менеджер по программно-определяемым решениям, и Антон Котцов, менеджер по продукту СХД, расскажут о причинах появления и базовых принципах организации объектных хранилищ, а также рассмотрят конкретные реализации хранилищ Lenovo DCG и партнерские решения.
Читать дальше →

HCI: готовые решения для построения гибкой корпоративной ИТ-инфраструктуры

Время на прочтение8 мин
Охват и читатели6.2K
В ИТ есть такое понятие как End User Computing — вычисления для конечных пользователей. Как, где и в чем могут помочь такие решения, какими они должны быть? Согласно сегодняшним требованиям, сотрудники хотели бы иметь возможность безопасно работать с любого устройства, в любом месте. Технологические аспекты составляют до 30% стимулов для вовлеченных сотрудников, говорится в отчете Forrester (Employee Index). Это весомый фактор привлечения и удержания квалифицированных кадров.

Компьютерные системы, получившие собирательное название EUC, помогают сократить затраты и упростить управление настольными ПК.

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

Как коронавирус повлиял на ML-проекты Такси, Еды и Лавки. Доклад Яндекса

Время на прочтение12 мин
Охват и читатели8.3K
Меня зовут Илья Ирхин, я руководитель отдела машинного обучения и анализа данных Яндекс.Такси.


Коронавирус и самоизоляция, безусловно, повлияли на наши ML-проекты. Из моего доклада вы узнаете, как изменились модели, метрики и процессы. Вторая часть доклада тоже связана с нынешней ситуацией. Я рассказал о проектах-бумерангах — мы делаем их не потому, что они улучшают метрики в моменте, а потому, что верим: эти проекты будут полезны в будущем. Например — в такое время, как сейчас.
Читать дальше →

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

Обновленные SSD для ЦОД: большие объёмы для больших ребят

Время на прочтение4 мин
Охват и читатели6.8K
Привет, Хабр! В прошлом году компания Kingston выпустила на рынок много интересных SSD корпоративного класса, среди которых Kingston DC500R, DC450R и NVMe-решение Kingston DC1000M. В 2020 году мы говорили с вами о том, что новинок станет еще больше. И сегодняшняя наша тема будет посвящена старым-новым SSD, Дело в том, что мы взяли вышеперечисленные модели и удвоили их емкость с 3,84 Тбайт до 7,68 Тбайт. Поставки обновленных накопителей начнутся с середины июня. Тем временем, чем не повод еще раз пробежаться по данным моделям и вспомнить, что интересного они предлагают конечному пользователю.


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

Как мы пережили резкий рост нагрузки x10 на удаленке и какие выводы сделали

Время на прочтение10 мин
Охват и читатели7.6K
Привет, Хабр! Последние пару месяцев мы прожили в очень интересной ситуации, и я хотел бы поделиться нашей историей скейлинга инфраструктуры. За это время СберМаркет вырос в заказах в 4 раза и запустил сервис в 17 новых городах. Взрывной рост спроса на доставку продуктов потребовал от нас масштабирования инфраструктуры. О самых интересных и полезных выводах читайте под катом.


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

Сервис проверки HTTP-заголовков сервера

Время на прочтение2 мин
Охват и читатели17K
Для любого сайта важно правильно настроить HTTP-заголовки. На тему заголовков было написано много статей. Здесь мы обобщили накопленный опыт, документацию RFC. Какие-то из заголовков обязательные, какие-то устаревшие, какие-то могут вносить путаницу и противоречия. Мы сделали пузомерку для автоматической проверки HTTP-заголовков веб-сервера. В отличии от многих других сервисов, которые просто показывают заголовки, данный сервис позволяет:

  1. задать значение типовых заголовков;
  2. добавить свои произвольные заголовки;
  3. указать версию HTTP-протокола: 1.0, 1.1, 2 (проверяет поддерживается ли HTTP/2);
  4. указать метод запроса, время ожидания и данные postdata для отправки на сервер;
  5. также пузомерка проверяет корректность ответа на запросы If-Modified-Since, If-None-Match, если в ответе сервера есть Last-Modified или ETag.
Читать дальше →

На чём стоит экономить в облаке

Время на прочтение8 мин
Охват и читатели8.7K


Облака удобны своей гибкостью. Нужен мощный вычислительный кластер на восемь часов: арендовал в три клика, выполнил задачу и потушил машины. К сожалению, многие просто неверно понимают идеологию облачных ресурсов и часто разочаровываются, когда видят счета в конце месяца.

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

Ключевой принцип экономии — выключать всё ненужное и минимизировать резерв, насколько это возможно. Отвыкайте мыслить в парадигме локального сервера в инфраструктуре компании. Если сможете автоматизировать расширение и выключение облачных ресурсов в зависимости от нагрузки — ещё лучше.

Рассмотрим ситуации, когда выгоднее фиксированные тарифы, а когда — pay-as-you-go-концепция (PAYG). Плюс рассмотрим, что можно выключить лишнего, и где чаще всего впустую расходуются ресурсы. Пройдёмся по основным видам ресурсов: CPU, RAM, виртуальным дискам, сети и бэкапам.
Читать дальше →

Неудачная статья про ускорение рефлексии

Время на прочтение7 мин
Охват и читатели8.6K
Сразу объясню название статьи. Изначально планировалось дать хороший, надежный совет по ускорению использования рефлекшена на простом, но реалистичном примере, однако в ходе бенчмаркинга выяснилось, что рефлексия работает не так медленно, как я думал, LINQ работает медленнее, чем снилось в кошмарах. А в итоге оказалось, что мной еще и была допущена ошибка в замерах… Подробности этой жизненной истории под катом и в комментариях. Так как пример достаточно бытовой и реализованный в принципе как обычно делается в энтерпрайзе, получилось достаточно интересная, как мне кажется, демонстрация жизни: влияния на скорость работы основного предмета статьи было не заметно из-за внешней логики: Moq, Autofac, EF Core и прочей «обвязки».
Читать дальше →

Борьба за миллисекунды. Как выбрать сервер с наименьшим пингом

Время на прочтение5 мин
Охват и читатели64K
Для многих задач задержки между клиентом и сервером критически важны, например в онлайн играх, видео/голосовых конференциях, IP телефонии, VPN и т.д. Если сервер будет слишком удален от клиента на уровне IP-сети, то задержки (в народе «пинг», «лаг») будут мешать работе.

Географическая близость сервера не всегда равна близости на уровне IP маршрутизации. Так, например, сервер в другой стране может быть «ближе» к вам, чем сервер в вашем городе. Все из-за особенностей маршрутизации и построения сетей.



Как выбрать сервер максимально близкий ко всем потенциальным клиентам? Что такое связность IP-сетей? Как направить клиента на ближайший сервер? Разберемся в статье.
Читать дальше →

Хеш+кэш: оптимизация «потоковой» обработки

Время на прочтение6 мин
Охват и читатели5.9K
Что делать, если в базу хочется записать массу «фактов» много большего объема, чем она способна выдержать? Сначала, конечно, приводим данные к более экономичной нормальной форме и получаем «словари», в которые будем писать однократно. Но как это делать наиболее эффективно?

Именно с таким вопросом мы столкнулись при разработке мониторинга и анализа логов серверов PostgreSQL, когда остальные способы оптимизации записи в БД оказались исчерпаны.

Сразу оговоримся, что наши коллекторы работают под управлением Node.js, поэтому с процессорными регистрами и кэшами мы никак не взаимодействуем. А вариант использования «стораджей» или внешних кэширующих сервисов/БД дает слишком большие задержки при входящих потоках в несколько сотен Mbps.

Поэтому мы стараемся кэшировать все в RAM, конкретно — в памяти JavaScript-процесса. Про то, как эффективнее это организовать, и пойдет речь дальше.
Читать дальше →