简体   繁体   English

如何通过Tomcat Web应用程序上的大型数据集克服响应缓慢或内存不足的问题?

[英]How Can I overcome slow response or memory limit with large data sets on Tomcat web application?

Inventory Application built in four-layered model consisting of: applet-based graphical user interface; 清单应用程序以四层模型构建,该模型包括:基于applet的图形用户界面; proprietary middle layer (Tomcat web application); 专有中间层(Tomcat Web应用程序); Business logic in Oracle 10g stored procedures.; Oracle 10g存储过程中的业务逻辑。 Data stored in Oracle 10g. 数据存储在Oracle 10g中。

The Problem: The middle layer is designed for transactional communication, and not for moving large data sets (10,000+ rows) to the user interface or to reports. 问题:中间层设计用于事务性通信,而不是用于将大型数据集(10,000多个行)移至用户界面或报表。 The application does not delimit the size of search results, which means that users are able to perform searches that return very large data sets to the front-end. 该应用程序不限制搜索结果的大小,这意味着用户能够执行将非常大的数据集返回到前端的搜索。 Such requests cause the middle layer to respond slowly to this request as well as to other concurrent request, reaching the upper JVM heap memory limits and, in worst cases, causing the middle layer to crash. 这样的请求导致中间层对此请求以及其他并发请求的响应缓慢,达到JVM堆内存上限,在最坏的情况下,导致中间层崩溃。

Any suggestions/ help/ insight about the best solution would be much appreciated. 任何关于最佳解决方案的建议/帮助/见解将不胜感激。 Thank you very much. 非常感谢你。

You need to limit the amount of data that comes back from the server. 您需要限制从服务器返回的数据量。 The truth is is that there is no value in presenting 10,000 rows to a user at a time (Nobody can digest it). 事实是,一次向用户显示10,000行没有任何价值(没人能消化它)。 Break it up into smaller sets of say 100 and provide filtering mechanisms for the user to be able to find relevant data. 将其分解成较小的集合(例如100个),并提供过滤机制,使用户能够找到相关数据。
For reports you will need to do some fancy queries that generate the most common ad hoc reports. 对于报告,您将需要执行一些特殊查询以生成最常见的临时报告。 You might want to generate daily (or other periodic) reports offline through some batch mechanism so that the user can download these once they are ready, and that way you are not affecting your transactional processing. 您可能希望通过某种批处理机制脱机生成每日(或其他定期)报告,以便用户在准备就绪后就可以下载这些报告,这样就不会影响事务处理。 These would be generated through some other mechanism (outside of your app server) and written to an Excel, PDF or other file format for the user to download via a link 这些可以通过其他机制(在应用服务器外部)生成,并写入Excel,PDF或其他文件格式,以供用户通过链接下载

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我如何在NetBeans中通过tomcat运行的Java Web应用程序中测量CPU和内存 - How can I measure CPU and Memory in java web application run through tomcat in netbeans 如何克服此 Time Limit Exceeded 错误? - How can I overcome this Time Limit Exceeded error? 如何在tomcat Web应用程序中重新加载Nginx - How can I reload Nginx in tomcat web application 第一次访问时,部署在tomcat上的Web应用程序运行缓慢吗? - Web application deployed on tomcat is slow on first access? 如何对部署在 Tomcat 上的 Jersey Web 应用程序进行单元测试? - How can I unit-test a Jersey web application deployed on Tomcat? 如何在运行在Tomcat上的Java Web应用程序中将Datasource绑定到ServletContext中的属性? - How can I bind Datasource to an attribute in ServletContext in a Java web application runing on Tomcat? 我如何使用域直接访问部署在AWS tomcat中的Web应用程序而不显示端口? - how can i directly access my web application deployed in aws tomcat using domain without showing port? 当Tomcat无法启动Spring / Hibernate Web应用程序时,如何找到错误? - How can I find the error when Tomcat fails to start my Spring/Hibernate web application? 如何直接在 localhost:8080 中打开我的 web 应用程序而不是 tomcat 主页 - How can I open my web application in localhost:8080 directly instead of tomcat home page 如何从部署在其上的Java Web应用程序访问tomcat日志文件? - How can I access tomcat log files from Java web application deployed on it?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM