Pull to refresh

Comments 29

UFO just landed and posted this here
lighttpd rip?
Согласен, что lighttpd сейчас выглядит менее привлекательно, т.к. выпускаются только версии с багфиксами. Но(!), lighttpd совсем не умер, а активно переписывается, и текущую версию 2.0 сейчас можно найти в sandbox. Тесты показывают что он стал еще быстее, а стабильный lighttpd2.0 обещают в конце года и стоит ли говорить, что ребята занимаются этим just for fun
--no hollywar
Мне кажется это был !rip — не мертв :-)
Что за гейт, где статья про него? :-)
UFO just landed and posted this here
А с чего вы взяли, что эти сервера используются для статики? Рекомендуемый подход — использовать nginx для статики и, скажем, по одному Tornado на ядро процессора для динамической обработки запросов.

Вы говорили про гейт на С++. Сравнение с Apache? Тогда результаты примерно отвечают результатам Tornado или Diesel. А если так, то не удобней ли делать все на каком-то общем уровне, сведя интерфейсы между языками к минимуму (типа wait/create/ctl)? Это позволяет управлять примитивами асинхронной работы с сокетами прямо на уровне языка высокого уровня; удобней писать сам цикл, строить на нем абстракции.

А название… Так, это творческое. Разбираемые в статье циклы событий — сердце любого асинхронного сервера. Поэтому Async Hearts.

UFO just landed and posted this here
В смысле процессорного времени? Или программирования? Я, если честно, не замерял.

Есть ли вообще смысл связываться напрямую с трэдами и процессами, без фреймворка типа Twisted (кстати, в рамках концепции Deferred он удобно работает с такими вещами)? Общеизвестно, что параллельное программирование — тот еще pain in the ass.

Мораль появления асинхронных серверов в целом: даже классические задачи программирования можно эффективно (даже более эффективно) решать в пределах одного процесса.
UFO just landed and posted this here
Камни не камни, а сервера написаны и работают, быстро работают. Инструментов много, и они показали свою работоспособность. Странно теперь говорить о неэффективности такого подхода.

Если в вебе спешить некуда, то нафиг тогда вообще использовать легкие сервера?
UFO just landed and posted this here
Большое количество длительных соединений — это как раз Friendfeed с их Tornado.

Погодите. Или я спорю зря? легкие сервера — это что? В общем-то, пара серверов, описанных в статье — самые что ни на есть легкие.
Очень советую посмотреть на concurrence или gevent. Их event-loop целиком находится в Си (Libevent), и обе библиотеки предоставляют API синхронного стиля на базе корутин (используются greenlet).
Если верить сайтам, проекты интересные. Насколько понимаю, они довольно молодые?
Думаю не моложе чем Tornado. Тем более, что gevent являестся продолжателем eventlet, который уже давно разрабатывается.
Ну это да, быть старше Торнадо не сложно :) С другой стороны, у Торнадо есть весьма крутое портфолио, пускай даже в составе всего одного очень нагруженного проекта.
Почему в подобных проектах чаще используется libevent, нежели libev? Если верить этим тестам (http://libev.schmorp.de/bench.html) libev быстрее.
Потому что livbevent повзрослее будет. А вообще интересное сравнение. Хоть ты садись и пиши на libev что-нибудь :)
Спасибо за статью, было интересно! :-)

Результаты ожидаемые, ведь twisted — это все, что угодно, а tornado — [только] web-сервер. Но узнать именно про события, которые с этим связаны, с техническими комментариями — очень круто.
Интересно бы сравнить производительность микрофреймворков между собой и фреймворками, чтобы представлять масштабы.
UFO just landed and posted this here
У Торнадо на сайте есть примеры сравнения с Apache+Django и прочими синхронными штучками.
Любопытно, что при сравнении такого рода веб фреймворков всегда забывают о Paste, который тоже дает возможность разрабатывать WSGI приложения.
На основе его работает Pylons.
Любопытно, что при сравнении циклов асинхронных серверов я забыл вспомнить про сервер, работающий на трэдах?
это камень в огород не конкретно вам, у вас довольной интересный обзор для тех кто не в теме ( как я ), за что спасибо, а про вообще, что Paste не везде упоминают :(
К сожалению, в нашей стране вообще не очень знакомым с разными питоновскими фреймворками. И хотя последнее время Django поднабрал популярности, в целом же — мало кто слышал слова Zope, Plone, Pylons.
К сожалению в нашем мире любят обобщать, не пойми на каком основании. Если у вас лично мало знакомых питонистов, которые в свое время исследовали представленный вами список, то я вот о себе такого заявить не могу.

P.S. Plone это уже CMS. Я не сомневаюсь, что вы в курсе, но те миллионы серых масс, что никогда не слышали о питоне и его фреймворках, могут быть дезориентированы.
Разве Twisted не может использовать epoll вместо select? Уверен что тогда его производительность сильно возрастет.
Может, очень даже может. Здесь я как раз-таки epoll-реактор и разбирал.
Sign up to leave a comment.

Articles