Главная » Статьи » Мои статьи |
ПроцессорТестирование значительно помогает выяснить, как сервер справляется с рабочей нагрузкой. После многочисленных экспериментов мы определили, что каждое увеличение в скорости процессора на 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. Ниже приводится несколько основных правил, которыми следует руководствоваться при выборе объема кэша.
Многопоточные процессоры. Примечательная особенность процессоров Intel — возможность многопоточности, что позволяет одному процессору обрабатывать более одной команды за цикл, создавая второй виртуальный процессор. С включенной функцией многопоточности Windows и SQL Server «видят» один физический процессор как два логических. По сдержанным оценкам Intel, многопоточность улучшает выполнение на 10-30%, но наше испытание показало более высокую производительность. С включенной многопоточностью наши тесты демонстрировали среднее увеличение производительности на 35% для SQL Server, работающего с 1000 пользователей OLTP, и увеличение на 46% при работе 500 пользователей с теми же приложениями OLTP. Такой рост производительности впечатляет. Предположительно процессору, который не имеет многопоточности, чтобы достигнуть того же самого увеличения производительности, нужно работать с тактовой частотой свыше 1 ГГц. Важно помнить, что процессоры с многопоточностью совместно используют кэш L2 и L3. Следовательно, приложения, которые извлекли бы выгоду из наличия большого кэша процессора, вероятно, получат меньший прирост в производительности, чем процессоры с многопоточностью. ПамятьWindows и SQL Server хорошо известны тем, что потребляют столько памяти, сколько им предложат. Но хорошо ли, когда памяти много? В большинстве случаев да. Но читателю нужно усвоить и некоторые исключения из этого правила:
РекомендацииПредположим, у нас имеется строго определенная сумма на покупку компонентов для нового SQL Server. Как следует расставить приоритеты при выборе системных компонентов? Можно замахнуться на такие компоненты при добавлении дополнительных аппаратных средств, как, например, оперативная память или диски. Это может и не помочь, потому что в некотором смысле нехватка ресурсов просто перейдет куда-нибудь в другое место. Тогда где можно максимально сократить расходы на стандартный OLTP-сервер базы данных?
Вот и вся информация, необходимая для покупки «железа» для SQL Server. Оригинал статьи Вы всегда можете найти по ссылке Автор: | |
Просмотров: 2482 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 1 | ||
| ||