Быстрый хостинг на NVMe дисках от 90 рублей в месяц!

Быстрый хостинг на NVMe дисках от 90 рублей в месяц! Хостинг

Что это такое

NVMe (Non-Volatile Memory Express / «энергонезависимая память на шине PCI Express») — это улучшенный интерфейсный протокол для твердотельных накопителей (SSD). Основное отличие NVMe от прежнего стандарта SATA SSD — интерфейс PCI Express. Его использование позволило реализовать технические возможности твердотельных накопителей на все 100%.

Что в итоге

NVMe – новый стандарт качества для SSD накопителей. Хостинг на базе NVMe-дисков даёт ощутимое преимущество в скорости обработки данных, позволяющее значительно ускорить работу баз данных и размещаемых на нём ресурсов.

Теперь пользоваться преимуществами новых технологий стало возможно на всех тарифах VPS и веб-хостинга. Приятная новость ещё в том, что цены на тарифы остались прежними!

▍ почему мы не использовали crystaldiskmark

Утилита

CrystalDiskMark

— это просто графическая оболочка для

diskspd

. Об этом несложно догадаться, если установить утилиту и зайти в директорию

CdmResourceDiskSpd.

Но в реализации этой оболочки есть ряд проблем.

Во-первых, она каким-то образом модифицирует код diskspd. Это несложно понять, если заглянуть в код CrystalDiskMark:

command.Format(L""%s" %s -d%d -A%d -L "%s"", ..., GetCurrentProcessId(), ...);

При вызове

diskspd

ему передаётся параметр -A с указанием Id текущего процесса. Такого параметра у diskspd нет. Автор

CrystalDiskMark

решил не парсить консольный вывод

diskspd

и решил получить данные более хитрым способом. Причём способ выбран не самый удачный.

Вот в этой функции происходит непосредственный вызов diskspd:

int ExecAndWait(TCHAR *pszCmd, BOOL bNoWindow, double *latency)
{
	DWORD Code = 0;
	…
	GetExitCodeProcess(pi.hProcess, &Code);
	*latency = (double)*pMemory * 1000; // milli sec to micro sec
	return Code;
}

К передаче

latency

через

SharedMemory

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

Code

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

Ещё есть сомнения в правильности возвращаемого значения latency. При указании ключа -L diskspd возвращает примерно такую табличку:

Например,

шестая строка

означает, что в

95 %

случаев задержка будет меньше

54.306msCrystalDiskMark

же просто возвращает среднее по всем значениям таблицы. Это может вводить в заблуждение.

▍ ожидания от nvme

Когда мы переходили с HDD на SSD, разница была как небо и земля. Запускаешь любой тест — и получаешь кратный прирост производительности. На NVMe такого не было. Более того, в столкновении лоб в лоб с нашими уже имеющимися конфигурациями NVMe диски не всегда обходили их. Быстрее они были или медленнее, зависело от условий теста.

Для начала мы купили пару вариантов серверов. Мы обычно покупаем платформу, тестируем, понимаем, что не так, тестируем ещё, потом только раскатываем на 11 локаций, потому что столько ЗИПа сразу и новые процессы поддержки — это дорого. Тут мы купили платформу и сразу наткнулись на невероятно отстойный результат.

В одном и том же гипервизоре на разных гостевых ОС было не отличить, SSD внутри сервера или NVMe. Даже с тестом.

При использовании NVMe в RAID скорость будет ниже, чем у SSD. Грубо говоря, когда мы используем RAID, мы его включаем в одну PCIe-шину и мы ограничены этой PCI Еxpress, и только несколько дисков можем распараллелить по разным шинам. Нужны контроллеры.

Почему так, никто не смог дать нормального ответа. Спрашивали у старого проверенного вендора, у новых вендоров, у вообще левых вендоров. Все разводили плечами и говорили: «Ну вы вообще лохи, кто же втыкает NVMe в RAID — не будет производительности!».

Формулировки отличались от приведённой, но смысл оставался неизменным. Так мы поняли, что, наверное, надо использовать NVMe без рейда. Есть одна компания (дружественный конкурент) — так вот, только они пояснили, что у них так же было несколько лет назад. Они выкинули несколько платформ, и в итоге решено было не использовать RAID.

То есть первая проблема — при вылете диска не будет авторебилда на новый, который принесёт админ. Без RAID клиенты будут терять статус виртуалок и данные. Уже не то, но мы пробуем идти дальше.

Дальше есть выбор между U2 и M2. Мы купили дорогие диски U2. Они втыкаются через интерфейс Окулинка в шину. M2 чаще используют в десктопах, они втыкаются в материнку. Тоже протестировали, разницы между ними особо нет. Но если диск втыкается без промежуточного интерфейса прямо в плату, то его сложнее обслуживать, — при выходе из строя надо будет снимать крышку сервера и ковыряться.

▍ параметры тестирования

Для того чтобы увидеть преимущества NVME, необходимо задавать

number of outstanding IO

