как получить автозаполнение ответа в 100 мс (миллисекунд) - PullRequest
1 голос
/ 09 октября 2009

Я пытаюсь создать текстовое поле для автозаполнения, которое даст результаты примерно через 100 мс. Я проверил Google с помощью firebug, это 74ms, stackoverflow имеет 500ms.

Я использую drupal6, и для автоматического завершения требуется 800 мс, что совершенно бесполезно.

Кто-нибудь может подсказать мне, как я могу создать автозаполнение с временем отклика менее 100 мс? Я использую MySQL в качестве базы данных.

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 09 октября 2009

Единственный способ сделать это - профиль и посмотреть, куда идет время.

Firebug - хорошее начало - время отсылки? Генерация ответа? Предоставление ответа?

Если он генерирует ответ, попробуйте xdebug или просто распечатайте несколько операторов таймера. Запросы MySQL - это вероятное место для медлительности - ОБЪЯСНИТЕ ваши запросы, если они медленные.

1 голос
/ 10 октября 2009

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

0 голосов
/ 29 января 2014

Так как вы, кажется, не ограничены Drupal.

Я рекомендую взглянуть на Elasticsearch, это БД, созданная, помимо прочего, для этой цели, и вы даже можете запросить ее через HTTP.

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

Если вы хотите копнуть глубже, Google разработал протокол SPDY, который может «работать быстрее», чем классический HTTP в включенных браузерах

0 голосов
/ 09 октября 2009

Во-первых, вы должны найти бутылочную горлышко. Это утечки в сети или медленная обработка запросов.

Если запрос на сервере обрабатывается быстро, вам следует использовать более мощную среду с короткими утечками в сети. Другим способом, вам следует оптимизировать производительность вашей системы, следуя документации на drupal6. Например, убедитесь, что режим отладки выключен.

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