使用Java,Web应用程序变得非常慢

时间:2012-04-22 07:55:11

标签: java sql java-ee tomcat

我正在开发一个Java通信网关(CGW),它从GPS设备获取数据包,处理它并存储在一个名为Live table的表中(数据库在不同的服务器中运行 - 来自Java CGW我通过连接称为数据库连接池和在Live表中插入数据。)

另一方面,我们的Web应用程序也在从同一个Live表中读取数据。因此,当Java CGW应用程序启动时,Web应用程序变得非常慢,甚至第一页也无法打开。我正在使用SQL Server 2005。

请告诉我为什么会这样。

提前致谢。

3 个答案:

答案 0 :(得分:0)

看起来您的问题是一个线程优先级问题,因为读取/保存数据似乎需要比预期更多的处理器时间,您可以通过在当前线程中使用低于5的数字调用setPriority来降低线程优先级。

获取当前主题。

Thread.currentThread().setPriority(MIN_PRIORITY);

要知道如何正确调用它,请查看Set Priority method.希望这会有所帮助!

答案 1 :(得分:0)

您是否对数据库服务器进行了性能分析?也许数据库服务器的工作量太大了。如果Web应用程序仅读取数据,则主/从数据库配置应解决数据库服务器工作负载问题。

答案 2 :(得分:0)

200线程是一个具有挑战性的数字。

  • 什么是系统架构概述?
  • 所有这些线程消耗了多少内存。
  • 如何在线程之间同步数据/通信。
  • 什么是硬件配置。
  • 是否有必要使用SqlServer? jdbc:odbc桥可能比jdbc:mysql慢。

通常在多线程场景中,通信开销与参与代理程序呈指数关系。此外,处理数据的方式:许多数据的功能相同或多种数据类型的多个功能/阶段?