Америку не откроем, если скажем, что виртуальные машины на новых процессорах всегда производительнее оборудования на процессорах старого поколения. Интереснее другое: при анализе возможностей систем, казалось бы, очень близких по своим техническим характеристикам, результат может быть совершенно различным. Мы в этом убедились, когда протестировали процессоры 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С начинает работать нормально. Можно идти в облако, не беспокоясь, что там не те процессоры. Для многих наших клиентов сейчас это очень важно.
kuza2000
Для полноты картины стоит добавить, что тест Гилева иногда показывает очень загадочные результаты. По нему i3 может обогнать Xeon :)
kroggy
Если у i3 частота на ядро выше, то ничего удивительного. Отсутствие нормального распаралелливания запросов в 1С дает такую картину.
kuza2000
Ну так частоту процессора можно протестировать несколько проще, чем ставить 1С.
У меня на ноутбуке линукс, винда в виртуалке, сервер 1С на виндовс, сервер 1С на линукс, они собраны в кластер.
СУБД стоит SQL на винде, postgres на линуксе, кластер работатет с обоими. Правда, сервер 1С на линуксе не умеет работать с SQL. Поэтому сеансы для баз SQL у меня запускаются только на виндовом сервере.
Сейчас запущу тест Гилева, сравним с этими серверами на Xeon :)
Процессор у меня мобильный, i7 8550U 1.8 ГГц, с энергопотреблением 15 Ватт.
kuza2000
Результаты.
Сервер 1С на WINDOWS, бд MS SQL. Все на одной виртуалке KVM. Память 10 Гб. Хост — ноутбук под Linux, память 20 Гб, диск SSD. Процессор, уже писал выше i7 8550U 1.8 ГГц.
Сервер 1С на Linux, база Postgres. Параметры железа написал выше. Клиент — на винде, на виртуалке.
Xeon, конечно, не обогнал, но разница с первым ксеоном всего 30%. И это мобильный процессор с потреблением 15 Ватт!
Тест Гилева хорош, если что-то нужно сравнить быстро и грубо. А для таких статей, а тем более серьезных вещей, ИМХО, нужно делать полноценный нагрузочный тест. Соответствующие инструменты от 1С есть.