0

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

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

请告诉我为什么会这样。

提前致谢。

4

3 回答 3

0

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

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

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

于 2012-04-26T22:40:57.933 回答
0

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

获取当前线程。

Thread.currentThread().setPriority(MIN_PRIORITY);

要知道如何正确调用它,请查看Set Priority 方法。希望这可以帮助!

于 2012-04-22T08:32:58.653 回答
0

你做过数据库服务器的性能分析吗?可能是数据库服务器的工作量太大。如果 Web 应用程序只读取数据,主/从数据库配置应该可以解决 DB 服务器工作量问题。

于 2012-04-22T08:53:13.420 回答