Как стать автором
Поиск
Написать публикацию
Обновить
97.12

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

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

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

ARM кластер от Gumstix

Время на прочтение1 мин
Количество просмотров2.8K
Пока все только говорят о использовании ARM на серверах, Gumstix сделал платформу для ARM серверов.

Что это, Берримор?

Как избегать типичных ошибок при встраивании ассемблерных вставок: подборка правил

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

Ассемблерные вставки, используемые компиляторами GCC и Clang, опосредуют взаимодействие высокоуровневых и низкоуровневых языков программирования. Это тонкая и коварная штука. Многие попадают в расставленные здесь капканы, зачастую совершенно неожиданно для себя. В сущности, ключевое слово asm можно перевести на C и C++ как unsafe. Почти в любых руководствах по встроенному ассемблеру, в том числе, и на ужасной странице ibilio, которая десятилетиями попадает в самый верх поисковой выдачи, неисправимо фигурируют фундаментальные серьёзные ошибки, а примеры в большинстве своём некорректны. Наиболее опасно, что эти примеры обычно приводят к ожидаемым результатам! Ситуация плачевная. Эта статья — не руководство, а подборка элементарных правил, которые помогут вам избежать самых распространённых ошибок либо отловить их при ревью кода.

Здесь мы сосредоточимся сугубо на расширенном, а не на базовом ассемблере, а правила в этих версиях отличаются. На первом пишут любые инструкции, относящиеся к встроенному ассемблеру, с ограничениями или затираемыми. То есть, имеем токен : в обрамлении asm. Базовый ассемблер — тупой инструмент, который используется сравнительно нечасто, в основном в самом верху файла с кодом или в “голых” функциях. Поэтому злоупотребления базовым ассемблером на практике маловероятны.

Читать далее

6 ключевых вопросов при переводе бизнеса в облако

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


Из-за вынужденных каникул даже крупным компаниям с развитой IT-инфраструктурой сложно организовать удаленную работу персонала, а у малого бизнеса попросту не хватает ресурсов для развертывания необходимых сервисов. Другая проблема связана с информационной безопасностью: открывать доступ во внутреннюю сеть с домашних компьютеров сотрудников рискованно без применения специализированных продуктов корпоративного класса. Аренда виртуальных серверов не требует капитальных затрат и позволяет вынести временные решения за пределы защищенного периметра. В небольшой статье мы рассмотрим несколько типовых сценариев использования VDS в условиях самоизоляции. Сразу стоит отметить, что статья ознакомительная и ориентирована больше на тех, кто только вникает в тему.
Читать дальше →

Как пережить масштабирование и синхронизировать-таки всё между дата-центрами

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

Если нет, то он гонит трафик на Amazon, где продает бутылочки воды за $26, а мы расскажем о сайтах в нашем SaaS-конструкторе

Ни одна площадка не может гарантировать бесперебойную работу в течение, например, года — это данность по целому ряду причин. Значит, надо иметь “план Б” — обеспечить отказоустойчивость на уровне дата-центра и создать резервную площадку, которая чуть что подхватит трафик. Синхронизируют сервера все — и Яндекс, и Гугл, и герои под катом.

Гиперконвергентные платформы: от экзотики к мейнстриму

Время на прочтение7 мин
Количество просмотров25K
Всем привет! Так случилось, что моя статья – первая в блоге группы компаний ЛАНИТ на Хабре. Очень рад этой возможности, осознаю ответственность и надеюсь, что материалы нашего блога будут для вас интересны.

Итак, к делу. Гиперконвергентные системы становятся сегодня одним из основных решений в области построения ИТ-инфраструктуры корпоративного уровня. В этой статье я кратко расскажу о том, что из себя представляют такие системы и в каких случаях при развертывании ИТ-инфраструктуры они могут быть полезны. Также я поделюсь результатами сравнения технических возможностей ряда гиперконвергентных платформ, которые мы изучили при планировании развития ИТ-инфраструктуры облака OnCloud.ru компании «Онланта».


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

Профайлер памяти. Зачем он нужен и как использовать

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.2K


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

Профайлер можно использовать не только в разработке, но и в системном администрировании, чтобы отслеживать рабочие процессы конкретных приложений, скриптов и задач.
Читать дальше →

Consistent против Rendezvous — чем отличаются подходы для хэширования данных на сервере

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

Всем привет, меня зовут Михаил Алексеев, я работаю программистом в студии ITT, пишу бэкенд на Java. Перформанс — это моя страсть, как и распределенные системы. Но еще больше я люблю, когда математика встраивается в перформансные цели и задумки.

В этом тексте я расскажу про разницу между Consistent и Rendezvous хэшированием, а также на примерах покажу, с какими проблемами мы сталкиваемся в работе.

