GWT: как измерить производительность клиента и информацию, отправляемую на сервер, в случае динамического отображения данных, которые правильно отображаются на стороне клиента - PullRequest
0 голосов
/ 24 мая 2011

Я использую RPC с использованием источника событий, мне нужно отправить огромные данные на клиентскую сторону, измерить производительность и отправить информацию на серверную сторону для настройки времени задержки (источника события RPC) в соответствии с измеренной информацией.,Как измерить производительность клиента.Как создать буфер на стороне клиента, чтобы на стороне клиента он мог плавно отображать данные (например, значения массива в графе (x, y) (x1, y1) ..) и хранить некоторые данные в своем буфере.

Ответы [ 2 ]

0 голосов
/ 30 августа 2011

Полагаю, вы оптимизируете свой код на этапе разработки. В этом случае вы должны использовать инструменты браузера для измерения вызовов RPC, анализа HTML и рендеринга CSS, например Speed ​​Tracer .

Если ваша проблема появляется случайным образом в зависимости от данных, загруженных в вашу производственную систему, вам придется обрабатывать код JavaScript вручную или благодаря инструментарию gwt-measure или dynatrace AJAX .

0 голосов
/ 25 мая 2011

В основном вы измеряете сетевую задержку и задержку рендеринга полученных данных для отображения. Таким образом, у вас есть две переменные, и вы должны измерить каждую из них. Вот что я бы сделал:

  1. Клиент запрашивает данные.
  2. Сервер отвечает данными и добавляет к ним метку времени сервера.
  3. Когда клиент заканчивает получать данные, он создает свою собственную временную метку клиента с new Date().getTime().
  4. Чем клиент начинает отображать полученные данные на экран.
  5. По завершении он создает новую временную метку и вычитает предыдущую временную метку клиента: он получает время рендеринга.
  6. Немедленно отправляет другой запрос на сервер (не обычный запрос данных, а специальный запрос только для измерения) и добавляет к нему время рендеринга и временную метку сервера. Сервер получает данные: временную метку предыдущего сервера и задержку рендеринга клиента.

Теперь он может рассчитывать сетевую задержку (текущая метка времени сервера - метка времени запуска сервера - задержка рендеринга) /2.

Задержка настройки, которую вы ищете, это сетевая задержка + задержка рендеринга.

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