[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