G'day,
Мы создали 64-битную сборку Apache 2.2.14 и развернули ее на различных серверах Sun, работающих под управлением Sol10. Для тестирования используются следующие типы серверов: Sun T2000 (32 ГБ памяти), 5120 (8 ГБ) и 5240 (16 ГБ).
Для каждого из них мы заметили, что не было заметного улучшения в использовании ЦП, и на самом деле сервер работает немного горячее, чем при 32-битной версии.
Мы подтвердили это наблюдение, откатившись на 32-битную версию и затем снова вернувшись к 64-битной сборке. Поскольку это крупная веб-ферма, у нас имеется обширная инфраструктура мониторинга серверов с графиками RRD для всех видов измерений. Графики доступны для ежедневных, еженедельных, ежемесячных и годовых периодов. На этих графиках заметны небольшие изменения в загрузке процессора,
Частота обращений на наших серверах циклична в течение дня, но остается достаточно стабильной с пиками порядка 2 К / сек на сервер. Число детей также циклично в день и колеблется от 1 до 3 тыс. На сервер. Поскольку все серверы находятся за слоем баланса нагрузки, изменение шага не может быть связано с изменениями частоты обращений или дочерних элементов.
Мы использовали компилятор CC, который поставляется с Sunstudio 12.1, используя следующие флаги компиляции.
Флаги ссылок аналогичны, но без определения -D.
export CFLAGS="-xopenmp=parallel -xalias_level=basic \
-xtarget=ultraT1 -m64 -xarch=sparc -xbuiltin=%all \
-xdepend -xmemalign=8s -xO5 -xprefetch=auto,explicit" \
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
Мы не делаем ничего необычного в конфигурации Apache, и это довольно ванильно.
Редактировать: Производительность определялась по соотношению ЦП и запросов в сравнении с памятью (в этом порядке). 64-битный выполнял меньше запросов с тем же процессором и немного увеличил объем памяти. Разница была в пределах погрешности и стала заметной только при полной загрузке
Я прочитал вопрос " Как разрабатывать, чтобы использовать преимущества 64-битных систем? ", и там есть некоторая интересная информация. Похоже, это в основном проблемы, связанные с
- адресация памяти вне предела 4 ГБ 32-битного адресного пространства,
- манипулирование 64-битными значениями.
На мой взгляд, мы также ожидаем улучшения производительности SSL.
Какие-либо предложения относительно того, почему наша производительность не улучшилась?
Или предложения на что посмотреть?
Должны ли мы на самом деле увидеть улучшение производительности?