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

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