Проведен детальный анализ (http://www.alrond.com/ru/2007/jan/25/rezultaty-testirovanija.../) производительности шести фреймворков.
В тестировании принимали участие:
- CodeIgniter (http://www.codeigniter.com/) (PHP)</li>
- Catalyst (http://www.catalystframework.org/) (Perl)</li>
- Django (http://www.djangoproject.com/) (Python)</li>
- RubyOnRails (http://rubyonrails.org/) (Ruby)</li>
- Symfony (http://www.symfony-project.com/) (PHP)</li>
- TurboGears (http://www.turbogears.org/) (Python)</li>
С большим отрывом победил Django framework (http://www.djangoproject.com/). Кроме того, с использованием Psyco (http://psyco.sourceforge.net/) модуля можно дополнительно ускорить django на 15-30%, но за это приходится расплачиваться возросшим потреблением памяти VSZ на 80% в prefork-режиме и на 400% в threaded-режиме. RSS потребление увеличивается в 2-2.5 раза.
URL: http://www.alrond.com/ru/2007/jan/25/rezultaty-testirovanija.../
Новость: http://www.opennet.me/opennews/art.shtml?num=9649
CodeIgniter (PHP) - что за "хомячок бешенный"? Скачал я его, посмотрел. Блин, хватило же ума сравнивать Django и "это". Пусть автор еще сравнит кросовки PUMA с валенками, а что, и в тех, и в тех ходить можно... =)
фреймворки на PHP я взял для того, чтобы потом не обвиняли в предвзятости, типа
"а где мой любимый ... на PHP?"
Это и ежу понятно, что PHP пролетит, хотя всякие зенды и помогут, но не настолько, чтобы дотянуть до полноценных Django или RoR...В вот то, что Django сильно обогнал RoR, это позновательно.
Плюс то, что у новой версии RoR 1.2.1 какие-то проблемы по сравнению со старой версией 1.1.6
alrond> у новой версии RoR 1.2.1 _какие-то проблемы_
"какие-то проблемы" - да, это очень познавательная информация :)
Ну-ну..., валенки нужно взять, это и так понятно, что они пролетят. Надо было нормальный фрейм брать на 5м РНР, качественно и разумно написанный! А так..., распальцовочка побольше и: " фреймворки на PHP я взял для того, чтобы потом не обвиняли в предвзятости, типа"
Отличная работа !
Хотелось бы такое же сравнение CMS увидеть.
Надо было еще добавить JBOSS, после чего прокомментировать - "очень медленная и сложная система, Java - sux, Ruby рулит".
Потом поставить что-нибудь на ASP.NET и доказать, что даже в тестовой программе "Hello, world!" там есть проблемы с безопасностью и глюки.
Далее раскритиковать mod_perl за то, что он слишком сложен для примера "Hello, world!".И в итоге положить начало еще одной holy war..
когда не получается меряться удобством и практичностью, меряются скоростью
>когда не получается меряться удобством и практичностью, меряются скоростьюКому нужна практичность и удобство при кривом коде и ужасной производительности ? Я до тошноты нагляделся на красивые и удобные PHP проекты, которые жрут по 20 Мб памяти и делают по 100 запросов к MySQL на каждое обращение к странице.
и отныне думаете что все такие?гляньте на 'проваливший' тест CodeIgniter внимательнее, очень удобный, и минимум кода, больше скорости.
удобство и практичность - это точно не про похапэ
Сравнивать с php без акселератора не честно:
1. остальные фреймворки компилят свой код лишь однажды, php без акселератора - на каждый запрос
2. имитировался нагруженный сайт, а ни один нагруженный сайт не запускается без акселератора
Пусть возмет хотя бы eAccelerator. С ним даже я разобрался.По поводу RoR: он действительно проседает, запущенный через Mongrel. Запущенный через fastcgi он держит нагрузку при любом количестве одновременных коннектов (и быстрее процентов на 30%)
По-этому тестирование сакс.
Можно дурацкий вопрос почему php реализация на java делает по скорости нативную реализацию PHP даже с акселераторами ?
> остальные фреймворки компилят свой код лишь однажды, php без акселератора - на каждый запроскак это кривье написали, так и сравнивают. все честно.
"Написали" != "используются".Впрочем, такое масштабное сравнение "честно" под силу или какому-то редкому универсалу, каким обычно не до сравнений, или хорошей команде веб-разработчиков, которая в очередной раз перетряхивает инструментарий (и при этом не позволит себе таких ляпов, как сравнивать производительность неотбайткомпиленного питона с php+акселератор -- ну или наоборот, как наблюдаем).
P.S. Можно посмотреть Ваш ровный и красивый код? Я на php писал только кривьё (на четвёртом курсе), но оно непублично и вряд ли кому навредит; на python писал мало и там он был вскоре выкинут как неадекватный; на ruby писал заметно больше, но небольших скриптов (аккаунтинг там для контент-провайдера). Частично опубликовано, например, http://old.linux.kiev.ua/~mike/works/misc/arp2dns+dhcp.rb
в ISP служебные системы за зарплату. врядли работодатель обрадуется.
>в ISP служебные системы за зарплату. врядли работодатель обрадуется.
Так это ж не претензия была :-) Скорее наоборот даже.
делал тест для себя, решил поделиться. я пробовал разные фреймворки и на php и с ускорителем, и ror...и в результате выбрал django - как самый удобный, практичный и, как оказалось, самый скоростной.
Принимается конструктивная критика, а на всякие заявления, типа "валенки пролетят"... к сожалению, не успею ответить всем :-) - обосрать многие спешат...
а помоему, руби - более интересный язык, чем питон.Учитывая несильное отставание в производительности я бы выбрал более интересный инструментарий.
Хотя, конечно, этот фактор не определяющий в данном вопросе. (и субъективный)
А что в руби более интересного?
>А что в руби более интересного?
Оно красивое и IMHO легче на мозги ложится, естественней как-то. В т.ч. потому, что не диктует, как (по стилю в т.ч.) писать -- хочешь, пиши а-ля перл, сжато, но непрозрачно; хочешь -- пиши красиво, как у других читал. Чтоб как хорошая проза. И необязательно ступеньками там, где это читабельность уменьшает (из-за растяжки по вертикали).Менее интересного -- отсутствие в 1.x байт-кода (по крайней мере не знаю -- в JRuby ж тоже?).
Есть неплохие лекции Юры Лейкинда на русском, водились где-то около iatp.by; есть http://lists.altlinux.org/mailman/listinfo/ruby
>>По поводу RoR: он действительно проседает, запущенный через Mongrel. Запущенный через fastcgi он держит нагрузку при любом количестве одновременных коннектов (и быстрее процентов на 30%)
у меня это и указано, что результаты для ROR должны коррегироваться с учетом коэффициента 1.29
>> я пробовал разные фреймворки и на php и с ускорителемНо почему не выложил результаты с ускорителем? Они обычно раз в пять лучше чем без :-)
>> у меня это и указано, что результаты для ROR должны коррегироваться с учетом коэффициента 1.29
Я понимаю, но у тебя также сказано, что RoR проседает под большим кол-ом конектов, а я говорю, что под FastCGI проседания нет
Просто не понятна цель тестирования.
Под малой нагрузкой абсолютно все-равно какая скорость.
Значит имитируем большую. И при этом не используем ускоритель?
what about Zope?
а что про zope автор скажет?
>>>
django - как самый удобный, практичный и, как оказалось, самый скоростной
<<<хотелось бы услышать сравнение и по Zope, особенно в плане практичный и удобный...
zope рулило, в 99 году, когда у Питона не было ничего, ни django, ни turbogears, ни сонма фрейморков попроще. нынче это оверхед и жупел, которым чаще, чем следует, любят попрекнуть. особенно те, кто ниасилил настроить plone.
Zope - страшный тормоз. Говорю как человек писавший и под чистый зоп и под plone.
Zope не относится к классу MVC-фреймворков. А я тестировал именно их.
И вообще это целый комплекс :)>>Я понимаю, но у тебя также сказано, что RoR проседает под большим кол-ом конектов, а я говорю, что под FastCGI проседания нет
Возможно, только у меня под nginx не пошел. нет возможности проверить.
срочно вторую часть надо выпустить с учетом пожеланий трудящихся
А мне нравится тест : )) Но конечно было бы интересно посмотреть насколько помогают акселераторы php. Но это наверное несколько другая история - сравнение оптимизаторов php, вот. Полезнее в работе чем меряться органами.
>> Возможно, только у меня под nginx не пошел. нет возможности проверить.А под lighttpd командой script/server lighttpd ?
Понимаю, процесс RoR будет только один, но всё-таки ?
Сделал краткий тест с акселератором, можно посмотреть на блоге, в P.S.
Отличный тест, никого не слушайте. Очень актуально и полезно.
вобщем после прочтения можно сделать вывод, что для прикладных проектов выбора кроме рельсов не остается.
осталось найти хороших хостеров на территории РФ
причем пару, дабы была альтерантива
хотя о чем это я. речь не о хомячках же.
Дополнил тестирование другими PHP-ными фреймворками, Pylons и TG c разными обработчиками темплейтов
http://www.alrond.com/ru/2007/feb/04/dopolnenie-k-test-mvc-f...
Спасибо. Нашел еще один ресурс с описанием CodeIgniter - http://kerzoll.org.ua/category/codeigniter