Главная » Статьи » Мои статьи

Сервер iiko - считайте не отходя от кассы

Процессор

Тестирование значительно помогает выяснить, как сервер справляется с рабочей нагрузкой. После многочисленных экспериментов мы определили, что каждое увеличение в скорости процессора на 10% дает выигрыш в производительности SQL Server 6,5%. Таким образом, на процессоре с 3,3 ГГц SQL Server будет работать приблизительно на 6,5% быстрее, чем на процессоре с 2,9 ГГц. Это оказалось верно для различных типов центральных процессоров.

Сегодня многие серверы способны поддерживать многопроцессорную архитектуру (далее SMP). Однако серверы SMP не масштабируются линейно. Другими словами, получая дополнительный процессор, сервер не выдает увеличение производительности на 100%. Вместо этого каждый дополнительный процессор добавляет вычислительной мощности нелинейно, начиная с повышения на 40% для первого дополнительного процессора и в среднем на 16% для каждого следующего дополнительного процессора после третьего, в случае приложений OLTP.

Материнские платы за последние несколько лет также были усовершенствованы. Однако наши тесты показали, что увеличение полосы пропускания шины повышает производительность на 3-5% для разных материнских плат.

Кэш процессора. Существует три типа кэш-памяти, предназначенной для процессора. Кэш первого уровня L1 фиксирован на 16 Кбайт для данных и на 16 Кбайт для инструкций, а встроен в процессор, т. е. он постоянно находится на кристалле процессора. Кэш второго уровня L2 размещается отдельно, т. е. не находится на наборе микросхем процессора, но встроен в конструктив процессора и позволяет выбирать данные с полной операционной скоростью процессора. Кэш третьего уровня L3 также отделен; он расположен непосредственно по соседству с процессором, но не объединен с ним. Хотя такое крошечное различие в расположении может показаться незначительным, расстояние, которое электроны должны преодолеть на пути туда и обратно при выборке из памяти, на порядок больше для кэша L3, чем для кэша L2. Таким образом, кэш L3 намного медленнее, но он может содержать гораздо больший объем памяти, потому что не является частью процессора.

Тестирование показало, что кэш L2 размером от 512 Кбайт до 1 Мбайт улучшает выполнение на 11% и дополнительно на 18,5% для кэша от 1 до 2 Мбайт. Таким образом, процессор с кэш-памятью L2 размером 2 Мбайт имеет производительность на 31,5% выше, чем процессор с кэшем L2 размером 512 Кбайт. Большинство процессоров в настоящее время предлагает дополнительный кэш L3 размером 4 Мбайт. В нашем тестировании дополнительный кэш L3 размером 4 Мбайт улучшил работу сервера SQL Server на 39%.

Самый частый вопрос, задаваемый нашими пользователями: «Что покупать, дешевый процессор с небольшим кэшем L2 или более дорогой с большим кэшем?» Усложняет выбор и то, что более быстрый процессор имеет меньший кэш L2, а более медленный процессор имеет больший кэш L2. Ниже приводится несколько основных правил, которыми следует руководствоваться при выборе объема кэша.

  1. При работе с двумя процессорами следует выбирать самый быстрый из имеющихся, даже если придется пожертвовать размером кэша L2. Далее нужно выбирать самый большой размер кэша L2, насколько это возможно.
  2. При работе с четырьмя или более процессорами следует перейти к процессорам, которые имеют самый большой кэш L2, даже при том что их быстродействие может быть не таким высоким, как у процессоров с меньшим кэшем L2. В конфигурациях SMP с четырьмя или более процессорами SQL Server работает лучше с большими объемами кэша L2.

Многопоточные процессоры. Примечательная особенность процессоров Intel — возможность многопоточности, что позволяет одному процессору обрабатывать более одной команды за цикл, создавая второй виртуальный процессор. С включенной функцией многопоточности Windows и SQL Server «видят» один физический процессор как два логических. По сдержанным оценкам Intel, многопоточность улучшает выполнение на 10-30%, но наше испытание показало более высокую производительность. С включенной многопоточностью наши тесты демонстрировали среднее увеличение производительности на 35% для SQL Server, работающего с 1000 пользователей OLTP, и увеличение на 46% при работе 500 пользователей с теми же приложениями OLTP. Такой рост производительности впечатляет. Предположительно процессору, который не имеет многопоточности, чтобы достигнуть того же самого увеличения производительности, нужно работать с тактовой частотой свыше 1 ГГц.

