Почему производительность G-Wan так низка на Opteron?
Я тестирую G-Wan 4.3.14 на CentOS 6 с ядром Linux 2.6.32, используя 6-ядерный процессор Opteron 6234.
Запустив простой тест на вес, я получаю:
weighttp -k -n 1000000 -t 6 -c 1000 localhost:8080
finished in 7 sec, 250 millisec and 896 microsec, 137913 req/s, 1044186 kbyte/s
requests: 1000000 total, 1000000 started, 1000000 done, 1000000 succeeded, 0 failed, 0 errored
status codes: 1000000 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 7753000286 bytes total, 256000286 bytes http, 7497000000 bytes data
Это кажется ненормально низким. У кого-нибудь есть опыт / совет по настройке G-Wan или других HTTP-серверов на Opteron?
2 ответа
с использованием [AMD] Opteron 6234 6-модульный / 12-ядерный процессор
Это оценка для 6-Core AMD Opteron @ 2.4GHz
[1] 137 913 запросов / с отстают от наших 850000 запросов / с на Intel 6-Core Xeon W3680 @ 3.33GHz
[2] (со 100-байтовым статическим файлом).
Помимо различий в производительности каждой архитектуры *, проблема для G-WAN возникает на процессорах AMD из-за того, что у нас не было доступа ни к одному из этих процессоров (все наши машины оснащены процессорами Intel).
Благодаря последним отчетам пользователей AMD, мы обнаружили, что число обнаруженных ядер ЦП для процессоров AMD в два раза превышает фактическое число. Это связано с тем, что у AMD есть свой набор CPUID
коды и возвращаемые значения - которые отличаются от Intel.
Это неправильное обнаружение AMD CPU Core приводит к очевидным конфликтам в кеше CPU - проблемам, которые должны быть решены с помощью G-WAN.
На данный момент, используя ./gwan -w 6
Вы можете принудительно использовать любую настройку многоядерности, минуя автоматическое обнаружение G-WAN при необходимости.
В вашем случае вам следует использовать 6 физических ядер ЦП, а не 12, неправильно используемых G-WAN. Это то, что вы можете сделать прямо сейчас (и, скорее всего, благодаря этим тестам вы получите гораздо более высокие результаты).
В следующем выпуске мы опубликуем обходной путь AMD, чтобы избежать необходимости ручной настройки.
[*] Рекомендации:
[1] http://www.cpubenchmark.net/cpu.php?cpu=AMD+Opteron+6234
[2] http://www.cpubenchmark.net/cpu.php?cpu=Intel+Xeon+W3680+%40+3.33GHz
Это всего лишь предположение, и поэтому я могу ошибаться... но Opteron - это архитектура NUMA.
Иногда программы оптимизированы для архитектур, отличных от NUMA (очень распространенных), и тогда производительность в средах NUMA низкая.
Чтобы проверить это, вы можете запустить точно такую же версию G-Wan с теми же данными (или почти ими!) В Phenon или i7, которые сопоставимы с вашим Opteron!
Отлично... я пытаюсь помочь и иметь -2 голоса... удивительно!