Ниже приведены выжимки из исследования как количество планок оперативной памяти влияет на работу процессора. Замечу, что синтетические тесты не всегда отражают адекватно то что будет происходит на реальном приложении, так например при работе реального приложения удалось получить более чем 2х кратное ускорение, хотя в синтетическом тесте разница не столь заметна. В процессе исследования была раскрыта старая истина — под процессоры i7 нужно ставить не менее 2х планок памяти в двухканальный режим, а лучше 4 это ведет к улучшению работы в некоторых приложениях в 2 раза и более, а также было открыто что память подороже работает всетаки лучше.

Итак поехали — при работе системы просмотра видео оператор стал жаловаться на торможение экрана. Произошло это после добавления еще одной камеры. Всего 26 потоков видео с разрешением от 1280 до 1980, почти все имеют 12fps, одна 24fps, плюс ресайз картинки под выделенный ей квадратик чтобы красиво выглядело. Загрузка составляет 100%, виден пропуск кадров, работать невозможно. На сети и сервере точно тормозов нет.

Рабочая машина:

  • процессор Core i7 – 4790 (3.6Ггц)
  • видео ускоритель intel HD graphics 4600
  • материнская плата Asus H97M-Plus

Для проверки использовался тест x264 bench (когда будете ставить укажите каталог program files, НЕ program filex(x86), иначе скрипт не найдет путь до AviSynth) и усредненный показатель при работе самого приложения luxriot для некоторых интересных режимов применялся PCMark8

Оперативки на тест
№ п\п Наименование Объем, Гб
1 AData DDR3 1333(9) 4GX8U AD3U1333W4G9-B 4
2 Kingston KVR13N9S8/4-SP 4
3 MCPoint 4/1600 4
4 PQI DDR3-1333U MFACR423PA0103 2Gb 2
5 kingston hyper-x HX321C11T3K2/8 8
6 kingston hyper-x HX321C11T3K2/16 16

Слоты нумеруются буквами латинского алфавита от процессора. Сначала проверяем каждую планку отдельно. Вся таблица не приводится т.к. в разных слотах похожий результат.
тест Слоты CPU aver load при работе luxriot x264 bench, fps PCMark8, scores
1 Одна планка PQI slot A 100% 55 3051
2 Одна планка Kingston slot A 100% 53
3 Одна планка MCP slot A 98% 56
4 Одна планка ADATA slot A 100% 53

Теперь пробуем переставлять пары планок по слотам. Большая часть таблицы выкинута т.к. схожий результат. Разница от перестановки модулей памяти между слотами (из слота А в С, из С в А) дает не больше 3% разницы.
тест Слоты CPU aver load при работе luxriot x264 bench, fps PCMark8, scores
5 ADATA и MCP настройки дефолтные ADATA slot A, MCP slot B 99% 53
6 ADATA и MCP настройки дефолтные ADATA slot A, MCP slot C 60% 59 двухканальный режим, виден скачек

Теперь попробуем забить все планки и попереключать режимы работы. Меньше лучше
тест Слоты CPU aver load при работе luxriot x264 bench, fps PCMark8, scores
7 4 Hyper-X 42% 60.5
8 4 Hyper-X, xmp profile 1, (тайминги 12-12-12-20) 37% 65 3451
9 4 Hyper-X, xmp profile 2, (тайминги 9-9-9-12) 30% 67 3455
10 Kingston, AData, PQI, MCP Kigston – slot A, AData – slot B, PQI – slot C, MCP – slot D 41% 67
11 2 Hyper-X, xmp profile 2, (тайминги 9-9-9-12) 50% 61

Как видно процессор работает в «щадящем» режиме и способен переварить еще столько же камер. Причем можно понаставить просто обычных оперативок, или пару hyperx

Данное исследование можно применить для серверов других вендоров. Luxriot ведет кодирование на стороне клиента, другие на сервере, поэтому эти цифры должны подойти для серверов других производителей.

Итого:

  • количество оперативок играет главную роль
  • xmp влияет на производительность
  • процессоры i7 и i5 нужно комплектовать парой оперативок в двухканальном режиме, или 4мя, но не одной планкой
  • 2 разные оперативки в двухканальном режиме работают лучше чем одна быстрая


P/S/ провел дополнительную проверку с видео карточкой. Результаты практически не изменились! Тоесть зависимость именно от оперативной памяти. Хотя может быть что на мощной видео карте ситуация и была бы другой. Получается что выгодней купить хорошую материнскую плату с хорошим процессором и памятью, а потом докупить видео карту если не будет хватать, чем купить память хуже но со средненькой видюшкой.
Поделиться с друзьями
-->

