2010-07-21 93 views
4

我有一个JSP页面。它曾经运行良好,但在Systems团队升级Solaris 10 OS服务器后,它变得非常慢(加载15秒)。如何减少MySQL连接时间

我检查了该页面中的所有查询,并且每个查询都正常工作。事实上,他们都是非常简单的查询。每个相关表格中只有约300个条目。

唯一特别的是,该页面中有大约60个连接。我发现它非常缓慢后,我设法减少了30个连接。在此优化之后,加载时间减少到6秒。但是,仍然很慢!更糟的是,如果我不想重新构建一半的应用程序,我无法再减少连接。

另一个JSP页面(不在同一个应用程序中)运行良好,但现在它变得很慢。它只有1个连接,但这个页面非常时间敏感。因此我可以看到它变得更慢。

谁能告诉我如何配置mysql或/和tomcat来减少mysql连接时间?

回答

3

当你的意思是“查询”时,你是否在说“连接”?或者你是否为每个查询创建一个新的数据库连接?你不应该那样做。在Tomcat应用程序服务器中,您应该使用connection pooling,这可以减少很多连接的开销。

另一个常见问题是MySQL服务器尝试从其IP地址解析客户端的主机名。这被称为DNS主机名解析,在创建新连接时,它可能成为大量开销的来源。你可以配置你的MySQL服务器到skip DNS hostname resolution而没有太多的缺点。

+0

非常感谢Bill。 – lonelyloner 2010-07-23 15:35:43

0

为什么每页加载多个数据库连接?这不应该是一般情况。建立一个连接并将其用于该页面的所有呈现。

+0

这是升级和前开发人员有一个非常糟糕的设计为此..谢谢! – lonelyloner 2010-07-23 15:36:23

0

你如何在连接字符串上引用服务器?你使用“本地主机”还是什么?尝试用例如“127.0.0.1”代替,这将跳过名称解析。