如何减少MySQL连接时间

时间:2010-07-21 01:26:10

标签: mysql performance connection

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

我检查了该页面中的所有查询,每个查询都正常。实际上,它们都是非常简单的查询。每个相关表格中只有大约300个条目。

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

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

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

3 个答案:

答案 0 :(得分:3)

当您的意思是“查询”时,您是说“连接”吗?或者您是否为每个查询建立新的数据库连接?你不应该这样做。在Tomcat应用服务器中,您应该使用connection pooling,这将大大减少连接的开销。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您如何在连接字符串上引用服务器?你在使用“localhost”还是什么?例如,尝试将其替换为“127.0.0.1”,这将跳过名称解析。