首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Java的web应用程序运行速度非常慢,或者在一天中在特定的时间内运行两次。

基于Java的web应用程序运行速度非常慢,或者在一天中在特定的时间内运行两次。
EN

Stack Overflow用户
提问于 2017-07-12 11:58:17
回答 1查看 174关注 0票数 0

问题描述:我们有一个web应用程序,每天有200-300人使用.该应用程序在一天中在特定时间内减速两次或三次,将首页加载时间从6-7秒更改为11-13秒。此应用程序作为7.2部署在JBoss上。在同一个实例(端口号)上部署在同一个Jobss上的其他应用程序有4-5个。这些应用程序是web服务(REST&services,由同一公司的其他应用程序使用,我不知道),它们使用相同的数据库作为主要应用程序,存在缓慢问题。应用程序是用以下技术栈构建的:

  • 前端:角JS,角UI,JqueryUI,JSON
  • 后端: Spring REST控制器,Java 7,JDBC
  • 数据库: Oracle 11g,PL SQL

从应用程序响应时间激增到现在才4个月。我们在4个月前发布了一个生产版本,其中很多数据过滤都是根据特定的参数进行的。此代码是在PL/SQL中实现的。此外,在前端进行了一些数据过滤。在此版本发布后,响应时间增加了。(注:在此期间,用户和数据数量也大幅增加)

到目前为止,我试图通过最小化Javascript文件来提高性能,将2.8MB的DOM下载内容更改为仅1.2MB。我还优化了一些用于数据过滤的查询。我已经能够将主页加载时间降低到平均9-10秒。这仍然远远超出了客户的预期。

我想知道如何处理这类问题,以及我应该牢记哪些事情可能导致了这一问题。

目前,生产jvm配置为xms: 64 MB,xmx: 256 MB。改变增加内存会有帮助吗?我应该删除PLSQL代码,编写Java代码并使用多线程吗?在高峰时期,CPU使用率高达85-95 %。主表被许多应用程序(调用java程序发送电子邮件通知的cron作业)所使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-25 10:50:24

我已经解决了这个问题。根据注释和建议,我对数据库进行了定时查询,检查了数据库日志,并监视了每天的CPU使用情况。我对应用服务器也做了同样的操作,并使用jvisualvm进行了分析。

我做了一些事情,比如最小化静态内容、优化查询、删除不必要的日志记录,然而,重要的变化来自于更改JVM调优(堆大小-xms:1024M、-xmx:1536M & permGen: 512米和其他东西)。现在,性能有了很大的提高,将平均主页(登录后)更改为4到5秒(从10-13秒)。

从数据库的角度来看,仍然有改进的机会。有些查询和PL SQL块必须进行优化。但它还是比以前好多了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45057088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档