Комментарии (20)


  1. LoadRunner
    31.10.2016 12:42

    А если не через xmp гнать память? Или таких тестов не делалось?


    1. pak-nikolai
      31.10.2016 12:45

      что вы имеете в виду? без xmp?
      Без xmp тест выдал 42% на приложении и 60.5 фпс в синтетике.

      что интересно, с шустрой памятью процессор вроде даже фпс быстрее считает процентов на 20, а приложение работает в 2-3 раза быстрее


      1. LoadRunner
        31.10.2016 12:54

        Я имею в виду, какие результаты будут, если вручную указывать\подбирать тайминги.


  1. goletsa
    31.10.2016 13:12
    +3

    Так у вас по описанию еще процессорное видео, а не дискретная видеокарта.
    Она тоже пользуется общей памятью.
    Вот для чистоты эксперимента повторить бы с дискретной карточкой.


    1. pak-nikolai
      31.10.2016 14:00

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


    1. pak-nikolai
      31.10.2016 15:56

      вы не поверите, но наличие или отсуствие видео карты не оказало никакого влияния!!!

      пока пробовал только с одной видео карточкой — GT740 128bit показатели зависили только от оперативной памяти


  1. u010602
    31.10.2016 15:54

    В принципе все ожидаемо кроме того факта, что контроллер памяти на 2 канала получает буст почти в 2 раза от 4ех планок. Есть у кого идеи почему это происходит?


    1. VanyaKokorev
      31.10.2016 16:14

      x264 HD Benchmark показывает разницу в 10% в вариантах с 2 и 4 планками. pak-nikolai, какова методика расчёта средней нагрузки CPU? CPU Time по Task Manager делить на время с момента запуска luxriot?


      1. pak-nikolai
        01.11.2016 06:15

        по таймеру получалась загрузка процессора и потом считалась среднее. на самом деле минимальный и максимальный был еще больше.

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

        Тут разбег такой большой что даже без лабораторных условий заметна разница


        1. VanyaKokorev
          01.11.2016 11:49

          По какому таймеру? Cpu Time (процессорное время) в Windows умеет показывать Task Manager, а таймер умеет считать только обычное время. Средняя нагрузка на 1 ядро процессор равна cpu_time/time*100%


          1. pak-nikolai
            01.11.2016 12:20

            примерно вот так:

            Get-WmiObject win32_processor | Measure-Object -Property LoadPercentage -Average | select Average
            


            суммируется нагрузка от всех ядер и считается среднее, это показание сохраняешь в переменную и засыпаешь на 1 сек, потом снова снимаешь показание и засыпаешь, через определенное количество времени вычисляешь среднее, минимальное и максимальное


            1. VanyaKokorev
              01.11.2016 12:27

              Это изобретение велосипеда, Task Manager умеет считать намного правильнее. Можно написать программу, которая будет полсекунды использовать 100% cpu, полсекунды 0%, и по вашей методике результат получится либо 0%, либо 100%, хотя правильный ответ 50%


              1. pak-nikolai
                01.11.2016 12:51

                не понял о чем вы, конкретно опишите? в таск менагере смотреть cpu time? а как среднее вычислять?

                в данном случае это приложение отображения потокового видео, в нем неизбежны всплески из за движений в кадре, по идее средняя у него должна быть одинаковой


                1. VanyaKokorev
                  01.11.2016 12:59
                  +1

                  Вот я и говорю, что если ваши ежесекундные измерения могут совпасть с всплеском, могут не совпасть, и итоговый результат не особенно о чём-то говорит. Cpu time нужно делить на время выполнения процесса, посмотреть можно в powershell командой New-TimeSpan -Start (get-process luxriot).StartTime


                  1. pak-nikolai
                    01.11.2016 13:45

                    возмука себе на заметку эту команду


  1. novice2001
    31.10.2016 15:54

    Для того, чтобы сделать хоть какой-нибудь ценности выводы, нужно, как минимум, использовать модули равного объема и частоты. А сейчас «выводы» из статьи на уровне «лучше быть здоровым и богатым. чем бедным и больным», что и так известно априори.


  1. kumbr_87
    31.10.2016 16:31

    Попахивает рекламой Kingston HyperX за километр. Наверное спрос хреновый потому что нафиг никому эта HyperX не нужна.


    1. pak-nikolai
      31.10.2016 18:44

      да не, просто ничего не было под рукой с xmp вот и все ))). я за то чтобы ктонибудь эти выводы перепроверил


  1. mrjj
    31.10.2016 20:17

    А какие там флаги юзаются?
    Была ли врублена NUMA на хосте?


    1. satter
      01.11.2016 06:13
      +1

      какая может быть NUMA на односокетной системе?