Как определить время блокирования приложения на IO - PullRequest
0 голосов
/ 13 апреля 2020

Я исследую, может ли быть полезным использование неблокирующего ввода-вывода для Java REST-сервера. Я понимаю, что это может быть правдой, если приложение связано с IO. Чтобы определить это, мне нужно знать количество одновременных запросов пользователей, которые я делаю, а также время, когда каждый запрос блокирует ввод-вывод. Сервер использует традиционную модель потокового соединения и требует нескольких (сетевых) обращений к базе данных.

Мой вопрос: какой самый простой способ определить (измерить) время, которое приложение блокирует при вводе-выводе?

В идеале я хотел бы знать это для каждого потока, программно или с использованием внешних инструментов (командной строки, профилировщиков?). Я смотрел на такие инструменты, как vmstat и top (сервер работает на linux), но эти инструменты, похоже, не считают сетевые вызовы временем ожидания ввода-вывода.

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