[Moscow.pm] Сравнение языков

Михаил Монашёв postmaster на softsearch.ru
Вт Фев 10 12:34:22 PST 2015


Здравствуйте, Alexander.

> Я  предлагаю взять более-менее реалистичную задачу и погонять её под
> более-менее реалистичными тестами. Например:
> 
> Архитектура: приложение, memcached, mysql.
> Задача:  показывать  рассказы  из  базы  данных  (каждый порядка 100
> килобайт), кэшируя их в memcached (небольшого объёма).
> Входной урл: "/$id".
> Ключ в memcached: "$id".
> Запрос к базе: "select data from stories where id=$id".
> Ответ оборачивается в простенький HTML-шаблон. Все спецсимволы заменяются на HTML entities, как положено. Новые строки - на <br>.
> Результат возвращается клиенту.
> 
> Как тестируем:
> 1. запросы по небольшому подмножеству случайных ID (чтобы всё заведомо влезало в memcached)
> 2. запросы по всему множеству ID (чтобы всё не влезало в memcached и приходилось дёргать базу)
> 3. запросы по всему множеству ID, параллельно начинаем затормаживать базу данных (lock tables write, sleep, unlock tables)
> 
> Замеряется количество запросов в секунду, которые сервер смог обслужить, количество ошибок в секунду, ну и latency.
> 
> Этот тест более-менее приближен к реальным условиям и проверяет разные возможности - интенсивный сетевой обмен, вычислительную работу (процессинг HTML), эффективность использования ресурсов машины. Причём в пропорциях, обычных для веб-приложений.
> 
> Что скажете? Есть у кого время написать такие приложения на разных языках?

Писать тут не много. И более реалистичнее тест, согласен.
Больше писанины с тестами и настройками тестового окружения ИМХО.

Давай может входной урл вынесем в отдельную директорию, чтобы можно
было легко при необходимости  новые тесты добавлять? Например, в
/story/ и урлы будут /story/123 соответственно.

-- 
С уважением,
 Михаил                          mailto:postmaster на softsearch.ru



Подробная информация о списке рассылки Moscow-pm