|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Есть у меня нода на ESXi 6, на машине с процом Intel(R) Xeon(R) CPU X3450 @ 2.67GHz И есть на скорую руку набросанный "бенчмарк" - в прикрепленном файле. на скорую руку набросанный "бенчмарк" из прикрепленного файлаClass User.SpeedTest [ Abstract ] { /// do ##class(User.SpeedTest).SpeedTest() ClassMethod SpeedTest() As %Status { do $zf(-1,"cat /proc/cpuinfo | grep ""model name"" | uniq") do $zf(-1,"cat /proc/cpuinfo | grep ""cache size"" | uniq") do $zf(-1,"uname -srv") w $ZV,! set icount = 1E6 w "Pass 1 - simple local operation benchmark " set starttime = $ZH for i=1:1:icount { set random = $random(1000) set curdate = $ZD(+$H,3) set month = $ZDH($p(curdate,"-",1,2)_"-01",3) set month = month + random set tmp = i * random set inc = $increment(tmp,month) } set stoptime = $ZH w (stoptime-starttime)_"s ~ "_(i/(stoptime-starttime))_"cps",! kill ^||month w "Pass 2 - private global operation benchmark " set starttime = $ZH for i=1:1:icount { set random = $random(1000) set curdate = $ZD(+$H,3) set ^||month = $ZDH($p(curdate,"-",1,2)_"-01",3) set ^||month = ^||month + random set tmp = i * random set inc = $increment(^||month,tmp) } set stoptime = $ZH w (stoptime-starttime)_"s ~ "_(i/(stoptime-starttime))_"cps",! kill ^||month w $ZDT($H,3),! quit 1 } } Создаю виртуалку с CentOS 6.7 - Linux 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 18:01:38 UTC 2015 и делаю два теста на двух версиях Cach'e Код: html 1. 2. 3. 4. 5. 6. 7.
Вижу что 2015 немного быстрее 2014 Теперь в эту же виртуалку ставлю CentOS 7.1 - Linux 3.10.0-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07 UTC 2015 и делаю те же два теста на двух версиях Cach'e Код: html 1. 2. 3. 4. 5. 6. 7.
и ... вижу нехилое такое падение производительности 18-25% :( Запуск "openssl speed md5 sha512 aes-256-cbc" на обоих OS выдает практически одинаковые цифры, то есть можно допустить что производительность "виртуалки" не меняется Может кто либо провести схожие тесты или хотя бы тесты на 7-й ветке rhel ? И конечно же высказать мысли по поводу стука в подвале ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2015, 13:25 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Интересное наблюдение. Можем помочь разобраться - обращайтесь напрямую к нам в офис. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2015, 14:04 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Ptn, Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9.
CPU i5-2500 3.3GHz Win XP (без виртуализации) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 11:08 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
PtnМожет кто либо провести схожие тесты или хотя бы тесты на 7-й ветке rhel ? Схожий тест на Windowstest.macSpeedTest() { #dim ex As %Exception.AbstractException w $ZV,!! k ^||month s icount = 1E6 try { w "Pass 1 - simple local operation benchmark" s starttime = $ZH f i=1:1:icount { s random = $R(1000), month = $ZDH($P($ZD(+$H,3),"-",1,2)_"-01",3) + random, inc = $I(month,i * random) } s time = $ZH-starttime w ?50,time,"s",?60,"~ ",i/time," cps",! w "Pass 2 - private global operation benchmark" s starttime = $ZH f i=1:1:icount { s random = $R(1000), ^||month = $ZDH($P($ZD(+$H,3),"-",1,2)_"-01",3) + random, inc = $I(^||month,i * random) } s time = $ZH-starttime w ?50,time,"s",?60,"~ ",i/time," cps",! } catch ex { w "ERROR = ",ex.DisplayString() } k ^||month } Результаты: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56.
s random = $R(1000) ;s month = $ZDH($P($ZD(+$H,3),"-",1,2)_"-01",3) + random ;s inc = $I(month,i * random) } ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 13:54 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Когда время прогона теста порядка нескольких секунд, на него влияет множество факторов, тем более в виртуализованной среде. Гипервизор ведь ещё чем-то занят, не только вашей ВМ, верно? В Cache может активироваться демон записи, или ещё что-нибудь по событию выполнится. Чтобы получить значимый результат, надо гонять тест несколько минут (не менее 10, а лучше 30), а также постараться поставить оба экземпляра Cache в одинаковые условия: если это возможно, поместить их на общий том, доступный обеим ВМ (c CentOS 6 и с CentOS 7), и запускать обе ВМ строго поочерёдно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 14:00 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Ptn , Кстати, если set tmp = i * random set inc = $increment(tmp,month) ,тогда должно быть и соответственно set tmp = i * random set inc = $increment(tmp,^||month) ,поскольку set inc = $increment(^||month,tmp) и set inc = $increment(tmp,^||month) сильно отличаются не только по результату, но и скорости. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 14:14 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Согласен с предыдущими ораторами, что такое кратковременное тестирование определенных, случайных конструкций - методически неверно и может показать все, что угодно. Предлагаю поэкспериментировать с существующим уже бенчмарком COS - %BENCHLANG и плясать от его цифр. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 15:42 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Небольшая длительность тестов компенсируется 100% воспроизводимым у меня результатом. Демон записи на локальный тест особого влияния оказывать по идее не должен. Хотя я могу конечно ошибаться. Я собственно начал капать после обратил внимание что одни и те же прикладные задачи на сервере с процом 2.2Ггц выполняются быстрее чем на 2.6Ггц, настолько что это просто заметно на глаз. И основное отличие у машины это операционка. %BENCHLANG - нужно посмотреть, согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2015, 17:26 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Так, а вот про 2.2ГГц и 2.6ГГц поподробнее. Надеюсь Вы хотя бы сравнивали процессоры одного техпроцесса и поколения? Вот P4/NetBurst вообще можно было разогнать до 3-4ГГц, т.к. длинный конвейер это позволял. Но это не значило, что он работал быстрее AMD Opteron на во много раз меньшей частоте, и при более коротком конвейере? Потому как тут вовлекались другие факторы (ширина фронт-энда, количество запускаемых в параллель команд, эффективность предсказания, ассоциативность кешей, и т.д и т.п.) Разница частота сегодня (да и 10 лет назад уже) ничего не решает. Таки возникает вопрос, какой точно процессор 2.2ГГц? (Про 2.6ГГц мы знаем - X3450) И в конце-концов - перестаньте заниматься самодеятельностью и обратитесь к профессионалам, которые знают и ядро Cache', и ядро интеловского процессора. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 00:49 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Timur Safin, Код: html 1. 2. 3. 4. 5. 6.
Код: html 1. 2. 3. 4. 5. 6.
Код: html 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 09:21 |
|
Benchmark Cache' и поиск стука в подвале
|
|||
---|---|---|---|
#18+
Ptn, (Ну и старье у вас там работает, могу заметить...) Кое-что я напишу здесь в форум, но остальное более эффективно обсуждать лично (через письмо/скайп/телефон) а не через форум. Найдите мои контакты в сети, или обратитесь через support@intersystems.com Итак имеем 3 процессора: E5520 @ 2.27GHz - Nehalem EP (серверный 2х сокетный Nehalem) X3430 @ 2.40GHz - Lynnfield (десктопный 1 сокетный Nehalem) X3450 @ 2.67GHz - Lynnfield (десктопный 1 сокетный Nehalem) Все они имеют одну архитектуру ядра - Nehalem, и выпущены на одном техпроцессе - 45нм. Разница между десктопными версиями - в верхней разрешенной частоте (хотя, немного повозившись, можно разогнать и выше, чего уж там). И почему-то в выключенном SMT (HyperThreading) у X3430. Разница серверной и десктопной версии в наличии QPI канала между кристаллами, и всего остального волшебства, связанного с QPI (например в двое большей пропускной способности канала к памяти). В вашем простеньком, прямо скажем, анти-научном тесте разница между серверной и десктопной версией процессоров (большая пропускная способность каналов в память) выстрелить не могла. Потому, вполне логично что E5520 и X3450 на похожей частоте дают похожие результаты (в пределах статистической погрешности). Вопрос в том, почему почти идентичные X3430 и X3450 так по-разному себя ведут? И не показывают ожидаемого выигрыша от увеличения частоты с 2.4 до 2.67 (или в режиме турбо-буста с 2.8 до 3.2)? Думаю ответ в использовании исполнительных устройств в режиме SMT (HT). Простой эксперимент с выключением HT в BIOS X3450 должен подтвердить или опровергнуть данную теорию. Но еще раз, я призываю Вас не использовать коротко-живущие, ни разу не показательные, непоследовательные тесты для сравнения производительности процессора. Используйте хотя бы %BENCHLANG (он очень простой). И вторая просьба, если Вы хотите продолжить эти исследования - обратитесь к нам по другим каналам. Этот форум - это не канал для поддержки и тем более не канал для исследования проблем с производительностью (коли такие будут когда). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2015, 12:49 |
|
|
start [/forum/topic.php?fid=39&fpage=12&tid=1556552]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 433ms |
0 / 0 |