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

Windows, PowerShell и длинные пути - 1

Думаю, вам, как и мне, не раз приходилось видеть пути вида !!! Важное____Новое____!!! Не удалять!!!Приказ №98819-649-Б от 30 февраля 1985г. о назначении Козлова Ивана Александровича временно исполняющим обязанности руководителя направления по сопровождению корпоративных VIP-клиентов и организации деловых встреч в кулуарах.doc. И зачастую открыть такой документ в Windows сходу не получится. Кто-то практикует workaround в виде мапирования дисков, кто-то использует файловые менеджеры, умеющие работать с длинными путями: Far Manager, Total Commander и им подобные. А еще многие с грустью наблюдали, как созданный ими PS-скрипт, в который было вложено немало труда и который в тестовом окружении работал на ура, в боевой среде беспомощно жаловался на непосильную задачу: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
Как оказалось, 260 символов хватит «не только лишь всем». Если вам интересно выйти за границы дозволенного — прошу под кат.
Читать полностью »

6 небольших советов, чтобы подготовить NodeJS к высоким нагрузкам - 1

Сервис с распознаванием лиц «Look-A-Like» обслуживал тысячи пользователей одновременно

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

В рамках работы в MyHeritage мы разработали сервис doppelgänger для Евровидения 2019 года, с помощью которого, загрузив селфи, можно узнать на кого из участников конкурса вы похожи больше всего.

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

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

HighLoad++ существует давно, и про работу с PostgreSQL мы говорим регулярно. Но у разработчиков все равно из месяца в месяц, из года в год возникают одни и те же проблемы. Когда в маленьких компаниях без DBA в штате случаются ошибки в работе с базами данных, в этом нет ничего удивительного. В крупных компаниях тоже нужны БД, и даже при отлаженных процессах все равно случаются ошибки, и базы падают. Неважно, какого размера компания — ошибки все равно бывают, БД периодически обваливаются, рушатся.

Топ ошибок со стороны разработки при работе с PostgreSQL - 1

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

О спикере: Алексей Лесовский (lesovsky) начинал системным администратором Linux. От задач виртуализации и систем мониторинга постепенно пришел к PostgreSQL. Сейчас PostgreSQL DBA в Data Egret — консалтинговой компании, которая работает с большим количеством разных проектов и видит много примеров повторяющихся проблем. Это ссылка на презентацию доклада на HighLoad++ 2018.
Читать полностью »

Привет, я занимаюсь созданием приложений для СУБД Tarantool — это разработанная в Mail.ru Group платформа, совмещающая в себе высокопроизводительную СУБД и сервер приложений на языке Lua. Высокая скорость работы решений, основанных на Tarantool, достигается в частности за счет поддержки in-memory режима СУБД и возможности выполнения бизнес-логики приложения в едином адресном пространстве с данными. При этом обеспечивается персистентность данных с использованием ACID-транзакций (на диске ведется WAL-журнал). В Tarantool имеется встроенная поддержка репликации и шардирования. Начиная с версии 2.1, поддерживаются запросы на языке SQL. Tarantool имеет открытый исходный код и распространяется под лицензией Simplified BSD. Также имеется коммерческая Enterprise-версия.

Высокоуровневая репликация в СУБД Tarantool - 1
Feel the power! (...aka enjoy the performance)

Все перечисленное делает Tarantool привлекательной платформой для создания высоконагруженных приложений, работающих с БД. В таких приложениях часто возникает необходимость репликации данных.
Читать полностью »

Эта статья расскажет о масштабном проекте внедрения SAP в нашей компании. После слияния компаний «‎М.Видео»‎ и «‎Эльдорадо»‎ перед техническими отделами была поставлена нетривиальная задача — перевести бизнес-процессы в единый бэкенд, основанный на SAP.

Перед стартом у нас была дублированная IT-инфраструктура двух сетей магазинов, состоящая из 955 розничных точек, 30 000 сотрудников и трёхсот тысяч чеков в день.

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

В этой публикации (первой из двух, чем черт не шутит, может и трех) мы презентуем вам некоторые данные по проведённым работам, подробнее о которых можно узнать на SAP ME meetup в Москве.

