Здравствуйте.
У нас имеется техническая возможность обработать подобный DDoS. Уточните, пожалуйста, вам требуется защита сайта, или иного сервиса?
1) Касательно технологии HT:
http://ru.wikipedia.org/wiki/Hyper-threading
Короче говоря, в реальной нагрузке то, что ядро разделено на два, хоть и будет давать какой-то прирост производительности, но он не будет значительным. В основном такая технология позволяет эффективнее обслуживать системные процессы, а не процессы пользователя. При оценке реальной мощности сервера учитываться должны именно физические ядра.
Касательно вашей задачи: Демон php позволяет разбивать свои рабочие процессы, называемые т.н. пулы. Для максимального увеличения производительности рекомендую активировать 4 пула - по количеству ядер. Можете попробовать 8 - по количеству виртуальных ядер, я не сравнивал как будет лучше.
2) PHP более прожорлив к памяти, нежели к процессору. Рекомендую обратить бОльшее внимание на память, нежели на загрузку процессора. Обычно процессорного времени без проблем хватает для трудоемких задач, несмотря на, как вы выразились, кратковременное дохождение загрузки до 100%.
Если нужно пробрасывать только HTTP сервисы, то без проблем можно заюзать NAT, все http заголовки естественно в нем сохранятся. nginx справится не хуже, к тому же будет больше настроек касательно HTTP. Лично я юзал nat, когда была схожая необходимость с вашей. Если не только - то при натинге будут затираться исходные данные пакета, как вариант tun/tap туннель.
Да, nginx справится действительно безо всяких проблем; для удобства можно поместить все рерайты в отдельный файл и заинклудить его в нужном месте конфига виртуалхоста.
Григорий, к сожалению, Ваше решение - самый обычный костыль. Не удивительно, что оно не работает / работает не так, как нужно.
Для начала: грепать с логов веб-сервера айпишники и дропать их скриптом - неблагодарнейшее дело. Достаточно настроить connlimit / hashlimit в iptables непосредственно и все будет работать прекрасно. Советую Вам создать список в ipset и хранить там заблоченные IP, либо же recent.
Касаемо производительности - в вашем случае не мешало бы поднастроить nginx + php. От апача откажитесь вообще, я на 99 % уверен, что он Вам НЕ нужен. Оптимальные настройки веб-сервера и php демона придется подбирать, для каждого железа оптимальны свои настройки. Универсальные есть, но что-то нормальное в паблике вряд-ли найдете. :)
А вообще я советую вам отправлять жалобы на таких дудосеров. Включите логирование real ip в nginx'e и смотрите реальный ип сервера, который ддосит через прокси. Было на практике пару раз - на абузы реагируют в течении нескольких часов.