Измерение производительности в распределенной системе (Java + C#)

У меня есть распределенная система с сервером, написанным на Java и клиентом, написанным на C#. Я хочу провести некоторые измерения производительности в этой системе, например, "Сколько времени занимает одна поездка туда и обратно?" или "Сколько времени между отправкой запроса и вычислением значения ответа?".

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

НО... когда я запускал тест, я заметил, что иногда разница между двумя временными метками (AB) была отрицательной, даже если временная метка B была создана до временной метки A. (одна из временных меток была создана на сервере, другая - на клиент) Так что я думаю, что способ создания меток времени не совсем то же самое.

У кого-нибудь есть идея, как я могу сделать это правильно?

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

РЕДАКТИРОВАТЬ: дополнительная информация о настройке

Клиент C# работает на моем локальном ПК. Java-сервер работает на виртуальной машине, которая сама находится на моем ПК.

0 ответов

Другие вопросы по тегам