Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite купить дешевый 
компьютер родом из Dhgate.com

Lines Club

Ищем достойных соперников.

Библиотека сайта или "Мой Linux Documentation Project"

От SocialCalc к EtherCalc

Глава 2 из книги "Производительность приложений с открытым исходным кодом".

Оригинал: From SocialCalc to EtherCalc
Автор: Audrey Tang
Перевод: А.Панин

Портирование для работы с Node.js

Начальные этапы портирования прошли достаточно гладко благодаря тому, что и веб-сервер Feersum, и фреймворк Node.js основаны на одной и той же модели событий библиотеки libev, а также API компонента Pocket.io в значительной степени совпадает с API компонента Socket.io. Мы потратили всего лишь один вечер на создание кода эквивалентного по функциональности сервера, уложившись в 80 строк кода благодаря четкому API ZappaJS.

Начальное микротестирование показало, что портирование для работы с фреймворком Node.js стоило снижения максимальной пропускной способности сервера практически наполовину. При использовании стандартной для 2011 года системы на базе центрального процессора Core i5 оригинальный стек Feersum мог обрабатывать 5000 запросов в секунду, в то время, как сервер Express на основе фреймворка Node.js обрабатывал максимум 2800 запросов в секунду.

Данное снижение производительности было признано приемлемым для нашего первого JavaScript-порта, так как оно не приводило к увеличению задержек при обслуживании пользователей и мы полагали, что спустя некоторое время ситуация улучшится.

Дополнительно мы продолжили работу по сокращению нагрузки на центральный процессор на стороне клиентов и минимизации степени использования пропускной способности сетевого соединения путем постоянного отслеживания каждой из сессий с использованием электронных таблиц SocialCalc на стороне сервера.

Отслеживание состояния электронной таблицы с помощью серверного программного обеспечения на основе фреймворка Node.js
Рисунок 2.4 - Отслеживание состояния электронной таблицы с помощью серверного программного обеспечения на основе фреймворка Node.js


Продолжение статьи: SocialCalc на стороне сервера.


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют