Так что для этого потребуется код на стороне клиента. Но не совсем понятно, что вы хотите измерить. Время от самого маленького до самого большого может составлять
- время внутри серверного приложения - измеряется кодом, который у вас уже есть.
- Ваш код может установить start либо из «Now ()», когда он начинается, либо с использованием объектов HTTP. При первом обращении к сайту будет видно большое различие между этими временами запуска, в противном случае они должны быть практически идентичны.
- время на веб-сайте сервера - я полагаю, это уже измеряется большинством хостинговых служб, таких как IIS.
- серверный компьютер - я полагаю, что это то, что относится к «мо». Вам понадобится какой-то внешний мониторинг на сервере, аля WireShark.
- клиентский компьютер - опять же, вам потребуется какой-то внешний мониторинг на клиентском компьютере. Это будет труднее всего получить, но я думаю, что это действительно то, что вы просите.
- клиентское приложение - это то, что вы можете измерить с помощью JavaScript.
Если это не «первый вызов» (см. Медленная загрузка первой страницы на сайте asp.net или Приложение ASP.NET на IIS7 - очень медленный запуск после iisreset ), я Полагайте, что все это время будет настолько близко, что вместо этого вы сможете использовать «достаточно хороший» подход.
Если вы должны иметь меру времени звонка , то вы застряли в плохом положении. Но если вам просто нужны более качественные цифры, просто продолжайте измерять 1. (время подачи заявки) с тем, что у вас уже есть, и обязательно измеряйте размер запроса и ответа.
Затем установите базовую линию для настройки этого времени путем тестирования на различных целевых клиентских компьютерах.
- Измерение времени пинга с клиента на ваш сервер.
- Измерение времени передачи умеренно большого контента - как загрузка, так и загрузка
- Найдите числа, чтобы получить среднюю корректировку
Вы должны получить следующую формулу:
[AdjustedTime] = [PingTime] + [ServerTime]
+ ([UploadSpeed] * [RequestSize])
+ ([DownloadSpeed] * [ResponseSize]);
Это будет ожидаемое время ответа клиента.