Какую методологию тестирования производительности вы используете для своих веб-приложений? - PullRequest
1 голос
/ 26 марта 2009

Я бы хотел протестировать производительность типичного веб-приложения. Приложение предлагает некоторые функции web2.0, такие как написание блогов, вики, поиск содержимого и что-то в этом роде. Я проанализировал журнал доступа и узнал, что пользователи делают очень часто.

Разрыв в моем мозгу, как действовать? Я думал о следующей методологии:

  • (A) разделить функциональность на транзакция (написать пост в блоге, посмотреть wikipage и т. д.)
  • (B) выполнить эти транзакции с увеличение количества пользователей
  • (с) сделать несколько отчетов: «просмотр Википедия с аппаратным обеспечением х может быть выполняется у пользователей одновременно, в то время как память ограничивает Ressource "
  • (D) попытаться смешать несколько транзакций в один сценарий, который должен быть реалистичное отображение реального пользователя нагрузка
  • (E) запустить этот сценарий с увеличением пользователи, делающие те же отчеты, что и в C

Что вы думаете об этом и какова ваша методология?

Ответы [ 2 ]

1 голос
/ 26 марта 2009

Прежде всего, вам нужно знать, какие действия можно выполнять на вашем сайте, и, что более важно, вам необходимо понять, какую долю вашего общего трафика занимает эта деятельность. Для простого блога вы можете сказать, что это выглядит так:

  • чтение индексной страницы: 30%
  • чтение постов: 65%
  • создание комментариев: 4%
  • создание сообщений: 1%

Затем вы можете использовать своего рода среду тестирования, чтобы смоделировать эту нагрузку и понять, сколько запросов в минуту вы можете выдержать. Это даст вам какое-то твердое число по вместимости. Вы также можете профилировать свою память / процессор / сеть / что угодно, чтобы увидеть, как они используются в это время.

Однако очень важно не пропустить реальное тестирование юзабилити. В стандартном динамическом веб-сайте thinsg начнет чувствовать себя медленно, если загрузка страницы занимает более половины времени. На сайте, поддерживающем AJAX, вы обнаружите, что увеличенный объем обратной связи, доступной для использования, дает им более высокую терпимость к задержке, и для того, чтобы определить это, человек должен исследовать пределы того, что является приемлемым.

1 голос
/ 26 марта 2009

Проблема, с которой вы столкнетесь, заключается в том, как протестировать все это. Тесты, которые не воспроизводятся (то есть ручные тесты), имеют строго ограниченную полезность.

Взгляните на watir (произносится как "вода"); это дает хорошее покрытие и очень сценариев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...