2014-03-14 6 views
2

Мы пытаемся оптимизировать наше приложение ASP.NET MVC и получаем большую разницу во времени между нашими журналами на стороне сервера и задержкой на стороне клиента.Почему Chrome Timeline показывает больше времени, чем сервер?

При обновлении страницы в Chrome в Timeline он показывает 4.47s:

enter image description here

Как я понял из рисунка, время для выполнения на стороне сервера код должен быть 3.34s, но в наших журналах серверов мы имеем следующее:

  • Begin запрос 15: 41: 52,421
  • Конец запроса 15: 41: 53,218
  • Pre Отправить Заголовки запросов 15: 41: 53,218
  • Pre Отправить запрашивают содержание 15: 41: 53,218

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

Откуда эта задержка?

ответ

0

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

Основная проблема заключается в том, что Ожидание часть общего времени там, где вы должны сосредоточить свой детективный талант.

Обратите внимание, что ответ очень общий, поскольку в вопросе практически ничего не сказано о конфигурации сервера, клиентского компьютера или сети (если есть) между ними. Поскольку вы говорите, что задержка отсутствует постоянно, есть одна или несколько движущихся целей, на которые вы должны нацелиться.

Antivirus Если у вас есть интернет щит или аналогичным названием компонента, это не редкость, что антивирус может, казалось бы, случайно задержать некоторые соединения, оставляя другие практически нетронутыми. Для браузера это прозрачно (это просто задержка, что бы это не вызвало), следовательно, Ожидание.

Network проблема Особенно, если вы подключены через беспроводную сеть или плохо настроенные проводную сеть, задержка несколько секунд может произойти, даже если метка на сетевом устройстве говорит TurboSpeedTM.

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

Проблема с ОС ОС Windows Как и в случае с антивирусом, ОС может задерживать ваши пакеты практически случайным образом по разным причинам.

При поиске такой проблемы я бы рекомендовал попробовать выполнить запрос на самом сервере и сравнить полученные времена, попытаться как можно лучше сочетать сетевые и рабочие системы, предпочитая хорошо спланированные сетевые среды для тех, у кого много неизвестных или внешние факторы (читать по беспроводной сети) и использовать какое-то программное обеспечение для обработки пакетов (например, wireshark), чтобы проверить, не лежит ли браузер. И это было бы просто началом :)

+0

И, конечно же, обновите свой вопрос своими выводами :-) – Pavel

+0

Обновите свой вопрос, только если он внесет свой вклад в этот вопрос, создайте новый ответ, если найдете решение и отметьте это правильно. – Soviut

+0

Кажется, что проблема с сетью - это ответ в нашем случае. – Maxim

Смежные вопросы