>> Речь идёт не только об отдаче статики. Например, было бы интересно >> сравнить быстродействие ASP vs. FastCGI PHP nginx на операции "узнать >> где страница лежит в кеше, отдать".
> Это имхо вопрос чисто академический. На практике из любого из этих > решений можно выжать нужную для задачи производительность.
Вопрос отнюдь не академический. Очень часто, в разговоре с клиентом, хочется аргументированно объяснить выбор решения, основываясь не на
"windows - плохо, linux - хорошо", а на чём-то более весомом. Мы, например, занимаемся разработкой очень наргуженных сайтов, поэтому всегда находимся в поиске чего-то более производительного.
Упрощённо наш путь (если не касаться внутренностей нашего framework) -
использование
Ну nginx+PHP+eaccelerator+memcache - это php как FCGI. FCGI у php далеко не идеален в плане скорости и использования всех преимуществ самого FCGI. Явно быстрее будет работать Perl'овый FastCGI. Может есть что-то еще более шустрое...
Так же уверен, что производительность можно выжать из уже используемой технологии путем оптимизации уже работающего кода... Профайлинг решат в такой ситуации.
вопрос в том - куда дальше. если сайт лежит в кеше, то framework потребляет очень мало (как раз порядка "найти в кеше, отдать"), оптимизировать его, наверное, есть куда, но существенного прироста это не даст.
Очевидные шаги - попытаться сравнить nginx с чем-то (например, с LiteSpeed) и прикрутить к PHP нормальный FastCGI, вместо эмуляции.
Есть ещё вариант поменять язык (например, на Python), но это очень болезненный процесс - всему коллективу придётся осваивать новый язык,
учится его особенностям и хакам. Так что, если и принимать такое решение, то с уверенностью, что выбираешь лидера. Закономерный вопрос - IISx/MSSQL/ASP.NET или LxMP?