Содержание
Идея[править]
Решил сравнить Ryzen 7950x с двумя Xeon 2690 (v1). Посмотреть прогресс за 10 лет.
- Ryzen 7950: 16 ядер/32 потока 5 ГГц частота base и 5.7 ГГц в турбо, 64 МБ кеша.
- Xeon 2690: 8 ядер/16 потоков 2.9 ГГц base и 3.6 ГГц в турбо, 20 МБ кеша.
Ну а 2 Xeon 2690 составляют как раз те же 16 ядер/32 потока, что и в Ryzen 7950x, только частота пониже, зато каналов памяти больше.
В Geekbench6 измерена производительность и у Ryzen 7950 3052/19041 баллов, а у 2 Xeon 2690 607/5254 балла. Т.о. в Geekbench Ryzen 7950X быстрее в одноядерной производительности в 5 раз в одноядерной и в 3.6 в многоядерной.
Методика[править]
Нагрузка генерируется на два одинаковых контейнера просто Apache Benchmark на:
- главную страницу http://demo.elibsystem.ru для задействования PHP и PostgreSQL с динамической генерацией страницы (ab -c X -n 10000 http://demo.elibsystem.ru/);
- на файл на сервере sites/all/themes/elis/img/logo-36.png с размером 1.8 КБ, чтобы посмотреть на выдачу статики в обход PHP/PostgreSQL (ab -c X -n 10000 http://demo.elibsystem.ru/sites/all/themes/elis/img/logo-36.png).
TLS при этом не используется.
Меняется количество конкурентных запросов, остальное фиксировано.
Смотрим на медианное время ответа страниц (время ответов 50% страниц в мс) и на количество запросов в секунду (rps).
Первое показывает сколько пользователь будет ждать страницу, а второе (как ясно на графиках) показывает когда система насытится и больше с ростом нагрузки выдать rps не сможет.
Результаты для динамики[править]
По медианному времени генерации страницы, Ryzen 7950X быстрее двух Xeon 2690 от 2.8 до 5.2 раз.
По запросам в секунду Ryzen быстрее от 2.4 до 2.8 раз.
Т.о. грубо можно считать, что Ryzen быстрее раза в 3.
На графиках кажется виден излом в районе 16 и 32 конкурентных запросов (16 ядер без HT и 32 ядра с учетом HT ). Чтобы подробнее это изучить, проведены тесты для конкурентности с шагом в 8 (8 ядер в чиплете Ryzen и процессоре Xeon).
Видно, что по числу запросов в секунду излом идет между 16 и 32 одновременными запросами.
Чтобы подсчитать эффективность HT можно поделить rps между 32 и 16 конкурентными запросами, ну а так как rps выходит при более 32 запросов на постоянное значение, можно считать, что разница в rps между 16 и 32 и покажет эффективность HT.
В результате у Ryzen 7950X прирост от HT составляет 19%, а у Xeon 2690 целых 42%. В чем причина такого различия - сказать сложно, но оно имеет место быть (возможно больше каналов памяти у Xeon).
Стоит также помнить, что хороший выйгрышь от HT имеет PostgreSQL (около 70%) и с учетом того, что PostgreSQL часто половину времени и занимает, видимо именно он и дал основной прирост производительности, в то время как для выполнения PHP прирост от HT, видимо, небольшой.
Также по малому излому между 8 и 16 ядрами у процессоров Xeon можно утверждать, что использование двух процессоров по 8 ядер и имеющиеся при этом большие задержки на межпроцессном взаимодействии мало влияют на производительность по сравнению с двумя кластерами по 8 ядер у Ryzen.
Статика[править]
Результаты для статики[править]
Здесь видно, что 2 Xeon 2690 даже чуть быстрее Ryzen 7950X и оба процессора способны отдавать около 8-12 тыс. маленьких статических файлов в секунду.
Влияние частоты памяти[править]
У Ryzen 7950X частота ОЗУ устанавливалась как в 4.8 ГГц, так и в 5.6 ГГц (разница на 15%), но с точки зрения времени генерации страницы разница не обнаружена, из чего вывод, что частота памяти мало на что влияет и за быстрыми планками для ELiS гоняться не обязательно.
Данные[править]
Выводы[править]
Профиль нагрузки отличается и для статических сайтов особого выигрыша от Ryzen нет, в то время как для динамики выигрышь почти в 3 раза.
Таким образом по возможности стоит использовать Ryzen 7950X. В принципе Ryzen 7950X для небольших библиотек будет даже избыточен и можно покупать 7900X или даже 7600X.
При установке реверс-прокси на nginx с TLS, количество запросов (rps) уменьшается где-то на треть, поэтому прокси стоит избегать, если они не нужны.
В итоге один топовый десктопный процессор 2023 года заменяет 6 топовых серверных процессоров 10-летней давности (2012), ну или топовый десктоп заменяет 3 двухпроцессорных старых сервера для динамики.
Кроме способности держать большую нагрузку, за счет роста частоты и IPC растет в те же 3 раза скорость генерации страницы, что влияет на скорость отображения страницы (но не в 3 раза, так как на скорость отображения в браузере влияют еще сетевые задержки и сама производительность браузера и ПК на котором он работает). Но в любом случае для SEO быстрый процессор будет полезен, так как повлияет на тайминги.
Пример изменений таймингов, у которых рост примерно в 1.3 раза:
- Ryzen 7950: FCP 0.18s, DCL 0.2s, LCP 0.48s
- Xeon 2690: FCP 0.24s, DCL 0.3s, LCP 0.62s