The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Presto - новый веб фреймворк для Ruby

19.12.2011 15:30

Представлен проект Presto, в рамках которого развивается новый фреймворк для разработки web-приложений на языке Ruby. Код проекта распространяется под лицензией BSD.

Ключевые особенности:

  • Высокая скорость обработки запросов;
  • Встроенный модуль аутентификации (basic, digest, html);
  • Встроенная поддержка кэширования;
  • Встроенный компилятор для шаблонов;
  • Возможность ограничения доступа к функциям API redirect, halt, pass, session, cookies, env на уровне фреймворка. Например, можно запретить людям, имеющим право редактирования шаблонов, читать содержимое сессий, cookie и переменных окружения;
  • Сессии и cookie могут быть переведены в режим только для чтения;
  • Предельная простота разработки (три класса http, view и node).

Presto разрабатывался как тонкая обёртка вокруг Rack. Тонкость в том, чтобы добавить утилиты не добавив при этом значительных накладных расходов. На данном этапе, Presto добавляет около 30% накладных расходов. Тесты производительности показывают, что когда Rack обрабатывает 6000 запросов в секунду, Presto с легкостью обрабатывает 4000 запросов в секунду. Последние 3 месяца Presto упорно тестировался, устанавливался и работал бесперебойно на различных сайтах.

  1. Главная ссылка к новости (http://groups.google.com/group...)
Автор новости: slivu
Тип: Программы
Короткая ссылка: https://opennet.ru/32599
Ключевые слова: , presto, web, ruby
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (17) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Ищавин (?), 17:11, 19/12/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Еще один Синатра... Для больших нагрузок есть Sinatra::Synchrony.
     
     
  • 2.2, Df232z (?), 17:40, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Для больших нагрузок есть node.js
     
     
  • 3.3, Ищавин (?), 17:42, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А как node.js относится к фреймворкам на Руби?
     
     
  • 4.9, Df232z (?), 18:06, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >А как node.js относится к фреймворкам на Руби?

    node.js относится к фреймворкам на Руби относится снисходительно.

     
     
  • 5.10, Ищавин (?), 18:07, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наверное так же как Misultin или Cowboy к node.js.
     
     
  • 6.11, Df232z (?), 18:36, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Наверное так же как Misultin или Cowboy к node.js.

    А что разве они уже могут работать без ErlangVM?

     
     
  • 7.12, Ищавин (?), 18:59, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А что, node.js может уже работать без V8?
     
     
  • 8.17, Df232z (?), 22:03, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы конечно извините, но v8 не пытается на пустом месте скушать под 3Gb памяти И... текст свёрнут, показать
     
     
  • 9.18, Ищавин (?), 22:07, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще не понял о чем вы ... текст свёрнут, показать
     
  • 5.16, Df232z (?), 22:02, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >node.js относится к фреймворкам на Руби относится снисходительно.

    node.js к фреймворкам на Руби относится снисходительно.

     
  • 2.5, slivu (?), 17:55, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    как и сказано в тексте анонса, возможностей, хаков и трюков есть множество,
    а фрамеворка который из коробки работает на высоких скоростях - нету.
     
     
  • 3.7, Ищавин (?), 18:02, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Надеюсь, что это действительно так. Сейчас погоняю его немного.
     
  • 2.14, ixti (ok), 20:49, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Синатра - надстройка над Rack. А Presto как я понял только начинался как надстройка...
     
     
  • 3.15, slivu (?), 21:11, 19/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Синатра - надстройка над Rack. А Presto как я понял только начинался
    > как надстройка...

    Presto тоже надстройка, в том смысле что Presto общается с браузером через Rack.
    Я просто добавил все необходимые утилиты не добавив при этом значительных расходов.
    Получилось красиво - все инструменты на месте и overhead составляет всего-лишь около 30%
    Здесь простой тест, можете запустить у себя на сервере, проверить сколько обрабатывает Rack и сколько Presto
    https://github.com/slivu/presto/tree/master/test/performance-test

    У меня получается вот что:

    scidev:performance-test slivu$ ruby test.rb ~/bin/ab

    Requests per second:
      rack:   6109.07
      presto: 4434.28
    Presto Overhead: 27%

     

  • 1.6, Аноним (-), 17:57, 19/12/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Opera/9.80 (Windows NT 6.1; U; en) Presto/2.10.229 Version/11.60

    Тут какая-то хрень в названии фреймворка

     
     
  • 2.19, Йоптик (?), 09:54, 20/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я только что хотел это написать :D Теперь будет неразбериха по поводу того, что есть presto.
     
     
  • 3.20, Аноним (-), 11:36, 20/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    presto - есть быстро :)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру