AJAX и время запросов
Небольшое описание системы:
1. Имеется сервер и клиент. Взаимодействие через AJAX
2. Пинг до сервера пусть будет 70мс
3. Время выполнения скрипта 5мс
Если запрос происходит через GET, то данные с сервера приходят через 75-80мс. Проблема в том, что используются запросы POST (т.к. серверу для работы необходимо отправить 1-2кб данных, которые сейчас хранятся у клиента), и тогда данные с сервера приходят уже через 150-160мс (из-за отправки двух пакетов при POST (заголовок и сами данные) вместо одного).
Заказчик проекта считает что раз пинг до клиента 70 мс, то и данные он должен получать за примерно такое же время, но никак не в 2-2,5 раза дольше. В чем-то он прав, т.к. проект связан с веб-доступом к удаленной СУБД и время тут критично.
Я сейчас прикинул 2 варианта:
1) Берем данные клиента (в JSON), сжимаем их LWZ, затем переводим в Base64. Подставляем в адресную строку и отправляем как GET запрос. Минимум изменения кода как на стороне клиента так и на сервере. Опасность, влезет ли даже такой сжатый запрос в GET...
2) Хранить сами данные клиента на сервере (Memcached). На действия клиента формировать небольшие GET запросы (добавил/изменил/удалил часть запроса). Но, тут необходимы серьезные изменения в логике работы как серверной, так и клиентской частей.
Собственно вопрос к опытным программерам, может можно еще как-то загнать "большой" запрос в GET (сессии? Coockies? ???) ? Я согласен что вариант (2) более оптимален, но хотелось обойтись "малой кровью", а не переписывать пару мегабайт PHP и JS текстов...
Последний раз редактировалось lliberty, 07.11.2010 в 14:27.
|