Америку не откроем, если скажем, что виртуальные машины на новых процессорах всегда производительнее оборудования на процессорах старого поколения. Интереснее другое: при анализе возможностей систем, казалось бы, очень близких по своим техническим характеристикам, результат может быть совершенно различным. Мы в этом убедились, когда протестировали процессоры Intel в нашем облаке, чтобы проверить, какие из них дают наибольшую отдачу при работе систем на 1С.
Спойлер: как показал наш тест, всё зависит от поставленной задачи. Нам удалось из всей линейки новых процессоров Intel выбрать тот продукт, который дал кратный прирост производительности благодаря тому, что в Intel Xeon Gold 6244 меньшее количество ядер, на каждое ядро приходится большее количество L3 кэш-памяти и назначена большая тактовая частота — как базовая, так и в режиме Turbo Boost. Иными словами, именно эти процессоры лучше справляются с ресурсоёмкими задачами в пересчёте на единицу производительности/рубль. Для 1С это подходит как нельзя лучше: с новыми процессорами приложения на 1С в нашем облаке начали буквально «дышать».
А теперь расскажем, как мы проводили тестирование. Ниже — результаты синтетических тестов Гилёва. На них можно ориентироваться, но в любом случае нужно проверять реальную утилизацию самостоятельно на своих задачах.
Условия теста
Важное замечание: мы делали сравнение без каких-либо дополнительных оптимизаций, а не бенчмарк. При дополнительной настройке систем в облаке результаты будут гарантированно лучше.
Дано: две виртуальные машины с 8 vCPU и 64 GB RAM с дисками FLASH 10.000 IOPS.
Первая виртуалка — с Windows Server 2016 и установленным 1С 8.3.10.2580, для второй образ виртуальной машины с базой данных (Centos + Postgresql) взяли на Gilev.ru.
База данных Postgresql — неслучайно, поскольку её эксплуатация наиболее приближена к реальным условиям использования 1С нашими заказчиками. Да-да, мы делали синтетические тесты, похожие на типовые инсталляции, то есть это не универсальный ответ на все вопросы Вселенной, а именно ориентир для вашего собственного анализа.
Важно то, что в случае использования файловой архитектуры вместо базы данных результаты тестов обычно бывают выше. Но в реальности такой тип архитектуры используется только для совсем маленьких инсталляций. Вот здесь RuVDS тестировал на файловой архитектуре. И вот что по этому поводу в комментарии сказал сам Вячеслав Гилёв:
Если речь идёт об аренде 1С в файловом режиме, то да, но то, что мне на глаза попадается, работает исключительно в клиент-серверном варианте. Есть смысл: 1) или в статью это уточнение внести; 2) или протестировать клиент-серверный вариант, потому что разница в архитектуре значительна, и файловый вариант не обладает полным функционалом.Никаких дополнительных настроек операционной системы и продукта 1С не производили.
Процессоры
- В левом углу ринга — процессор Intel Xeon E5-2690 v2, 3,00 ГГц.
- В правом углу ринга — Intel Xeon Gold 6254, 3,10 ГГц.
- По центру ринга — Intel Xeon Gold 6244, 3,60 ГГц.
Да начнётся бой!
Результаты
Intel Xeon E5-2690 v2, 3,00 ГГц:
«Хорошо» для нас — минимальная отметка, которая гарантирует комфортный уровень работы заказчика с системами 1С.
Результат — 22,03.
Intel Xeon Gold 6254, 3,10 ГГц:
Результат — 27,62.
Процессор Intel Xeon Gold 6244, 3,60 ГГц:
Результат — 35,21.
Итого: даже если виртуальная машина на Intel Xeon Gold 6244 на 3,6 ГГц будет стоить на 60 % дороже по сравнению с E5-2690 v2 на 3 ГГц, то стоит выбирать именно её. При меньшей разнице в цене выгоды становится ещё больше. Но у нас разрыв в цене сильно меньше, поэтому такие ВМ заметно выгоднее.
Ядра процессоров Cascade Lake демонстрируют прирост производительности не только за счёт увеличенной частоты, но и более современной архитектуры. При этом разные модели процессоров из этой линейки дают разные результаты, что нужно обязательно учитывать при решении своей задачи.
В облаке мы планируем использовать эти процессоры в режиме Turbo Boost, при котором тактовая частота процессора достигает 4,40 ГГц, что увеличит его отрыв по производительности и сделает выбор в пользу этого продукта ещё более очевидным.
Что это значит для нас
Мы долгое время жили в старой парадигме, когда у одного процессора было не очень много ядер, и поэтому на один сервер помещалось не очень много виртуальных машин. Приходилось много приседать, чтобы добиться хоть какой-то оптимальности по плотной укладке ВМ в эти серверы. Теперь, когда на один сокет получаем по 28 или даже 56 ядер, проблема с плотностью укладки решается почти сама собой. И у нас появляются ресурсы, чтобы подумать о других плюшках для заказчиков нашего Облака КРОК. Например, мы запилили отдельный пул с процессорами 6244 под СУБД.
Дополнительный бонус — всё это оказалось очень подходящей архитектурой для 1С. Смысл в том, что если переходить от процессора частоты 3 ГГц к процессору 4 ГГц, то почти все тесты дают тебе не +30 %, а +15–20 %… А эта штука даёт тебе +45 %. То есть частота увеличивается на 30 %, а прирост растёт нелинейно к частоте. А процессоры дороже процентов на 40. В итоге новые процессоры дороже, но наконец 1С начинает работать нормально. Можно идти в облако, не беспокоясь, что там не те процессоры. Для многих наших клиентов сейчас это очень важно.