第一反应是缓慢的Tomcat

时间:2016-09-15 09:49:55

标签: java mysql tomcat

我制作了一个由Tomcat托管的Java Web应用程序。它可以在URL上找到。

我遇到的问题是,每当我第一次访问页面大约需要10秒,而每次访问页面只需要100-500毫秒。我会说速度提升是由于浏览器缓存,但实际上并非如此,当我刷新缓存时(ctrl + shift + r)我得到了相同的快速响应。

然后过了一段时间,大约5分钟后我再次访问该页面,而且再次变慢。

您可以自行尝试对提供的网址进行一些测试,方法是将搜索参数值更改为:1050105110522670,{{1} },40002300

我发现的一个有趣的事实是,无论有多大的有效载荷(比较1050和2300),时间几乎总是相同的。 9-10s。所以我认为像Java Server这样的东西必须做好准备,这就是花费时间。

修改

我首先想到它可能与Java / Tomcat有关,必须加载一些资源,然后再过一段时间+ -3-5分钟,因为某些原因它会卸载它。但正如我上面所写,即使我更改了URL查询字符串(在执行期间导致不同的SQL查询),它也会加载很长时间。问题可能与数据库有关吗?我正在使用MySQL。

EDIT2:

它更快的原因很可能是服务器缓存。我95%肯定,这是因为我做了几个实验,比如在2台电脑上试试等等(不,它不是浏览器缓存)。然后我意识到,如果只有在缓存时速度很快,那么需要很长时间的是实际的2200代码行。即使通过.executeQuery等客户端的完全相同的请求只需要0.285秒,也需要10秒。因此,我将尝试使用WorkBench或进一步尝试。

1 个答案:

答案 0 :(得分:0)

内容大小为200kB。您需要在前端和后端对其进行优化。

主要问题在于你的后端。检查为什么需要这么长时间。

在前端,您可以启用gzip压缩。检查tomcat文档,了解如何执行此操作。这将减少下载的大小。

由于浏览器缓存,第二次可能更快。 检查Firebug中的响应代码,如果响应为304则缓存。响应200表示已从服务器加载。