Важно помнить, что процессоры с многопоточностью совместно используют кэш L2 и L3. Следовательно, приложения, которые извлекли бы выгоду из наличия большого кэша процессора, вероятно, получат меньший прирост в производительности, чем процессоры с многопоточностью.

Память

Windows и SQL Server хорошо известны тем, что потребляют столько памяти, сколько им предложат. Но хорошо ли, когда памяти много? В большинстве случаев да. Но читателю нужно усвоить и некоторые исключения из этого правила:

  1. Указание минимума и максимума оперативной памяти, доступной серверу SQL, взамен динамического ее выделения позволяет повысить производительность на системах, специально выделенных под SQL Server, в силу уменьшения числа операций подкачки страниц.
  2. Параллельное выполнение запросов требует большего количества памяти, чем непараллельное. Рекомендуется на SQL Server отключать в sp_configure настройку Maximum Degrees of Parallelism (Max DOP), пока не будет произведено тестирование и не будет зафиксировано улучшение производительности при включении Max DOP.
  3. Механизм Address Windowing Extensions (AWE) обычно плохо соседствует с другими приложениями и будет пытаться потреблять все ресурсы, к которым может обратиться. Таким образом, AWE рекомендуется включать только на выделенных компьютерах с SQL Server.


Рекомендации

Предположим, у нас имеется строго определенная сумма на покупку компонентов для нового SQL Server. Как следует расставить приоритеты при выборе системных компонентов? Можно замахнуться на такие компоненты при добавлении дополнительных аппаратных средств, как, например, оперативная память или диски. Это может и не помочь, потому что в некотором смысле нехватка ресурсов просто перейдет куда-нибудь в другое место. Тогда где можно максимально сократить расходы на стандартный OLTP-сервер базы данных?

  1. В первую очередь следует тратить деньги на оперативную память. Память затрагивает много разных подсистем SQL Server, например, кэширование большого количества чтений и большого количества записей происходит на дисковой подсистеме. После того как будет куплено достаточно оперативной памяти, тратьте деньги на дисковый ввод/вывод.
  2. Если установлен RAID5, задача становится не такой очевидной из-за больших расходов на модернизацию RAID, например, к типу RAID1 или RAID10. Если средств немного, не забудьте разделить объекты по разным томам RAID, начиная с файлов пользовательской базы данных и журнальных файлов.
  3. Затем для улучшения скорости чтения нужно добавить еще диски и контроллеры для улучшения производительности записи. Более быстрые дисководы - 15 тыс. оборотов в минуту (по сравнению с 10 тыс. оборотов в минуту) - обеспечивают линейный рост производительности.
  4. Наконец, стоит приобрести самый быстрый процессор, какой только возможно. Для конфигурации с симметричной многопроцессорной обработкой на четырех или более процессорах, обладающей более широкими возможностями, лучше выбрать более быстрый процессор вместо увеличения кэша L2 и L3. Обратите внимание, что кэши L2 и L3 больше подходят для приложений OLAP, чем для приложений OLTP. Для нового сервера приобретите процессор с многопоточностью и включите ее. Для увеличения производительности следует добавить дополнительные процессоры, но важно помнить, что рост производительности на один процессор уменьшается по мере их добавления.

Вот и вся информация, необходимая для покупки «железа» для SQL Server.


Оригинал статьи Вы всегда можете найти по ссылке

Автор:

Кевин Клайн - Технический директор по решениям SQL Server в Quest Software и президент международной ассоциации разработчиков Professional Association for SQL Server (PASS).
Категория: Мои статьи | Добавил: LostGuide (22.01.2012)
Просмотров: 2482 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 1
1 baranovilyas  
0
Расскажите про минимальные требования для ПК чтобы можно было настроить работу учетной программы и ничего не лагало. Отчеты примерно такие https://interlogika.ru/otchety-po-prodazham-i-tovaram

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]