Рубрика «конфигурация»

Все врут: эпопея с NVMe-серверами и Hi-CPU - 1

Diskspd лучше использовать вместо CrystalDiskMark, потому что код первой на стыке с GUI второй даёт забавный баг

У нас, в RUVDS, не хватало в линейке NVMe-сервера, чтобы побыстрее и помощнее… Потому что в последний год пошла мода разворачивать на таких Битрикс и 1С. Спрос на услугу есть, у других хостингов она тоже есть и заказывается — в общем, всё шло к тому, что надо просто выбрать конфигурацию и конкретные варианты железа и закупиться во все 11 локаций по миру. А тут надо сказать, что мы поддерживаем сейчас только две конфигурации: побыстрее и помедленнее. Потому что ЗИП, потому что поддержка, потому что софт и так далее — это одна из частей политики адекватных цен. То есть добавится третья, и поменять там что-то можно будет года так через четыре.

У нас везде стоят SSD RAID (даже там, где показывается HDD по тарифу), но мы хотели сильнее, выше и быстрее.

Первое, что мы узнали, — что NVMe не объединяется в RAID нормальными способами, то есть в итоге надёжных дисков ждать не стоит. Второе — в этот же сервер мы хотели запихнуть Hi-CPU и с удивлением установили, что частота 4,5 ГГц — это не серверное, а домашнее десктопное железо и серверных решений такой частоты просто физически не бывает в природе пока.

Плюс по дороге наш админ нашёл фатальный баг в утилите тестирования. В общем, давайте расскажу с тестами, на что именно похоже NVMe-решение в VDS-хостинге.

Сразу скажу, что, возможно, мы что-то не так делали, и если кто-то понимает что — буду очень благодарен. Читать полностью »

Частые ошибки в настройках Nginx, из-за которых веб-сервер становится уязвимым - 1

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

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

Я большой фанат TypeScript. Каждый свой новый проект я предпочитаю писать на нём, а не на чистом JavaScript. В данной статье я не буду рассматривать причины выбора TypeScript или о его преимуществах и недостатках. Я хочу, чтобы данный пост стал своего рода шпаргалкой для тех, кто хочет понять, как настраивать tsconfig, разложить по полочкам его многочисленные флаги и, возможно, узнать некоторые полезные трюки.

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

Остановимся на анализе мультикаст трафика через IGMP протокол. Рассмотрим реализацию работы протокола IGMP, работы протокола PIM, отправки JOIN запросов. После анализа проблемы была разработана оптимальная конфигурация сетевого оборудования, эффективная настройка QOS. Данная задача появилась после обнаружения проблемы в сети, такой как: прерывание сигнала у клиентов, наличие фризов и прерывание звука.

IGMP — Internet Group Management Protocol — это сетевой протокол взаимодействия абонентов мультикаст трафика и ближайшего к ним сетевого оборудования.

Приручаем multicast - 1 Читать полностью »

Предыстория

Когда на руках появляется более одного рабочего устройства, то к тебе, %username%, приходит желание иметь одинаковую конфигурацию и тут, и там, и на работе, и дома. Когда я только-только начинал попытки синхронизировать файлы, мне было достаточно Dropbox и Yandex.disk. Особенно хорошо они помогали синхронизировать документы и историю джаббера, но как только я попытался приспособить их к .bashrc, .vimrc и им подобным, тут же повылезали различные сайд-эффекты. Например, с symlink'ами в обоих системах полнейшая беда, ± какая-то история есть только в дропбоксе, ну и писать скрипты управления зоопарком пришлось бы самому. Наверняка ведь что-то уже написано, Читать полностью »

Предыстория

Всем привет! Я хотел бы рассказать историю о страшных конфигах и как их удалось причесать и сделать вменяемыми. Я работаю над довольно большим и относительно старым проектом, который постоянно допиливается и разрастается. Конфигурация задается с помощью маппинга xml-файлов на java-бины. Не самое лучшее решение, но оно имеет свои плюсы — например, при создании сервиса можно передать ему бин с конфигурацией, отвечающий за его раздел. Однако, есть и минусы. Самый существенный из них — нет нормального наследования профилей конфигурации. В какой-то момент я осознал, что для того, чтобы поменять одну настройку, я должен отредактировать около 30 xml-файлов, по одному для каждого из профилей. Так больше продолжаться не могло, и было принято волевое решение все переписать.

Требования

  • Наследование и переопределение (или fallback). Должна быть возможность задать некий базовый профиль, унаследовать от него дочерние и переопределить или добавить в них те места, которые необходимо
  • Маппинг в java-бины. Переписывать по всему проекту использование конфигурации с бинов на проперти вида mongodb.directory.host не хотелось, использовать map-ы из map-ов тоже.
  • Возможность писать в конфиге комментарии. Не критично, но удобно и приятно.

Хотелось бы, чтобы конфиг выглядел примерно так:

Типичный DSL-скрипт на groovy

name = "MyTest"
description = "Apache Tomcat"

http {
    port = 80
    secure = false
}
https {
    port = 443
    secure = true
}

mappings = [
        {
            url = "/"
            active = true
        },
        {
            url = "/login"
            active = false
        }
]

Как я этого добился — под катом.Читать полностью »

Как построить СХД с ракетной тягой на стандартном железе? Архитектура аппаратной платформы SDS RAIDIX - 1

RAIDIX — программная СХД или SDS (Software Defined Storage), которая позволяет строить на базе стандартного серверного оборудования надежные, производительные и отказоустойчивые хранилища данных.

В данной статье мы хотим рассказать о том какие требования к железу предъявляет RAIDIX, описать варианты развертывания нашего SDS, привести примеры аппаратных конфигураций СХД на базе RAIDIX и возможные сферы их применения.
Читать полностью »

image

Игровой сервис Steam периодически проводит опрос по конфигурации ПК и системы своих пользователей для сбора статистики. По последним данным за апрель 2016, доминирующей среди геймеров системой оказалась Windows 10 64 bit с показателем в 38,18%, с небольшим отставанием за ней следует Windows 7 64 bit с 32,53%, а третье место досталось Windows 8.1 64 bit со скромными, на фоне «семерки» и «десятки» 11,89%.

В целом, данная картина соответствует другому недавнему исследованию, статистика для которого собиралась с веб-сайтов. Согласно ему, доля ОС семейства Windows составляет почти 90%, но самой популярной системой при этом остается Windows 7, которая была зафиксирована на 48,79% компьютеров.
Читать полностью »

image
Пока только в мечтах

Один из основателей проекта Oculus, Палмер Лаки, заявил, что проект будет поддерживать Mac, только «если Apple создаст нормальный компьютер». Это высказывание можно сравнить со звонкой пощечиной всем, кто ратовал за поддержку работы нового VR-шлема на яблочной продукции.

Стоит отметить, что слова Палмера не лишены смысла: все VR-технологии весьма прожорливы как в плане оперативной и видеопамяти (в особенности видео), так и в плане нагрузки на центральный процессор. Сейчас, для стабильной работы VR-шлема Oculus или шлема Vive от тандема Valve и HTC, необходима конфигурация, которую смело можно назвать «топовой». Продукция же Apple вычислительными мощностями геймерских машин никогда не блистала, а выходила вперед исключительно за счет оптимизации ПО, маркетинга и пиара.
Читать полностью »

Конфигурация приложений с помощью github - 1

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

Я видел много проектов, где конфигурация подкладывается в файловую систему в виде properties/json/xml файлов с непостижимыми уму переоределениями в момент загрузки. И что же на самом деле использует приложение становится ясно только после просмотра лог файлов компонента либо во время отладки.
Читать полностью »


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