достаточно большим. Мы выбрали число

32.

❒ Платформа:

Supermicro SuperServer SYS-6029P-WTRT 2U

❒ Диски:

Intel SSD DC P4610 Series 1.6TB, 2.5in PCIe 3.1 x4, 3D2, TLC

❒ Команды для запуска diskspd для файла 10G:

DiskSpd64.exe -b128K -t32 -o32 -w0 -d10 -si -S -c10G G:/testfile.dat
DiskSpd64.exe -b128K -t32 -o32 -w100 -d10 -si -S -c10G G:/testfile.dat
DiskSpd64.exe -b4K -t32 -o32 -w30 -d10 -r -S -c10G G:/testfile.dat

Команды для запуска diskspd для файла 50G:

DiskSpd64.exe -b128K -t32 -o32 -w0 -d10 -si -S -c50G G:/testfile.dat
DiskSpd64.exe -b128K -t32 -o32 -w100 -d10 -si -S -c50G G:/testfile.dat
DiskSpd64.exe -b4K -t32 -o32 -w30 -d10 -r -S -c50G G:/testfile.dat

▍ понимание параметра number of outstanding io

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

Для чтения:

 if (useCompletionRoutines)
{
    rslt = ReadFileEx(...);
}
else
{
    rslt = ReadFile(...);
}
if (useCompletionRoutines)
{
    rslt = WriteFileEx(...);
}
else
{
    rslt = WriteFile(...);
}

Аргументы пропущены для наглядности. Нас больше интересует тот факт, что чтение и запись производятся стандартными функциям WinAPI:

ReadFile WriteFile

И соответствующими асинхронными функциями:

ReadFileEx WriteFileEx

Если подробнее разобрать код, то можно понять следующее:

При задании number of outstanding IO = 1 будут использованы синхронные варианты ReadFile и WriteFile. Псевдокод для операции записи выглядит примерно так:

void testThreadFunc() {
	while (!stopTesting) {
		WriteFile(...) // ждем окончания записи
      }
}

Если задать

number of outstanding IO > 1

, то будут использованы асинхронные варианты ReadFileEx и WriteFileEx и число

number of outstanding IO

задаёт глубину таких вызовов для

каждого

потока.

Псевдокод

для операции записи при

number of outstanding IO = 3

выглядит так:

void callback1() {
	while (!stopTesting) {
		WriteFileEx(..., callback1)
      }
}

void callback2() {
	while (!stopTesting) {
		WriteFileEx(..., callback2)
      }
}

void callback3() {
	while (!stopTesting) {
		WriteFileEx(..., callback3)
      }
}

void testThreadFunc() {
	WriteFileEx(..., callback1) // не ждем окончания записи
	WriteFileEx(..., callback2) // не ждем окончания записи
	WriteFileEx(..., callback3) // не ждем окончания записи

	// ждем когда все операции завершатся
}


Таким образом,

number of outstanding IO

— это количество асинхронных вызовов в каждом потоке.

▍ результаты

Table 1 Хостовая ОС Windows Server 2022

Table 1 Хостовая ОС Windows Server 2022


Под Hyper-V и гостевой Windows Server получаются результаты, которые сложно объяснить. На небольшом файле порядка

10G

мы получаем большой прирост

IOPS

по сравнению с SSD в рейде. Но если взять файл

45G

, мы наоборот получаем значительное падение

IOPS.

▍ теперь переходим к hi-cpu


Второй сюрприз открылся на процессорах с частотой 4,5 ГГц.

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

У нас недесктопные задачи. Машина делится между многими клиентами. И вот мы видим конфигурации на 4,5 ГГц, которых в природе нет.

Оказывается, реализаций две:

  • Либо Hi-CPU реализован за счёт разогнанных десктопных вариантов (был у Интела эксперимент с серверным разгоном, но возникали проблемы с охлаждением). Это можно очень увлекательно решить, если использовать водные контуры, и некоторые так действительно делают. У нас сантехнического опыта не было.
  • Либо же это десктопные процессоры, которые имеют turbo boost-частоту, но она максимальная. Именно эта частота используется в маркетинговых материалах! При этом из-под гостевой ОС видно производительность 3,6 вместо 4,5 в бусте. Потому что турбобуст, вообще-то, врубается специфически: процессор старается давать повышенную частоту при наличии питания и запаса по температуре. Это хорошо при пиках на десктопе (но не в играх), но очень плохо для сервера под нагрузкой с несколькими клиентами. То есть турбобуст не врубается на сервере почти никогда.

▍ теперь тесты — реальность nvme

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

Зависит это от того, что наиболее свежие гипервизоры поддерживают NVMe своими драйверами нативно, а другие работают как оверхед SSD. Это тоже не очень хороший результат, потому что мы привыкли использовать проверенные решения. Есть серверная винда 12-16-19.

Мы используем максимальную версию 16. Когда выйдет следующая — будем использовать 19. Потому что последние версии всегда беты. Вообще, в серверном администрировании последнюю версию софта используют только гики и самоубийцы. И да, если у вас сейчас дёрнулась рука, вы гик.

