2009-10-09 92 views
1

我正在嘗試構建一個自動完成的文本框,它將在大約100ms內提供結果。我用螢火蟲檢查過它是74ms,stackoverflow有500ms。如何在100毫秒內獲得自動完成響應(毫秒)

我正在使用drupal6,它需要800ms自動完成,根本沒用。

任何人都可以建議我如何建立一個自動完成響應時間低於100ms?我使用mysql作爲數據庫。

在此先感謝。

回答

2

要做到這一點的唯一方法是配置文件,看看時間在哪裏。

Firebug是一個好的開始 - 是時候回來張貼嗎?生成響應?呈現響應?

如果它在生成響應,然後嘗試xdebug或只是打印出一些計時器語句。 MySQL查詢可能是緩慢的地方 - 如果速度緩慢,請解釋您的查詢。

0

首先,你應該找到瓶頸。是網絡泄漏還是緩慢的查詢處理?

如果服務器上的查詢處理速度很快,則應該使用功能更強大的環境以及較短的網絡泄漏。 另一種方法,你應該根據drupal6文檔來優化系統的性能。例如,確保關閉調試模式。

1

我想你的數據庫可能是你的瓶頸。如果您的數據集足夠小,請考慮使用memcached來儘可能多地保留常見查詢。

0

因爲你似乎並沒有受限於Drupal。

我建議看一下Elasticsearch,它是一個數據庫,除此之外,還可以通過HTTP進行查詢。

另外,我建議看看請求的往返時間需要多長時間,也許你想看看Websockets HTML5技術。

如果您想深入挖掘,Google開發了SPDY協議,該協議在啓用的瀏覽器上可以比傳統HTTP「更快」