Как объединить бэки двух ритейлеров на SAP за 12 часов - 1

Полгода проектировки, полгода написания кода, полгода оптимизации и тестирования. И 12 часов, чтобы запустить общую систему в 1 000 магазинов по всей России (от Владивостока до Калининграда).

Может звучать нереально, но мы это сделали! Подробности под катом.
Читать полностью »

Upgrade дисковой подсистемы старого сервера с шиной PCIe 1.0 — 2.0 - 1

Почему темой данной статьи выбран апгрейд дисковой подсистемы

Понятно, что в первую очередь нужно, как правило:

  1. Увеличить оперативную память. Это настолько очевидный ход, что я даже не счёл нужным писать об этом в основной статье
  2. Поставить дополнительный процессор(ы) или заменить оба процессора на максимально производительные версии поддерживаемые сокетами сервера.

Для старых серверов, что память, процессоры, как правило, можно найти по бросовым ценам.

В определённый момент перед любым владельцем собственного сервера становится вопрос — upgrade или новый сервер.

Поскольку цена нового сервера сейчас может измеряться миллионами рублей, то многие идут по пути апгрейда.

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

В статье приведён список серверных SSD PCI-E 2.0 x8, которые сильно подешевели сейчас, указаны рейд-контроллеры с поддержкой SSD-кеширования и испытан SATA III SSD на интерфейсе SATA II.
Читать полностью »

В интернете куча статей о сервис-мешах (service mesh), и вот ещё одна. Ура! Но зачем? Затем, что я хочу изложить своё мнение, что лучше бы сервис-меши появились 10 лет назад, до появления контейнерных платформ, таких как Docker и Kubernetes. Я не утверждаю, что моя точка зрения лучше или хуже других, но поскольку сервис-меши — довольно сложные животные, множественность точек зрения поможет лучше их понять.

Я расскажу о платформе dotCloud, которая была построена на более чем сотне микросервисах и поддерживала тысячи приложений в контейнерах. Я объясню проблемы, с которыми мы столкнулись при её разработке и запуске, и как сервис-меши могли бы помочь (или не могли).
Читать полностью »

Контейнеры представляют собой облегченную версию пользовательского пространства операционной системы Linux – фактически, это «голый» минимум. Тем не менее, это все равно полноценная операционная система, и поэтому качество этого самого контейнера так же важно, как полновесной операционной системы. Именно поэтому долгое время мы предлагали образы Red Hat Enterprise Linux (RHEL), чтобы пользователи могли иметь сертифицированные, современные и актуальные контейнеры корпоративного уровня. Запуск образов контейнеров (container images) RHEL на хостах контейнеров (container hosts) RHEL обеспечивает совместимость и переносимость между средами, не говоря уже о том, что это – уже знакомые инструменты. Была, правда, одна проблема. Вы не могли просто передать такой образ кому-то еще, даже если речь шла о заказчике или партнере, использующем Red Hat Enterprise Linux.

Build, Share, Collaborate - 1

Но теперь все изменилось
Читать полностью »

Сегодня мы хотим рассказать о некоторых последних апдейтах системы Sherlock [это высокопроизводительный кластер Стэнфордского университета — прим. пер.], которые значительно ускоряют листинг файлов в каталогах с большим количеством записей.

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

Листинг многих файлов занимает время

Всё началось с вопроса в техподдержку от пользователя. Он сообщил о проблеме, что выполнение ls занимает несколько минут в каталоге c более 15 000 записей в $SCRATCH [каталог для временных файлов — прим. пер.].
Читать полностью »

Есть много способов повышения веб-производительности. Один из них — предзагрузка контента, который понадобится позже. Префетчинг CSS, предварительный рендеринг полной страницы или резолвинг доменного имени. Делаем всё заранее, а потом мгновенно отображаем результат! Звучит круто.

Ещё круче, что это очень просто реализовано. Пять тегов <link rel> дают браузеру команду на предварительные действия:

<link rel="prefetch" href="/style.css" as="style" />
<link rel="preload" href="/style.css" as="style" />

<link rel="preconnect" href="https://example.com" />
<link rel="dns-prefetch" href="https://example.com" />

<link rel="prerender" href="https://example.com/about.html" />

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


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