一 数据库调优:
1.服务器最大连接数:
<local-tx-datasource>
<jndi-name>jdbc/</jndi-name>
<connection-url>jdbc:oracle:thin:@172.16.100.18:1521:orcl</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>TETD_QT</user-name>
<password>Hpoui&bmn$m#e$m_n20uytwe@iil</password>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size> 设置大
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
2.数据库最大连接数 == 查看ORACLE连接数设置
SQL>select count(*) from v$process --当前的连接数
显示为45
SQL>select value from v$parameter where name = 'processes' --数据库允许的最大连接数
显示为600
#修改oracle最大连接数:
alter system set processes = 1000 scope = spfile;
重启数据库:
shutdown immediate;
startup;
性能调优的策略:
- 用空间换时间;
- 用时间换空间;
- 简化代码;
- 并行处理;
接着,能调优的方法,包括有:算法调优(过滤算法、哈希算法、分而治之和预处理)、代码调优(字符串操作、多线程调优、内存分配、异步操作、语言和代码库)、网络调优(TCP调优、UDP调优、网卡调优、其他网络性能)、系统性能(I/O模型、多核CPU调优、文件系统调优)、数据库调优(数据库引擎调优、SQL语句优化)。
二 tomcat 服务器调优
使用NIO在服务器端会有更好的性能,加强服务器端对并发处理的性能。 请注意:很抱歉,在tomcat6在默认的配置选项中是没有把NIO功能打开。所以很多正在使用Tomcat6的朋友们本以为能快活的使用上NIO。
而NIO则是使用单线程(单个CPU)或者只使用少量的多线程(多CPU)来接受Socket,而由线程池来处理堵塞在pipe或者队列里的请求.这样的话,只要OS可以接受TCP的连接,web服务器就可以处理该请求。大大提高了web服务器的可伸缩性。
- <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
- connectionTimeout="20000"
- redirectPort="8443" />
2,修改Tomcat 6默认的maxThread
- <Connector port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443" maxThreads="150"/>
在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
3,大量的并发也意味着大量的服务器资源,所以修改一下tomcat的JVM参数也是必要的
Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m
Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JAVA_OPTS=’-Xms256m -Xmx512m’
web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。Unix中如何设置这些参数,请参阅Unix常用监控和管理命令
分享到:
相关推荐
EAS系统性能问题诊断处理方法主要涵盖EAS的部署模型、工作原理、性能问题的潜在环节、参数检查与调整、监控、问题跟踪和分析等方面。EAS,即金蝶企业应用套件,是一个为企业提供综合管理服务的软件平台。以下是关于...
2017EAS常见系统性能问题处理指引
EAS系统性能问题诊断处理方法.pptx
前言概述本文档描述 EAS 常见的系统性能问题、产生原因和诊断处理方法。对于无法在现场分析处理的性能问题,提供相关的运行日志收集方法,包括工具自动收集和手工收集
本文将探讨一种通过网络通信在远程客户端监控Linux主机性能的方法,旨在提前发现和解决系统性能问题。 1. Linux性能参数获取 - `free`命令:用于查看Linux内存使用情况。它提供物理内存和交换空间的详细信息,如...
3. **高级分析**:除了基本的图表,nmon analyser还提供了进程分析、TOP SQL查询等功能,帮助定位系统性能问题的根源。 4. **报告生成**:用户还可以利用nmon analyser生成详细的性能报告,便于分享和存档。 ### ...
系统性能问题通常源于资源的不合理分配或管理不当。主要的系统资源包括CPU、内存、磁盘和网络。CPU的利用率过高可能导致系统响应延迟,而内存不足则可能导致频繁的页面交换,降低系统效率。磁盘I/O瓶颈可能是由于...
LoadRunner可以模拟成千上万的虚拟用户同时进行操作,产生高负载下的应用系统性能问题,并且通过监控服务器、数据库和网络等各方面的资源使用情况,分析瓶颈所在,帮助开发人员找出系统中潜在的问题。 在性能测试的...
本文将介绍如何结合这两款工具来定位系统性能问题。 首先,JProfiler是专为Java开发的系统提供性能监控的工具。它可以实时监控内存使用、垃圾回收、线程状态等,帮助开发者深入理解JVM的运行状况。要使用JProfiler...
总的来说,通过深入理解和有效利用Oracle动态性能视图,DBA能够及时发现并解决系统性能问题,提高医院信息系统的整体运行效率和服务质量。同时,结合专业的参考文献和专业指导,可以进一步提升调优的效果和准确性。
【基于硬件跟踪的Linux系统性能优化】 ...这种方法对于处理复杂的Linux系统性能问题尤其有效,尤其是当软件工具自身成为问题源时。通过使用硬件跟踪,ADIT成功地定位了问题,为优化Linux系统性能提供了切实可行的路径。
- 责任界面难以划分:当用户抱怨系统性能问题时,IT监控显示系统资源正常,问题定位困难。 - 业务系统层次架构复杂:包括Web门户、OA、应用程序、数据库、中间件等,导致问题诊断困难。 - 客户端环境监控不易:难以...
4. **性能优化**:当发现系统性能问题时,需要进行优化。这可能包括代码优化(减少冗余操作,提高算法效率)、架构优化(如分布式系统设计、缓存策略)和资源配置调整(增加硬件资源,优化资源分配)。 5. **监控与...
通过对这些数据的深入挖掘,我们可以发现系统性能瓶颈、资源分配问题以及可能的优化方向。最终,这些分析结果将为系统优化提供依据,确保软件系统在上线后能够满足性能需求,为用户提供流畅、稳定的服务体验。
在单一的应用环境或业务相对简单的系统下, 系统性能问题, 瓶颈所在往往是不言自明, 解决问题的前提--定位问题是比较容易解决的, 但在一个复杂的应用环境下, 各应用系统对系统资源往往是一种共享和竞争的关系, 而且...
这份“linux性能测试、内存优化资料集”包含了丰富的资源,帮助程序开发者深入理解Linux内核的工作原理,有效地诊断和解决系统性能问题,以及优化内存使用。 一、Linux性能测试 性能测试是为了评估系统在特定工作...
总的来说,Windows性能监视方法依赖于性能计数器日志,这是一个强大的内置工具,可以帮助我们有效地跟踪和诊断系统性能问题。通过合理配置和分析,我们可以及时发现和解决系统性能瓶颈,提升计算机的工作效率。
- 结合日志分析和监控系统,综合判断系统性能问题所在。 - 与开发团队紧密合作,共同分析代码层面的问题。 ##### 4.4 性能调优 - **问题描述**:找到问题后,如何有效地进行性能调优是另一个关键步骤。 - **解决...