Разрабатываю ajax поиск по сайту. Использую jquery, php, bitrix. Имитирую скорость работы кода через sleep(). Запрос на сервер производится при вводе запроса, по событию keyup(). На событии ввода установлена задержка ajax запроса, и его abort() - в случае если пользователь продолжает ввод. Работает получше чем если отправлять запрос сразу после события keyup(). Однако этот велосипед всё равно не решает проблему.
Здесь: синим - отмечено время работы скрипта, если ввести один символ(либо уложиться в задержку(2сек) до выполнения ajax запроса); зелёным - время работы скрипта в случае ели пользователь продолжает ввод после начала ajax запроса(срабатывает abort()); красным - время работы скрипта после окончания ввода если был xhr.abort(). Цифры говорят о том, что несмотря на abort на стороне клиента, сервер создаёт некую очередь для выполнения php-скрипта. Когда ввод не был ограничен задержками, скрипты работали вообще по очереди 2s,4s,6s... Я конечно понимаю что проблема в бэкенде. И скорее всего дело даже не в коде, а в том что для правильной работы такого поиска нужно использовать технологию вроде socket. Хотя мне кажется что это избыточно в данном случае. Подскажите кто что знает пожалуйста, пока я ещё глупостей не наделал)))
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как добиться того, чтобы удалить ПЕРВОЕ слово из переменной в SMARTY? Для примера: Из "Привет стаковерфлоу, мне нужна помощь" в " стаковерфлоу,...
На сервере приблизительно 30 сайтом и в каждой папке файлы с мусором (вирусом), я знаю размер и название файлов(они повторяются), пробвал написать...
Что посоветуете, как узнать, какое номер присвоит поле id в базе данных при добавление нового idЯ добавляю новые данные из формы в таблицу, далее...