Тест производительности на веб-сервис - PullRequest
2 голосов
/ 03 ноября 2011

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

Мне интересно, какое из следующих подходов является разумным:

  • Проверка каждого отдельный API в автономном режиме.

  • Проверка каждого полного рабочего процесса , который включает несколько API.

Я думаю, что последний имеет больше смысла, поскольку он имитирует реальный сценарий.Я хотел бы услышать ваши комментарии.

Спасибо.

1 Ответ

3 голосов
/ 03 ноября 2011

Есть (как обычно) плюсы и минусы каждого подхода. Лично я хотел бы рассмотреть оба варианта, начиная с одного теста API.

Один API, вероятно, проще всего построить, и его преимущество заключается в точном выявлении проблем с производительностью. Также полезно определять регрессию в производительности во время разработки. Если для приложения существуют модульные тесты, рассмотрите возможность их использования. Когда наблюдается снижение производительности, обычно также выполняется модульное тестирование, которое внезапно замедляется.

Как только вы это сделаете, вам все равно придется выполнять более сложные тесты. Во-первых, потому что вам нужно знать, приемлема ли производительность определенного потока, а также потому, что между различными API-интерфейсами могут возникать непредвиденные взаимодействия. В зависимости от вашего приложения могут возникнуть неприятные проблемы с параллелизмом, узкими местами пропускной способности и т. Д. Убедитесь, что вы запускаете несколько потоков одновременно, это то, что происходит в реальной жизни, и это единственный способ найти проблемы, связанные с блокировкой в ​​базе данных, узкими местами ввода-вывода и т. Д.

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

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