Читать далее

Профилирование Node.js. Доклад Яндекса

Время на прочтение18 мин
Количество просмотров9.2K
Полтора года назад я выступил на FrontendConf и посвятил 40 минут профилированию. Перечисленные приемы и инструменты по-прежнему актуальны — сегодня публикую видео с подробным конспектом. Доклад расскажет, что такое профилирование, научит локализовывать потенциальные утечки памяти, а также немного углубит ваше понимание инструмента DevTools.

— Всем привет. Меня зовут Артём Несмиянов, я fullstack-разработчик Яндекс.Практикума. И, как видите, сегодня я хочу рассказать о профилировании Node.js, хотя это не совсем фронтендерская тема. Но сейчас очень много приложений используют фронтбэк, где есть свой server-side rendering, где нужно это все отдавать клиенту, и фронтендеру часто приходится взаимодействовать с Node.js. Иногда происходят вещи, которые могут повлиять на ваш сервер, положить его, перегрузить и так далее. С этим надо бороться. Я хочу показать, какие методы использовали мы. Это скорее введение в профилирование Node.js.
Читать дальше →

Ненужные HTTP-заголовки

Время на прочтение7 мин
Количество просмотров44K
Заголовки HTTP важны для контроля, как кэш и браузеры обрабатывают ваш контент. Но многие из них используются неправильно или бессмысленно, затрачивая лишние ресурсы в критический момент загрузки страницы, и они могут работать не так, как вы думаете. В серии статей о лучших практиках сначала рассмотрим ненужные заголовки.

Большинство разработчиков знают о важных и нужных HTTP-заголовках. Самые известные — Content-Type и Content-Length, это почти универсальные хедеры. Но в последнее время для повышения безопасности начали использоваться заголовки вроде Content-Security-Policy и Strict-Transport-Security, а для повышения производительности — Link rel=preload. Несмотря на широкую поддержку в браузерах, лишь немногие их используют.

В то же время есть много чрезвычайно популярных заголовков, которые вообще не новые и не очень полезные. Мы можем это доказать с помощью HTTP Archive, проекта под управлением Google и спонсируемого Fastly, который каждый месяц при помощи WebPageTest скачивает 500 000 сайтов и выкладывает результаты в BigQuery.
Читать дальше →

Беглый обзор IBM Power Systems

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

Год назад, как участник академ. программы IBM, я прослушал курс IBM AIX 6 Jumpstart for UNIX Professionals в московском офисе IBM. Инструктор осветил большинство тем, чтобы опытный администратор Linux или UNIX сел за AIX и стал работать, а также рассказал основные положения линейки серверов IBM Power Systems. Как оказалось, это довольно интересные системы Enterprise уровня, которые предоставляют цельные бизнес системы, включающие в себя встроенные средства виртуализации, мониторинга, диагностики и т.д., которые поддерживаются и со стороны операционной системы.
Я не претендую на исчерпывающее описание архитектуры, статья — скорее экскурс в технологию, для общего развития.
Читать дальше →

64 vs 32 — в чем выигрыш?

Время на прочтение1 мин
Количество просмотров49K
При переезде с 32-битного (на Core2Quad) Ubuntu на 64-битный (на Athlon 64 X2) Debian оказалось, что все процессы, будь-то PHP или старый добрый Apache2, стали потреблять вдвое больше памяти. Знающие люди подсказали то, о чем сразу не подумал сам — рост потребления памяти обусловлен вдвое большей длиной указателей.

Совершенно справедливо напрашивается вопрос — в чем тогда выигрыш для простого сервера? Было 2Гб памяти на 32-битах, стало 4Гб на 64-битах, при этом сhild-процессов Apache2 в памяти может жить примерно одинаковое количество, потому как на старом сервере один процесс занимал 20Мб, а на новом — все 50Мб.

Оптимизация индексов базы данных: проблемы, решения, практические рекомендации

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров7.9K

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

Индекс — это как указатель в толстенном справочнике. Без него, чтобы найти нужный термин, вы обречены листать страницу за страницей. С ним — вы мгновенно открываете нужный раздел. Но что, если указатель сам размером с полкниги? Или ведет не туда? Такой помощник только вредит. С индексами в БД всё то же самое. Грамотная стратегия индексирования — это полет. Ошибочная — это бег в мешках по болоту.

Читать далее

Вектор? Растр? А может — и то, и другое?

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


Изображение для верхней части сайта

Речь идёт о подготовке изображения, рассчитанного на использовании в верхней правой части сайта jamstackconf.com. Мы, в маркетинговой команде Netlify, используем Figma. Первая моя попытка экспорта этого изображения для использования его на сайте оказалась далеко не самой удачной.
Читать дальше →

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

