背景说明
并发访问量大的应用,容易发生服务器崩掉的情况,针对这种情况,我们在部署时,能做一些什么优化呢?看下面的配置。
应用举例
从以下三处来优化应用配置:
1 tomcat的jvm的初始内存大小;
2 应用的数据源连接配置:reportApp.xml;
3 应用的报表配置文件:reportConfig.xml;
1、Windows下,
在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:
JAVA_OPTS=’-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】’
需要把这个两个参数值调大。例如:
JAVA_OPTS=’-Xms1024m -Xmx1024m’
2、newRoleReport.xml中的配置项:
maxActive=”100″
maxIdle=”30″
maxWait=”-1″
参数说明:
maxActive:同时能够从连接池中被分配的可用实例的最大数;
maxIdle:可以同时闲置在连接池中的连接的最大数;
maxWait:最大超时时间,以毫秒计,-1表示无限制;
3、reportConfig.xml中的配置项:
alwaysReloadDefine:no;cachedReportTimeout:60;maxConcurrentForReport:1000;maxWaitForReport:2000;maxWaitTimeForReport:10;maxCellNum:100000;
<config>
<name>alwaysReloadDefine</name>
<value>no</value>
</config>
<config>
<name>cachedParamsTimeout</name>
<value>60</value>
</config>
<config>
<name>cachedReportTimeout</name>
<value>60</value>
</config>
<config>
<name>maxCellNum</name>
<value>100000</value>
</config>
<config>
<name>maxConcurrentForReport</name>
<value>1000</value>
</config>
<config>
<name>maxWaitForReport</name>
<value>2000</value>
</config>
<config>
<name>maxWaitTimeForReport</name>
<value>10</value>
</config>
参数说明:
(1) alwaysReloadDefine实时载入报表,应用制作好后,设置为no;在开发模式下,设置为yes,可以在页面上看到报表实时修改后的效果。
(2) cachedParamsTimeout表示提交给报表的参数在缓存中保存的时间,以分钟为单位。如果不设此参数,缺省值是120分。
(3) cachedReportTimeout表示报表缓存保存的时间,以分钟为单位。如果不设此参数,缺省值是120分。此值应根据实际内存大小、缓存文件夹空间大小来调节,一般在1-3小时之间。
(4) maxCellNum 当前报表系统能运算的最大单元格数,能够动态控制并发数。该数值的大小取决于硬件的配置,一般来说内存越大,这些数值可以设得越大,但最多建议不要超过2000000。
(5) maxConcurrentForReport表示报表WEB应用中服务器可以同时计算的报表的个数,以便有效控制服务器的内存使用量。该数值的大小取决于硬件的配置,一般来说内存越大,这些数值可以设得越大,但最多建议不要超过1000。
(6) maxWaitForReport表示报表WEB应用中服务器可以等待计算的报表的个数,以便有效控制服务器的内存使用量。该数值的大小取决于硬件的配置,一般来说内存越大,这个数值可以设得越大,但最多建议不要超过2000。
(7) maxWaitTimeForReport表示内存溢出后,最长等待多久才允许新任务访问,以秒为单位,一般建议为10
分享到:
相关推荐
为了提高 Nginx 的并发访问量,我们需要优化 Nginx 的配置文件。例如,我们可以修改 Nginx 的进程数量,调整处理请求数量。我们可以使用以下命令来修改 Nginx 配置文件: ``` [root@proxy nginx-1.12.2]# vim /usr/...
为了提高 IIS 的并发访问量,达到十万的并发,需要进行相应的配置和优化。 步骤一:设置进程池 在 IIS 中,进程池是指应用程序池的队列长度,用于限制同时访问的用户数量。默认情况下,IIS 的进程池队列长度为 ...
并发控制是高并发环境中的关键问题,Spring提供了多种并发工具类,如`Semaphore`、`ReentrantLock`等,可以用来限制并发访问的数量,防止过多的并发导致数据库压力过大。此外,还可以使用乐观锁或者悲观锁策略来处理...
总结来说,优化Nginx以应对大并发访问,不仅需要对系统参数进行调整,还要对Nginx的配置进行精细控制,通过合理的进程管理、网络连接处理和资源分配策略,实现高效且稳定的高并发服务。同时,持续的压力测试和性能...
在互联网领域,网站经常会遇到大量的并发访问需求,这通常被称为“大访问量”或“高并发”。面对这种情况,单一服务器往往难以支撑巨大的访问压力,可能会出现响应延迟、宕机等问题。因此,解决大访问量问题变得至关...
在运维过程中,为了保障服务器稳定性和安全性,通常需要对访问进行一定的限制,包括限制特定IP、控制并发连接数以及设定连接数上限。本文将详细介绍如何在Nginx配置中实现这些功能。 一、限制特定IP访问 在Nginx...
在IT行业中,高并发访问是网站和应用程序设计中不可或缺的一部分,尤其对于大型互联网服务来说,如何有效处理大量的并发请求是一项关键技术挑战。本话题将聚焦于如何利用PHP自带的函数进行批处理URL访问,以模拟高...
4. "#baidu站点web每秒访问量.txt" - 极为详尽的访问统计,适用于高并发、需要实时监控的场景,如大型活动或促销期间。 此外,压缩包中还包括了两篇链接,分别来自CSDN博客和论坛,它们可能提供了关于如何在Linux...
然而,随着业务量的增长,数据库的并发访问需求也会相应增加。为了确保系统的稳定运行,了解并合理设置Oracle的最大并发用户数成为了一个关键环节。 #### 查询Oracle最大并发数的方法 要查询Oracle数据库的最大...
- 业务连续性:确保在促销活动或突发事件时,网站不会因访问量激增而崩溃。 - 成本控制:合理预估并发量,避免过度配置资源,节约运营成本。 4. **应对并发量的策略**: - 水平扩展:增加服务器数量,分散负载。...
可以使用`AtomicInteger`或`synchronized`关键字来保证并发访问时的正确性。 4. **持久化**:访问量数据通常需要持久化存储,以便后续分析。Spring Boot可以通过集成各种数据库(如MySQL、MongoDB等)来实现数据...
当我们需要从服务器获取大量数据或者执行批量操作时,并发访问能够显著减少整体的等待时间。本项目提供了一个用Java语言实现的HTTP并发访问模拟工具,名为HttpClient。 HttpClient是一个流行的Java库,由Apache软件...
由于其数据结构丰富、响应速度快,处理高并发访问能力出色,因此在互联网行业中广泛应用于解决大数据量、高访问频率的问题。 在"redis百万并发访问数据库测试"中,我们关注的核心知识点主要包括以下几个方面: 1. ...
1. **并发用户模拟**:测试工具如httptest.exe可以模拟多个并发用户同时访问服务器,以观察IIS在不同并发量下的响应时间、吞吐量和错误率。 2. **性能指标**:主要关注CPU使用率、内存占用、网络带宽消耗以及磁盘I/...
在企业环境中,特别是在大数据量处理和高并发访问的情况下,系统的并发性能至关重要。这款补丁的出现,旨在提升系统在高并发情况下的稳定性和效率,确保用户能够流畅地进行数据查询、分析和报表制作。 首先,我们...
【高并发高访问量网站的运维技术】是针对大型网站在处理大规模用户访问和高并发请求时所面临的技术挑战。随着互联网业务的发展,网站技术架构需要应对更复杂的需求,包括硬件、软件、编程语言、数据库、Web服务器...
然而,这种决策需要考虑并发用户数、数据访问模式和整体系统负载等因素,以达到最佳的性能与资源使用平衡。 综上所述,SQL Server并发调优涉及到多个层面的技术细节,包括但不限于锁的合理使用、事务隔离级别的正确...
综上所述,高并发高访问量网站的运维技术涵盖众多层面,从静态化、缓存、服务器分离到分布式计算和自动化运维,每一项技术都是为了确保在大规模用户访问下,网站仍能保持高效、稳定、可扩展的运行状态。