2010-08-27 75 views
1

我在我的asp.net应用程序中实现一个谷歌喜欢搜索框。该框中的每个按键向IIS webmethod发送一个查询txt并返回匹配的Ajax请求 - 工作非常棒。但是,在加载活动时(例如300个用户),我收到的错误是我的100 Pooled连接用完了。现在我正在重新思考,可能在每个按键上打开/关闭数据库连接可能太多了。如何以不同的方式设计这种结构,或者确保连接的恢复速度非常快。我有'使用'构建连接,以确保它关闭。问题是GC可能无法快速恢复它们?Ajax请求到SQL服务器打开太多池连接

谷歌将如何处理如此大的开/关周期。

回答

0

Memecache那些击键请求/数据库响应,并避免在第一次之后每次访问数据库。

或者生成可能的自动完成短语,缓存内存和查询的预编译列表,而不是数据库。为什么你需要在数据库中查询搜索框?生成一个可接受的列表并使用它来代替跨层连接!

或者确保您对数据库的查询在表上有索引。

0

您可能已经这么做了,但在“自动完成”开始之前需要最少数量的字符以及始终检索顶部(x)项目也符合您的最佳利益。