Как устроен поиск Яндекс.Маркета и что будет, если упадёт один из серверов

Время на прочтение11 мин
Количество просмотров18K
Привет, меня зовут Евгений. Я работаю в инфраструктуре поиска Яндекс.Маркета. Хочу рассказать сообществу Хабра о внутренней кухне Маркета – а рассказать есть что. Прежде всего, как устроен поиск Маркета, процессы и архитектура. Как мы справляемся с внештатными ситуациями: что случится, если упадёт один сервер? А если таких серверов будет 100?

А ещё вы узнаете, как мы внедряем новую функциональность на куче серверов сразу. И как тестируем сложные сервисы прямо в production, не доставляя пользователям никаких неудобств. В общем, как устроен поиск Маркета, чтобы всем было хорошо.


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

Как мы делали тариф для Windows VPS за 99 рублей

Время на прочтение3 мин
Количество просмотров16K
Если вы являетесь клиентом VDS-хостинга, задумывались ли вы о том, что идет в комплекте со стандартным образом операционной системы?

Мы решили поделиться, как мы готовим стандартные клиентские виртуальные машины и покажем на примере нашего нового тарифа Ultralight за 99 рублей, как мы создавали стандартный образ Windows Server 2019 Core, а также расскажем, что в нем изменилось.


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

Механизмы выделения памяти в Go

Время на прочтение11 мин
Количество просмотров44K
Когда я впервые попытался понять то, как работают средства выделения памяти в Go, то, с чем я хотел разобраться, показалось мне таинственным чёрным ящиком. Как и в случае с любыми другими технологиями, самое важное здесь скрывается за множеством слоёв абстракций, сквозь которые нужно пробраться для того, чтобы что-то понять.



Автор материала, перевод которого мы публикуем, решил добраться до сути средств выделения памяти в Go и рассказать об этом.
Читать дальше →

Электропитание ИТ-оборудования: безопасность или бесперебойность?

Время на прочтение11 мин
Количество просмотров23K
Добрый день, друзья! Сегодня у нас будет статья, цель которой — поделиться опытом и показать ключевые особенности и частые ошибки возникающие при проектировании и организации подсистем электроснабжения ИТ-инфраструктуры и ЦОД в целом. Но хотелось бы немного расширить аудиторию и посвятить несколько разделов базовым элементам обеспечения электробезопасности и защиты оборудования и людей. Для тех кто понимает, что такое автомат и УЗО, для чего они необходимы, что и от чего защищают – переходите к разделу Нужны ли УЗО для IT-оборудования, серверной, ЦОДа? кроме того, мы разберемся в вопросе- в каких случаях перебоев в сети питания операционная система гарантированно должна работать без сбоев. Итак…

Часть первая


Осень, дождь хлещет почти непрерывно. Идет бурное строительство одного подмосковного коттеджного поселка. Комендант поселка обходя подконтрольную ему территорию видит вопиющий факт «надругательства» над временной воздушной линией 380В.


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

Организация коммутационного поля СКС высокой плотности

Время на прочтение4 мин
Количество просмотров28K
Объм и плотность коммутационного поля СКС прямо пропорциональны хаосу на нем и обратно пропорциональны возможности его устранения. Проблематика проектирования и построения новой СКС сводится к расстановке рабочих мест, кабельных трасс и коммутационных узлов. Никто не задумывается о технических решениях, призванных обеспечить эффективное эксплуатирование системы после ее сдачи.


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

Что такое LUN-СХД, или как мы виртуализировали хранилище

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

Источник: Huawei.

Вся жизнь — это выбор. Между Apple и Android, MySQL и PostgreSQL, здоровым питанием и тортом после 18:00. Но как быть, если его хочется, а отрабатывать калории в зале — не очень? Обычно весь торт есть не заставляют, поэтому его можно нарезать небольшими частями и использовать по необходимости.

С данными в СХД такая же ситуация: можно использовать все пространство, а можно ограничиться LUN и оптимизировать бюджет. О том, что такое LUN, когда и где лучше использовать технологию — читайте в материале.
Читать дальше →

Инструменты мониторинга производительности приложений: зачем они нужны и как используются

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

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

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

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

Новые клиенты появляются у нас каждый месяц; приложения становятся всё более и более сложными, усиливается бюрократия, а срочные ситуации, ранее возникавшие раз в месяц, теперь заставляют нас задерживаться на работе ежедневно.

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

За более чем десять лет работы разработчиком ПО я много времени тратил на поиск лучших инструментов для повышения моей продуктивности.
Читать дальше →

Вклад авторов