Ответ 1
Что касается чистой скорости, я предлагаю прочитать Миф или правда: всегда нужно использовать Apache httpd перед Apache Tomcat для повышения производительности? Сообщение блога. Позвольте мне процитировать его частично:
Короткий ответ заключается в том, что это миф. Более длинный ответ заключается в том, что назад во времена Tomcat 3 были некоторые правду этому в зависимости от обстоятельства. Однако для версии Tomcat, используемые сегодня (5.5.x и 6.0.x), тогда нет необходимости используйте httpd для чисто производительности причины. Tomcat теперь поддерживает родной/APR-разъем, который использует та же самая родная библиотека (Apache Portable Runtime-APR) в качестве httpd для низкоуровневый ввод-вывод и, следовательно, может достичь аналогичной производительности по httpd. При обслуживании статического содержимого есть когда-либо слишком немного накладных расходов, когда используя Tomcat по сравнению с httpd, но различия настолько малы, что они вряд ли будет заметным в производственных систем.
...
Выполнено тестирование производительностиКристофер Шульц, регулярно список рассылки пользователей Tomcat, использовали более широкий диапазон размеров файлов и обеспечивает - на мой взгляд - лучшие результаты. результаты его испытаний показаны в график ниже.
Эти результаты намного больше соответствуют с тем, что ожидается, хотя там есть несколько интересных замечаний:
- Apache httpd и Coyote APR/native показывают аналогичную производительность уровни.
- Coyote NIO не слишком отстает от httpd и Coyote APR/native.
- Кажется, что существует ограничение на полезность sendfile. Это может быть аппаратное ограничение, но достойно дальнейшее внимание. Я добавил это к мой список дел.
- Для небольших размеров файлов (менее ~ 10KiB) статическое кэширование файлов в Tomcat обеспечивает значительное повышение производительности.
...
В то время как сырая производительность для статических контент не может быть веской причиной для используйте httpd, есть ряд хороших причины, по которым вы, возможно, захотите использовать httpd с Tomcat. Наиболее частые причина заключается в том, чтобы обеспечить балансировку нагрузки до два или более экземпляра Tomcat. HTTPD это не единственный вариант для этого - балансировщики оборудования или другие можно использовать обратные прокси - но это является популярным выбором среди системы администраторов, так как многие из них уже знакомы с httpd. Больной напишите больше об использовании httpd как load-balancer в следующей статье.
...
Хорошо стоит прочитать.
Считая, что использование веб-сервера перед Tomcat для обслуживания статического контента, очевидно, освободит больше энергии для динамического контента и, таким образом, станет моим любимым вариантом.