Google App Engine, производительность Java и HTTP - PullRequest
2 голосов
/ 07 января 2010

Мой друг и я в настоящее время работаем над пошаговой игрой с чатом как с настольным браузером, так и с клиентами Android, с Google App Engine в качестве сервера.

Мы используем Java API для GAE и используем HTTP для связи с сервером. Мы внедрили простую функциональность чата, и мы получаем нежелательную задержку 1-3 секунды как от браузера, так и от клиентов Android, просто публикуя простые сообщения в одно слово.

Мой друг подумал, что было бы лучше использовать XMPP вместо HTTP, но мы хотим использовать куки-аккаунты Google для аутентификации с помощью клиента Android, и в соответствии с документацией GAE клиенты XMPP не могут использовать куки-файлы аккаунтов Google и должны используйте пароль пользователя.

Есть ли у кого-нибудь предложения относительно того, откуда может возникнуть задержка, как ее устранить и / или что с этим делать?

Кроме того, кто-нибудь знает о каких-либо реализациях чата с открытым исходным кодом (или чего-то подобного) в GAE, сделанных на Java? Не могу найти ни одного.

Ответы [ 2 ]

0 голосов
/ 15 марта 2010

Вы не говорите, как ваши сообщения чата попадают с одной JVM на другую. Если вы используете хранилище данных, возможно, попробуйте memcache?

Кроме того, время запуска часто является проблемой; Механизм приложения все время запускает и останавливает JVM, особенно для приложений с низким трафиком. Чтобы диагностировать это, нужно перезагрузить страницу несколько раз (отправить больше сообщений) и посмотреть, станет ли она быстрее через некоторое время. Должно быть довольно легко заметить разницу в журналах консоли администратора.

0 голосов
/ 07 января 2010

Один из способов проанализировать ситуацию - использовать Wireshark для проверки сетевого трафика во время задержек.

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