Или бета-тестер. Хотя, возможно, вы об этом ещё не знаете. Вендор софта регулярно выкатывает новую версию, даёт ребуты, обновления, патчи — нужно пройти поколение, чтобы это работало стабильно. Как всегда ждём второго сервис пака. Клиенту не объяснишь про новую уязвимость или новую пачку апдейтов от MS.

Второй важный момент касается странности на файле 45 Гб, сейчас увидите. Методика: при тестировании мы использовали утилиту diskspd. Вокруг неё навернули CrystalDiskMark, который мы хотели использовать первым, но нашли один очень забавный баг.

Для нас важно, что обе утилиты:

Nvme хостинг

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

Наш хостинг обладает достойной репутацией заработанной уже вторым десятком лет на телекоммуникационном рынке. Мы выработали максимально удобную работу для пользователей предлагая бесплатные панели управления ISPmanager и Cpanel для хостинга сайтов. Это наилучшие продукты с полноценной функциональностью для управления ресурсами сайтов.

cPanel

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

Виртуальный сервер — это другой вид хостинговой площадки. Для работы сайтов выделяется определенный объем ресурсов. Этот сервис выдерживает достаточно большие нагрузки. Поэтому удается достичь необходимой производительности, правильно выбрав необходимые ресурсы.

Применение технологии VDS/VPS позволяет разделить физический сервер на несколько автономных хост-машин. Возможности каждого VPS схожи с реальным сервером. Разница заключается лишь в количестве серверных ресурсов, на основе которых формируется стоимость хостинговых услуг.

Аренда выделенного сервера или реальной машины со всеми мощностями стоит довольно дорого. Услуги виртуального сервера соответственно в разы ниже. Поэтому он достаточно востребован у владельцев популярных сайтов.

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

Главные преимущества хостинга в отличии от серверов: низкая стоимость, бесплатная панель управления ISPmanager либо Cpanel Host for NET

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

Vps на nvme дисках | fornex

Наше оборудование находится в ведущих дата-центрах Германии, Нидерландов, Швейцарии, Украины, России и США. Можете выбрать любую локацию.

Продуманная сетевая инфраструктура на базе Juniper гарантирует доступность серверов из любой страны мира. А наши инженеры на местах выполнят диагностику и замену комплектующих 24/7.

Быстрый хостинг на nvme дисках от 90 рублей в месяц!

Какое оборудование используется на наших серверах

Знакомьтесь — твердотельный накопитель IntelOptane 905P с поддержкой технологии NVMe. Это флагманская модель семейства Optane SSD с энергонезависимой памятью на чипах 3D XPoint и семиканальным контроллером SLL3D.

Ключевое преимущество Optane 905P — оптимизированная версия прошивки с ускоренным алгоритмом обработки мелкоблочных операций. Это нововведение позволило повысить частоту контроллера и улучшить энергоэффективность, по сравнению с предыдущими моделями SSD-дисков. Как итог, значительно увеличилась общая производительность накопителя.

Хостинг на nvme-дисках от eternalhost

Серверы Eternalhost полностью перешли на высокоскоростные NVMe-диски. С новой технологией ресурсы наших клиентов на виртуальных серверах и веб-хостинге будут работать еще быстрее и надежнее.

Чем nvme лучше ssd

  • Быстрее. Интерфейс SATA, который использовался в SSD-дисках ранее, обладал пропускной способностью, которая могла обеспечить скорость чтения-записи лишь до 600 Мбайт/с. NVMe с интерфейсом PCI Express увеличил этот показатель от 2 до 6 раз.
  • Производительнее. Еще одно важное отличие NVMe от SATA SSD — новый протокол, по которому диск взаимодействует с внешними устройствами (компьютерами и др.). Благодаря усовершенствованному механизму чтения-записи с диска и возможности параллельно обрабатывать сразу несколько запросов, NVMe способен справляться с большим числом операций одновременно.
  • Надежнее. К моменту выхода на рынок технология SSD опиралась во многом на техническую базу предыдущего поколения накопителей (HDD) и была далека от совершенства. Новые NVMe-диски созданы специально под стандарты работы флэш-памяти с многоядерными процессорами и многопоточными приложениями. Именно поэтому задержки при работе с данными и механические сбои здесь значительно снижены.

▍ итого


В итоге, мы решили остаться на наших проверенных 3.6 GHz (turbo boost 4.4 GHz) и этим закрыть изыскания с процессором.

С NVMe — нахватавшись рандомных результатов от суперстандартной утилиты, как видите, сменили инструмент. Дальше вопрос гипервизора и ОС.

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

В общем, NVMe — безусловный стандарт, но пока это не значит, что на тарифе с ним точно будет быстрее. Мы разворачиваем сервера с ним аккуратно, но пока выигрыш примерно соответствует повышению в цене, никакой магии.

Оцените статью
Хостинги