Здравствуйте, 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:[email protected] -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
