[计算机]weblogic数据源优化调整记录
weblogic10.3优化设置
Weblogic10.3_Windows优化设置优化说明: (2)一、Weblogic服务程序设置: (2)1、设置JDK内存: (2)2、设置线程数: (3)3、Weblogic数据库连接池连接数设置: (3)4、Weblogic的服务设置[配置\优化]: (4)二、Windows服务器设置: (4)1、修改最高端口号和TCP/IP释放连接时间: (4)三、Oracle数据库设置: (5)1、Oracle线程数设置: (5)优化实例: (5)一、Weblogic10.3_Windows集群布署 (5)1、机器配置: (6)2、Weblogic优化设置: (6)二、Weblogic10.3_Windows单机布署 (7)1、机器配置: (7)2、Weblogic优化设置: (7)优化说明:一、Weblogic服务程序设置:1、设置JDK内存:修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd文件:修改前:if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m) else (set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=48mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m修改后:if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms512m –Xmx1024m) else (set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms1024m –Xmx1024m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=128mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m说明:红色字体为修改的内容,具体修改值根据实际物理内存确定∙-Xmx3550m:设置JVM最大堆内存为3550M。
WebLogic 系统调优操作指导书
WebLogic Server 8.1调优操作指导书拟制: Prepared by 杨机智59949日期:Date2006-11-07审核: Reviewed by 日期:Date审核: Reviewed by 日期:Date批准: Granted by日期:Date华为技术有限公司Huawei Technologies Co., Ltd.版权所有侵权必究All rights reserved修订记录Revision record目录Table of Contents1操作系统调优 (8)1.1操作系统调整 (8)1.2Linux相关参数调整 (8)1.3Windows相关参数调整 (9)2应用服务器调优 (9)2.1JVM调优 (9)2.1.1垃圾收集和堆大小 (9)2.1.2jRockit调优 (10)2.2Server调优 (11)2.2.1尽量使用本地I/O库 (11)2.2.2调整默认执行线程数 (12)2.2.3调整连接参数 (13)2.2.4创建新的执行队列 (14)2.3JDBC调优 (15)2.3.1调整连接池配置 (15)3性能监控和性能分析 (17)3.1性能瓶颈 (17)3.2操作系统监控 (17)3.3数据库监控 (18)3.4WebLogic监控 (19)3.4.1JVM监控 (19)3.4.2Console监控 (19)4常见问题解决方法 (20)4.1Apache出现连接拒绝 (20)4.1.1现象描述 (20)4.1.2原因分析 (20)4.1.3处理方法 (20)4.2启动Apache提示MaxClients超过服务器最大限制 (21)4.2.1现象描述 (21)4.2.2原因分析 (21)4.2.3处理方法 (21)表目录List of Tables表1 XX表Table 1 XX (21)图目录List of Figures图1 XX图Figure 1 XX (22)WebLogic Server 8.1调优操作指导书关键词Key words:WebLogic Server,调优摘要Abstract:本文介绍了如何进行WebLogic Server 8.1调优缩略语清单List of abbreviations:1 操作系统调优1.1 操作系统调整交换区(swap area)的大小。
Weblogic参数调优
Weblogic参数调优一、调优背景:应银监会总会需求,需对银监会派出机构客户风险监测预警系统进行1轮剔除网络环境的性能测试(在山东试运行阶段的性能测试,由于网络瓶颈较大,造成性能指标较差)。
由于时间紧张,只是匆忙搭建了测试环境,Weblogic、DB2等的参数均是默认设置,并未进行任何调优。
默认设置在系统使用人数不多的情况性能尚可,但当使用人数较多,或者进行大并发的性能测试时,则会显得捉襟见肘。
如:在本次测试过程中,在集团关联处的50并发,就会造成系统崩溃。
如图可见:在集团关联并发50的时候,队列长度已经高达103,空闲线程数已经为0,同时吞吐量极低,由此造成系统崩溃。
通过分析,查找到原因在于:JVM分配内存过少;线程池、连接池里分配的线程数以及容量过低,通过调优后解决了问题二、调优思路:一般来讲,J2EE应用架构环境下的系统调优,首先我们一般会从应用程序出发,去审核代码,做到代码级的优化,然后再调整应用服务器(BEA WebLogic8.1)和数据库(DB2)的参数,最后当然是调整操作系统和网络的性能(包括硬件升级)。
这是一种MDA的先进做法。
诚然,在许多项目中,不可能完全按照这个思路来做,我们把目标首先定位在应用系统所在的应用服务器(BEA WebLogic8.1)上,通过对BEA WebLogic8.1的参数进行设置,使WebLogic8.1能够在最优化的环境中去运行其系统,然后对DB2数据的参数进行优化设置,最后进行性能测试再找出导致性能瓶颈所在的SQL代码或JA V A程序,考量其修改的可行性,并进行最终问题优先级认定,与瓶颈模块进行协商解决性能问题。
当然,大多数时候都出现了性能问题后才想到调优,而且一般都是先进行系统参数调整,实在解决不了才会对代码进行检查。
实际上,我们应当将代码级的调优放在应用设计时来做,测试生产时修改代码将是一件极其痛苦的事情。
而本次测试由于时间紧张,只对Weblogic进行了参数调优,现将调优步骤进行说明:1.JVM调整:(1)首先,在D:\bea\user_projects\domains\mydomain下用编译模式打开startWebLogic.cmd,查找代码:call "%WL_HOME%\common\bin\commEnv.cmd"(windows)或者call "%WL_HOME%\common\bin\commEnv.sh"(linux/aix)找到后,在相应路径用编译模式打开该文件:(2)接着要弄清楚JDK厂商(是bea,还是sun、IBM等)set JA V A_VENDOR=BEA(此处说明应用的为BEA的JDK)(3)之后查找weblgoic运行模式:set PRODUCTION_MODE=默认是开发模式(线程计数默认为15)即为空,在上线时,应将其改为产品模式(线程计数默认为25):set PRODUCTION_MODE=ture(4)然后需修改分配给JVM的内存(默认为96M):因已确定厂商为BEA,运行模式为产品模式,所以找到::beaif "%PRODUCTION_MODE%" == "true" goto bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms1024m -Xmx1024mset JA V A_OPTIONS=%JA V A_OPTIONS% -Xverify:nonegoto continue:bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms1024m -Xmx1024m(此处即为分配给JVM的内存范围)goto continue可根据系统需要,修改分配的内存数注:如为32位的操作系统,则最大支持分配2G内存2.线程池调整:打开Weblogic,在路径:mydomain->服务器->myserver->右键打开“查看执行队列” weblogic.kernel.Default调整如下指标:(1) 线程计数—分配给此队列的线程数,建议值为: 100(2) 线程数增加—在出现溢出时,要添加到队列中的线程数,建议值为: 50(3) 最大线程数—此队列可以拥有的最大线程数。
weblogic优化
1.调整weblogic内存,修改平台域目录下bin文件夹下的setDomainEnv.sh文件,如下:1)若平台域JDK版本为SUN JDK修改内容如下:MEM_ARGS="-Xms1024m –Xmx2048m -XX:MaxPermSize=512m"export MEM_ARGS以下红色字体部分移除:if [ "${JAVA_VENDOR}" = "Sun" ] ; thenMEM_ARGS="${MEM_ARGS} ${MEM_DEV_ARGS} -XX:MaxPermSize=128m"export MEM_ARGSfiif [ "${JAVA_VENDOR}" = "HP" ] ; thenMEM_ARGS="${MEM_ARGS} -XX:MaxPermSize=128m"export MEM_ARGSfi2)若平台域JDK版本为Jrockit修改内容如下:MEM_ARGS="-Xms1024m –Xmx2048m "export MEM_ARGS注:生产环境根据服务器实际内存的大小来调整参数,建议-Xms 不小于1024m –Xmx不小于2048m -XX:MaxPermSize不小于512m。
2.Too many open files的解决办法,修改……/bea/weblogic92/common/bin目录下的commEnv.sh文件,将1024改成32768,修改如下:# limit the number of open file descriptorsresetFd() {if [ ! -n "`uname -s |grep -i cygwin || uname -s |grep -i windows_nt || \uname -s |grep -i HP-UX`" ]thenmaxfiles=`ulimit -H -n`if [ "$?" = "0" -a `expr ${maxfiles} : '[0-9][0-9]*$'` -eq 0 ]; thenulimit -n 32768fifi}3.平台域JDK版本建议使用SUN JDK 1.5.x(64位),更换原有平台域JDK方式如下:编辑平台域目录下bin文件夹下的setDomainEnv.sh文件,将以下红色字体部分替换成JDK安装目录(例如:/home/weblogic/bea/jdk1.5.0_22)JAVA_HOME="${JAVA_HOME}"export JAVA_HOME若JDK原来版本为jrockit,更换成SUN JDK时需要在如下位置添加红色字体部分JAVA_VM="-server"JAVA_VM="${JAVA_VM} ${JAVA_DEBUG} ${JAVA_PROFILE}" export JAVA_VM。
weblogic参数配置和调优
请求超时处理
博客园 用户登录 代码我 登录 第三方登录/注册 没有账户, 立即注册
weblogic参 数 配 置 和 调 优
weblogic的执行线程数配置 判断是否存在线程等待:在WebLogic的控制台的myserver中的Monitoring页面下的Performance页面中,Queue Length是否等于0。 通过config.xml配置文件修改线程数(修改后重启weblogic)。
Weblogic性能调优经验
Weblogic性能调优经验WEBLOGIC性能调优方案1.查看当前线程池大小:登录WEBLOGIC控制台,选择服务器-某服务器-监视-性能,可查看到当前最大线程数量。
由于WEBLOGIC9取消了在页面进行调整线程大小的功能,需要在后台进行修改。
2.修改线程池大小:进入服务器的目录D:\bea\user_projects\domains\base_domain\config,使用编辑器打开config.xml文件,找到如下段落:<server><name>AdminServer</name><listen-address>168.5.130.34</listen-address>z</server>在</server>上面添加如下两行:默认10<self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-siz e-min><self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-siz e-max>添加后的结果:<server><name>AdminServer</name><listen-address>168.5.130.34</listen-address><self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-size-min><self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-size-max></server>按上面的步骤,继续找到ProxyServer,以及所有MANAGE受管机的<server>段落,分别添加上面的两行语句。
WebLogic调优
WebLogic调优以下内容基于Linux OSOSOS需要调整的参数比较少,主要是网络参数、文件打开数限制参数。
调整Linux系统使用sysctl命令修改TCP参数等待时间间隔:sysctl -w ip_ct_tcp_timeout_time_wait=60;调整打开文件的最大数:在/etc/sysctl.conf文件中,添加:Fs.file-max=65535,然后运行sysctl –p;调整打开文件描述符最大数为8192:在/etc/security/limits.conf文件,添加:WebLogic hard nofile 8192(仅针对WebLogic用户),然后在WebLogic启动文件里运行ulimit-n 8192激活设置。
OS全局打开文件数限制:修改 /etc/sysctl.conf,增加fs.file-max = XXXX,不同版本OS有不同的限制,在数据库服务器或应用服务器中必须调大。
如何查看一个进程已打开文件数:Lsof -p pid 查看进程打开文件,列出每个文件Lsof -u XXX 查看用户打开文件个数lsof -p pid| wc -l计算进程打开文件个数(wc 计算行数 -l或字数 -w、字符数-m或字节数-c)JDKJDK参数一般分成以下几类:●堆设置-Xms -Xmx (SUN设置HEAP的初始与最大值,IBM JDK 建议不相同)SUN JDK专用-XX:MaxPermSize=256m ,持久代大小(CLASS元数据存储区,不会被GC),此值默认比较小(4M),需要调大,否则抛ng.OutOfMemoryError: PermGenspace。
尤其对JSP、动态编译类较多的系统。
IBM JDK没有MaxPermSize参数,这个区域就在HEAP底部。
●GC设置SUN JDK-XX:+UseParallelGC或-XX:+UseParallelOldGC,利用所有可用CPU进行并行GC,大吞吐量,PAUSE较长-XX:+UseConcMarkSweepGC,并发GC,后台Thread,可以减少Pause时间,但Thread本身有开销而降低吞吐量IBM JDK 见下表●GC统计信息设置-verbose:gc 打印GC过程,时间等●并发收集器设置SUN JDK-XX:ParallelGCThreads=N ,并发GC的线程数,一般与CPU个数相同。
weblogic 性能调优
�
建议值:200
b) 设定执行队列的溢出条件;
通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> Execute Queue > weblogic.kernel.Defalt > 配置下面几项:
队列长度:此值表示执行队列中可容纳的最大请求数,默认值是65536,不要手动改变此值。
通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)>配置 > 调整下可配置“接受预备连接”。
5、减少动态jsp载入次数
通过启动管理控制台,在域(如:mydomain)> 部署 >web应用程序模块 > 配置 > 描述符 > 下可配置
Servlet 重新加载检查(秒): 180
weblogic 性能调优:
1、找到startWebLogic.cmd文件,在
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% =%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server
3、调优执行队列线程;
a) 修改默认执行线程数
通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> 监视 > 性能中监控最大负载时执行队列的吞吐量和队列中的等待请求数,据此确定理想的数值。
Weblogic应用层优化调试设置
社区Weblogic应用层优化调试设置
以Weblogic为中间件的社区应用层,有以下性能优化设置供参考。
1、设置为生产模式,增大连接数据
进入weblogic console 点击左边对应的域名,勾选右边的生产模式。
2、Weblogic登录超时时间
进入weblogic console界面,点击左边对应的域名,再点击监视,再点击服务器/子系统名称AdminServer ,再点击调整,可以看到如下图。
3、设置weblogic 占用的内存值
进入weblogic安装域名目录所在的bin文件夹,修改setDomainEnv.sh 文件根据物理机的实际情况设置内存值
4、设置应用服务数据库连接数据
打开应用程序xp-app 的jdbc数据连接文件
根据oracle实际连接数修改jdbc连接数
Oracle连接数据查看show parameter processes;
5、不限制事务数量
修改服务的事务处理数量限制,修改xp-app应用服务的jta.properties
超出默认的50会报错误
Caused by: ng.IllegalStateException: Max number of active transactions reached:50
6、优化程序代码
在weblogic安装域目录下的log日志可以看到严重超时方法。
weblogic调优
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
-Ddefault.client.encoding=GBK -Dfile.encoding=GBK nguage=Zh -Duser.region=CN
修改应用程序服务器->进程定义->JVM虚拟机
设置最大最小内存,并的用户数量,进行设置,
数据库的最大连接数不能小于高峰时期同一时间连接用户的数量。
(1)weblogic
Services->jdbc-->Connection Pools-->centerconn-->connections
(2)websphere
修改应用程序服务器->进程定义->JVM虚拟机->一般自变量定义
添加-Ddefault.client.encoding=GBK -Dfile.encoding=GBK nguage=Zh -Duser.region=CN
二、内存调优
通过分析运行日志,在中间件服务器运行时,可找到管理信息->日志分析
一、中文问题
如果操作系统不支持中文,应首先使操作系统支持中文。
附录中提供为Aix安装中文补丁包的步骤,其他操作系统请参照相关资料。
(1)weblogic
修改startweblogic.sh(startweblogic.cmd)中启动server的命令,重新设置虚拟机参数
添加-Ddefault.client.encoding=GBK -Dfile.encoding=GBK nguage=Zh -Duser.region=CN
最大使用内存:对于UNIX而言,一般不应超过物理内存的75%;
WebLogic Server 性能及调优-调整资源适配器调优
WebLogic Server 性能及调优-调整资源适配器调优WebLogic Server 性能及调整-调整资源适配器本附录向资源适配器开发人员介绍了一些最佳实践。
? 资源适配器的类加载优化 ? 连接优化 ? 线程管理? InteractionSpec 接口资源适配器的类加载优化可以将资源适配器类打包到一个或多个 JAR 文件中,然后将 JAR 文件放置到 RAR文件中。
这些文件称为嵌套的 JAR 文件。
当在 RAR 文件中嵌套 JAR 文件并需要通过类加载器加载类时,则必须要针对每个必须加载的类打开、关闭和迭代 RAR 文件中的 JAR。
如果 RAR 文件中的 JAR 数量很少且相对较小,则不会对性能产生太大的影响。
另一方面,如果有很多 JAR 文件,而且 JAR 很大,则会对性能造成较大的影响。
为了避免出现这些性能问题,可以执行下列操作之一:? 以展开格式部署资源适配器。
这可以消除 JAR 嵌套,因此可以减少在查找类时引起的性能下降。
? 如果不可以选择以展开格式部署资源适配器,则可以在 RAR 文件中展开 JAR。
这样同样取消了 JAR 的嵌套形式,并因此显著提高了类加载的性能。
连接优化BEA 建议资源适配器实现 J2CA 1.5 Specification 的 7.14.2 和 7.14.2 两部分描述的可选增强功能。
通过实现这些接口,WebLogic Server 可以提供若干只有依靠这些接口才可以使用的功能。
通过 7.14.1 一节中描述的 Lazy Connection Association,服务器能够自动清除未使用的连接,并防止应用程序独占资源。
通过 7.14.2 一节中描述的 Lazy Transaction Enlistment,应用程序能够在打开连接之后启动事务。
线程管理资源适配器实现应使用 WorkManager(如 J2CA 1.5 Specification 中的“Work Management”所述)启动需要在新线程中运行的操作,而不是直接新建线程。
WebLogic调优与监控(包含weblogic11g
• Detects and finds the cause for memory leaks
The main focus of JRockit Mission Control is to do the necessary instrumentation with the lowest possible impact on the system.
Multipool(WebLogic 8.1) 多数据源(WebLogic 9.2)
20
Sun HotSpot-JConsole
JConsole is a JMX-compliant GUI tool that connects to a running JVM, which is started with the management agent.
21
…JConsole…
The management agent in the JVM should be started for monitoring.
It can only connect to one JVM at any time.
To use JConsole for connecting to a JVM locally, WebLogic Server should be tsootpaetrintoeandblwe itthhetmheanagement agent.
/technetwork/middleware/jrockit/overview/i ndex.html
25
BEA JRockit Mission Control
BEA JRockit ships with BEA JRockit Mission Control. These are a group of independent management and
WebLogic Server 性能及调优-数据库调优
WebLogic Server 性能及调整-数据库调整数据库可能是主要的企业级瓶颈。
通过按本部分及所使用数据库的产品文档中的调整准则进行调整,可对数据库进行配置以获得优化性能。
▪常规建议▪数据库特定的调整常规建议本部分提供常规数据库调整建议:▪良好的数据库设计- 将数据库工作负荷由多个磁盘分担,以避免或减少磁盘超载。
良好的设计还包括及对表、索引和日志的适当的大小设置与合理组织。
▪磁盘I/O 优化- Disk I/O 优化与吞吐量和可伸缩性有直接关系。
即使是访问最快的磁盘,也要比访问内存慢几个数量级。
只要有可能就要优化磁盘访问次数。
一般而言,选择较大的I/O 块/缓冲区大小可以减少磁盘访问次数,还可以显著增加重载生产环境中的吞吐量。
▪检查点操作- 此机制可以将所有脏缓存数据定期刷新到磁盘中,这会在检查点期间增加I/O 活动和系统资源使用率。
虽然频繁的检查点操作可以提高磁盘中数据的一致性,但也会降低数据库性能。
大多数数据库系统都有检查点操作功能,但并非所有数据库系统都支持用户级控制。
例如,管理员通过Oracle 可以设置检查点频率,但用户却无法控制SQLServer 7.x 检查点。
有关推荐设置,请参阅所使用的数据库的产品文档。
▪通过将多项操作集中到一个批处理中和/或增加并行执行的操作(增加并发操作)的数量,有时可以显著降低磁盘开销和数据库开销。
示例:∙增加消息传递桥BatchSize或存储转发WindowSize的值可以提高性能,因为较大的批处理大小可以减少I/O 数,但会增大I/O 量。
∙以编程方式利用JDBC 的批处理API。
∙使用MDB 事务批处理功能。
请参阅调整消息驱动Bean。
∙通过增加max-beans-in-free-pool和MDB 线程缓冲池大小(如果可以利用批处理则将其减小)增加并发。
数据库特定的调整以下部分提供Oracle、SQL Server 和Sybase 的基本调整建议:▪Oracle▪Microsoft SQL Server▪Sybase注应始终检查数据库特定的供应商文档中的调整准则。
WebLogic调优参数配置
WebLogic调优参数配置WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。
基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。
试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态:一. 修改运行队列线程数的值。
在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。
当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。
线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。
二. 如果可能,使用自带的性能包(NativeIOEnabled=true)。
三. 使用特定的应用程序执行队列。
四. 使用JDBC连接池时,修改下列属性:●驱动名称:使用小的驱动或者jDriver。
●初始容量:设为与最大容量相同的值。
●最大容量:其值至少应与线程数相同。
五. 把连接池的大小设为与执行队列的线程数相同。
六. 设置缓冲。
七. 为Servlet和JSP使用多个执行队列。
八. 改变JSP默认的Java编译器,javac 比jikes或sj要慢。
提要:为 WebLogic 启动设置 Java 参数。
设置与性能有关的配置参数。
调整开发与产品模式默认值。
使用WebLogic “自有的IO ”性能包。
优化默认执行队列线程。
优化连接缓存。
如何提高 JDBC 连接池的性能。
设置 Java 编译器。
使用 WebLogic 集群提高性能。
监视 WebLogic 域。
一、为 WebLogic 启动设置 Java 参数只要启动 WebLogic ,就必须指定 Java 参数,简单来说,通过 WebLogic.Server 域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错, BEA 公司推荐你把这个命令写进脚本里。
为了简化这个过程,你可以修改样例脚本里的默认值,样例脚本是提供 WebLogic 启动服务器的。
linux中的weblogic性能调优
Linux中的Weblogic性能测试调整一.操作系统参数调整1.linux TCP连接数调整通过命令:ulimit –n 查看当前最大TCP连接数,这表示当前用户的每个进程最多允许同时打开多少个文件。
一般系统默认为1024,在并发量大的情况下肯定不够用。
修改此限制的最简单办法:ulimit –n <file_num> 设置单一进程允许打开的最大文件数。
如果系统回显类似于“Operation not permitted”之类的话,说明修改失败,需要修改系统对该用户打开文件数的软限制或硬限制。
修改软限制或硬限制:修改/etc/security/limits.conf文件,在文件中添加如下行:* soft nofile 10240* hard nofile 10240表示修改所有用户的限制,也可以用指定用户名替代。
修改/etc/pam.d/login文件,在文件中添加如下行:session required /lib/security/pam_limits.so查看Linux系统级的最大打开文件数限制:cat /proc/sys/fs/file-max2.修改网络内核对TCP连接的有关限制端口范围:修改/etc/sysctl.conf文件,在文件中添加如下行:net.ipv4.ip_local_port_range = 1024 65535另外,有时无法建立TCP连接的原因可能是因为Linux网络内核的IP_TABLE防火墙对最大跟踪的TCP连接数有限制修改/etc/sysctl.conf文件,在文件中添加如下行:net.ipv4.ip_conntrack_max = 10240这表明将系统对最大跟踪的TCP连接数限制设置为10240。
请注意,此限制值要尽量小,以节省对内核内存的占用。
3.其他参数调整在/etc/sysctl.conf文件中增加如下参数,进行系统参数调整net.core.rmem_default=128388607 默认的TCP数据接收缓冲net.core.wmem_default=128388607 默认的TCP数据发送缓冲net.core.rmem_max=128388607net.core.wmem_max=128388607net.ipv4.tcp_rmem=8196 128388607 128388607 最小默认最大net.ipv4.tcp_wmem=8196 128388607 128388607net.ipv4.tcp_keepalive_time=1800tcp_keepalive_time 值控制TCP/IP 尝试验证空闲连接是否完好的频率。
weblogic调优(实用)
Execute Queue: Thread Count 15 threads 25 threads
JDBC Connection Pool: MaxCapacity 15 connnections 25 connections
通过启动管理控制台,在域(如:mydomain)> 配置 > 常规选择产品模式。
修改jdbc数据库连接池,修改为初始15,最大100。
5、WebLogic性能优化——线程数
线程数Thread Count
weblogic服务在接收到请求后,会交给后台的线程来处理,线程数决定了并发处理能力的大小。
WebLogic性能优化——线程数
修改了thread count的值后,要点击“应用(Apply)”按钮,并重启服务后,参数才能生效。
默认15,一般以服务器的CPU个数为基准,每个CPU可负担25个线程,最好不要超过50个
进入WebLogic控制台——左边窗口的mydomain——servers——点击myserver——Configuration——General(常规)——点击Advanced Options(高级选项 )的Show(显示)链接——
最下面的Configure Execute Queues(配置执行队列) 链接——weblogic.kernel.Default链接——Thread Count(线程计数)参数。的确是隐藏的比较深。修改Thread Count的值,
然后重启WebLogic就可以生效了。
6、License
主要检查4项:cpu、expiratioin、ip、units。
进入WebLogic控制台——左边窗口的mydomain——servers——点击myserver——Configuration/Tuning
优化weblogic12
优化weblogic12Weblogic优化配置与问题排查一weblogic优化配置1节点启动优化在节点启动的脚本中增加以下语句,如start***Server.sh启动脚本1 export USER_MEM_ARGS="-Xms2048m -Xmx2048m -XX:MaxPermSize=1024m"2 export JAVA_OPTIONS="$JAVA_OPTIONS -Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=200"以上两个语句的作用是增加weblogic的内存与最大线程数。
2 问题排查1 数据库连接数占满问题排查,数据库连接一般会占用一段时间后主动释放,如果较长时间没有释放连接,会导致连接数挂满。
在weblogic上可以做如下配置,如果数据库连接超过多少秒没有释放,则会打印日志到文件中。
点击“服务”->数据源->点击jndi名称,点击“连接池”->“高级”点击“锁定并编辑”“连接保留超时”,设置为N秒,点击保存->激活更改,如果超过N秒数据库连接将被weblogic主动释放,然后点击“诊断”把概要文件连接泄漏打上对勾。
保存并激活更改。
此时如果出现数据库连接超时未释放的问题,weblogic 会把日志打印到节点的日志中。
2 部署的应用修改没有生效的问题此问题一般由weblogic缓存问题引起,可以在weblogic控制台,先停止web应用,点击锁定并编辑,删除应用,然后点击“服务器”->“控制”->“关闭”关闭相应的节点,然后在domains目录下执行find . -name webApp* -print命令,其中webApp是你的war 包名字(后面不用带.war),找到对应的目录执行rm -rf 打印出的路径,删除之后重新部署。
weblogic优化设置调优参数及监控指标
优化设置Weblogic服务程序设置:1、设置JDK内存:修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd文件:修改前:if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m) else (set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=48mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m修改后:if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms512m –Xmx1024m) else (set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms1024m –Xmx1024m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=128mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m说明:红色字体为修改的内容,具体修改值根据实际物理内存确定•-Xmx3550m:设置JVM最大堆内存为3550M。
•-Xms3550m:设置JVM初始堆内存为3550M。
此值可以设置与-Xmx相同,以避免每次JVM动态分配内存所浪费的时间。
weblogic数据源优化调整记录
一:解决数据源一段时间后不可用问题前的观察和分析:1.1.开始时连接池各项属性的配置信息:要在创建连接池时创建的物理连接数。
更多信息…此连接池可容纳的最大物理连接数。
更多信息…将新连接添加到连接池时创建的连接数。
更多信息…用于维护存储在语句高速缓存中的预定义语句的算法。
更多信息…存储在高速缓存中的预定义语句和可调用语句的数量。
(这样可能会提高服务器性能。
)更多信息…高级使WebLogic Server 能够在将连接提保留时测试连接供给客户机之前对连接进行测试。
(要求指定“测试表名称”。
)更多信息…WebLogic Server对未用连接进行测试土测试物理数据库连接时使用的数据库表名。
指定“测试频率”和启用“测试保留的连接数”时需要此名称更多信测试频率:的间隔秒数。
(要求指定“测试表名120称”。
)未通过测试的连接将被关闭,然后将它们重新打开以重新建立有效的物理连接。
如果测试再次失败,则此连接将被关闭。
更多信息…测试表名称:SQL SELECT 1 FROM DUAL在将连接传送到应用程序之前或定期连接测试过程期间,WebLogic Server相信连接仍然有效并将跳过连接测试时使用连接的秒数。
更多信息…在收缩为满足需要而增大了的连接池前需等待的秒数。
更多信息…初始化SQL:要执行用于初始化新建物理数据库连接的SQL语句。
以SQL后跟一个空格作为语句的开头。
更多信息…建立数据库连接尝试的间隔秒数。
更多信息…创建每个物理数据库连接前的延迟秒数。
此延迟支持不能快速连续处理多个连接请求的数据库服务器。
更多信非活动连接超时保留连接处于不活动状态的秒数,该时间过后WebLogic Server 将收回该连接并将其释放回连接池。
更多信等待保留数据源的连接池中的连接时会阻塞线程的最大并发连接请求数。
更多信息…保留连接池中的连接的调用超时之前经过的秒数。
更多信息…连接池配置信息重要修改点:60个可用的数据库链1.调整此参数是为了提升数据源的性能,在数据源创建之初,直接创建接,以防止在oracle服务器端在一个数据库实例zmddb下,默认提供最大150个数据库链接可供使用,而由于在同一个zmddb数据库实例下,我们有两个用户zmdswoa和zmdswbgscms也就是说假如zmdswbgscms应用程序使用了140个数据库链接,并且没有得到合理的释放,那么zmdswoa应用程序所使用的数据源中即使配置了60个最大容量的数据库链接,但是,初始容量为1,那么也就是需要时才创建新的数据库链接放入数据源的池中,那么如果oracle 服务端,已经没有可用的数据库连接了,zmdswoa对应的数据源将无法创建可用链接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[计算机]weblogic数据源优化调整记录首先,在解决一段时间后数据源不可用的问题之前进行观察和分析:1.1.开始时连接池每个属性的配置信息:初始容量:创建连接池时要创建的物理连接数。
更多信息.最大容量:此连接池可以容纳的最大物理连接数。
更多信息.容量增长:向连接池中添加新连接时创建的连接数。
更多信息.语句缓存类型:一种用于维护存储在语句缓存中的预定义语句的算法。
更多信息.语句缓存大小:存储在缓存中的预定义语句和可调用语句的数量。
(这可能会提高服务器性能。
)更多信息.先进的测试挂起的连接使WebLogic Server能够在将连接提供给客户端之前对其进行测试。
(测试表名称是必需的)。
)更多信息.测试频率:WebLogic服务器测试未使用的连接之间的秒数。
(测试表名称是必需的)。
)测试失败的连接将被关闭,然后重新打开以重新建立有效的物理连接。
如果测试再次失败,连接将被关闭。
更多信息.测试表名称:测试物理数据库连接时使用的数据库表的名称。
当指定测试频率和启用测试保留连接时,此名称是必需的。
更多信息.信任空闲池连接的秒数:当WebLogic Server认为连接仍然有效,并在将连接传输到应用程序之前或在常规连接测试过程中跳过连接测试时,它将使用连接的秒数。
更多信息.收缩频率:缩小连接池之前等待的秒数增加以满足需要。
更多信息.初始化执行用来初始化新的物理数据库连接的语句。
语句以SQL开头,后跟一个空格。
更多信息.您多久重试创建一次连接:尝试建立数据库连接之间的秒数。
更多信息.登录延迟:创建每个物理数据库连接之前延迟的秒数。
这种延迟支持无法快速连续处理多个连接请求的数据库服务器。
更多信息.非活动连接超时:保留连接处于非活动状态的秒数,在此之后,WebLogic Server 将回收该连接并将其释放回连接池。
更多信息.等待连接的最大数量:等待包含数据源的连接池中的连接时阻塞线程的最大并发连接请求数。
更多信息.连接保留超时:在连接池中保留连接的调用超时之前经过的秒数。
更多信息.语句超时:连接池配置信息的重要修改点:1.初始容量:最大容量:容量增长:调整此参数以提高数据源的性能。
在数据源创建之初,直接创建60个可用的数据库链接,以防止oracle服务器在一个数据库实例zmddb下默认提供最多150个数据库链接。
然而,在同一个zmddb数据库实例下,我们有两个用户zmdswoa和zmdswbgscms。
也就是说,如果zmdswbgscms应用程序使用140个数据库链接并且没有被合理地释放,那么即使zmdswoa应用程序使用的数据源中配置了60个具有最大容量的数据库链接,但是初始容量是1,那么在必要时将创建新的数据库链接并将其放入数据源池中。
如果oracle服务器没有可用的数据库连接,则对应于zmdswoa的数据源将无法创建可用的链接。
因此,初始容量和最大容量根据zmdswoa的实际情况直接设置为60,在开始创建数据源时占用60个数据源,从而最大限度地保证zmdswoa应用程序中数据库链接的可用链接数,防止同一zmdbdatabase实例下其他用户zmdswbgscms的可用数据库链接竞争。
至于容量增长:从1到5的调整是为了增加并发性,因为在创建数据库链接时有一定的延迟。
如果增加这个数目,在并发的情况下,获得数据库连接的可靠性和速度将会提高,并且获得更好的性能。
1.您多久重试创建一次连接:调整此参数,以便在自动加载或维护连接池时,如果在某个时间段内连续重新创建正确的可用数据库链接,则连接创建的超时时间限制为30秒,即在30秒内,将连续尝试创建正确的可用链接。
2.连接保留超时:此参数被调整为在并发情况下,如果在特定时间段内无法获得数据库链接,则暂时等待,而不是直接返回NullPointerException。
保持连接池中的连接的调用超时前经过的秒数设置为30秒,即在请求链接后的30秒内,调用方将继续尝试从数据源返回正确可用的数据库链接,直到它正确返回,否则,它将继续保持30秒。
3.非活动连接超时:保持连接不活动的秒数,在此之后,WebLogic Server将回收连接并将其释放回连接池,这有助于更合理地调度数据库链接资源,并增加数据源中可用数据库链接的数量,以确保数据源在特定时间段内具有更大的服务能力和并发性。
显示100秒的时间限制后,不活动的数据库链接会自动回收到数据源,从而降低数据库链接泄漏和不可用的数据库链接的可能性。
1.2.在部署界面中,监控JDBC数据: 从这个接口,最大的数据库使用,并发性,和健康(泄漏链接计数,可用数量,不可用数量,等等。
)的应用程序,并可以观察每个数据源的当前情况。
通过该界面,您可以在weblogic中监控服务器实例管理服务器的服务状态,如一般信息、运行状况、通道、性能、线程、计时器、工作负载、安全性、默认存储、JMS、SAF、JDBC、JTA等。
我们需要注意的是一般信息、健康状况、表现、线索、JDBC等。
特殊说明:(1)没有修改的WebLogic的默认可执行线程数是15;(2)默认数据源的最大容量为15,初始容量为1,未经修改的WebLogic数据源的容量增长为1.1.3以zmdswoa身份登录数据库客户端,并观察当前会话:表示由oracle服务器端生成的数据库连接的唯一标识符的样本号可以按样本号排序,以查看数据库链接的当前使用情况,因为oracle 的样本号是从1分配的。
用户名,代表连接数据库实例的zmddb的用户名,可以用来判断连接数据库和数据库的每个应用程序的当前使用情况。
1.4修改可执行线程的数量:d: \ BEA 11g \用户_项目\域\ Base _域\ Bin SetDomainev .cmd;调整规则:在JDK5.0之后,每个线程的堆栈大小为1M,但是操作系统仍然对进程中的线程数量有限制,并且不能无限期地生成它。
32位操作系统是根据JVM的最大堆内存设置的。
64位操作系统的经验值约为3000~5000。
重要代码片段:setJA V A _OPTIONS =-Dweblogic .thread pool .MinPoolSize = 50-Dweblogic .thread pool .MaxPoolSize = 501.5修改weblogic Server运行时可用内存使用量和静态堆栈内存使用量:调整规则,32位操作系统,一般不超过2G。
重要代码片段:如果“% JA V A _供应商%”= =“sun”(set WLS _MEM _ARGS _64 bit =-xms 1024m-xmx 1024 msetwls _MEM _ARGS _32 bit =-xms 1024m-xmx 1024m)否则(set WLS _MEM _ARGS _64 BIT =-xms 1024m-xms 1024m set WLS _MEM _ARGS = 2 set mem _max _perm _size _64 bit =-xx:max perm size = 256 ms tmem _max _perm _size _32 bit =-xx:max perm size = 256 m1 .6 from Bea产品工具中启用的节点管理器,即节点管理器,是weblogic在安装weblogic时选择安装的一个WebLogic独立工具。
它将自动监控管理服务器的运行状况,并自动决定是否重新启动。
这样,它可以监控服务器相关内容的健康状态,并在异常时自动重启。
1.7数据源的名称不能与应用程序的名称相同,否则经过一段时间后,数据源对象会自动异常甚至自动销毁(这可能是一个weblogic bug,只能尽量避免);其次,在调整和优化各种参数后,重启weblogic server,从weblogic控制台进行监控,观察调整后的变化,检查各种数据值,并确认修改成功:2 .1。
应用程序并发能力得到增强,这可以从会话、最大会话数和总会话数中看出。
2.2.修改setDomainev .cmd文件后,可执行线程的数量增加到50,提高了多线程处理能力。
当然,它也需要更多的服务器内存,所以有必要调整服务器的可用内存。
2.3调整服务器的可用内存后,监控服务器的性能指标有所提高。
2.4调整数据源配置后,数据源性能指标明显提高,数据库链接的稳定性和正确性明显提高。
三。
与应用程序相关的数据库链接问题要点摘要:1.在weblogic中配置数据源时,数据源的名称不能与应用程序的名称相同。
例如,如果应用程序的名称是zmdswoa,那么数据源的名称最好是jdbc-zmdswoa,而不是zmdswoa。
如果名称重复,weblogic server将在加载和创建数据源对象时造成混乱。
在某些时候,它会导致数据源对象被莫名其妙地破坏,从而无法获得数据库链接,并且数据源对象不会被自动修复,直到下次重新启动weblogic server。
因此,当请求数据库连接时,应用程序中会出现NullPointerException异常。
修改所有数据源的名称,并以jdbc作为前缀,以使它们不重复应用程序名称zmdswoa和zmdswbgscms,从而减少在weblogic中出现错误的可能性。
2.在办公系统zmdswoa中,zmdswbgscms应用程序中的滚动图片jsp页面被渗透。
此外,由于代码错误,页面代码本应加载服务器静态图片,但每次都需要从数据库中再次查询BLOB二进制流文件,导致严重的数据库链接占用和消耗。
事实上,两个应用程序ZDWBGSCMS和zmdswoa位于同一个zmddb数据库实例下,并且由于ZDWBGSCMS应用程序占用了大量的数据库链接(默认情况下,一个数据库实例下的oracle服务器最多只能有150个数据库链接),如果ZDWBGSCMS应用程序占用了大量的数据库链接,则对应于zmdswoa应用程序的数据源在一段时间后甚至无法获得任何可用的链接。
对zmdswbgscms应用程序中的滚动图片读取程序进行了修改,使其在平面内,尽可能缩短数据库链接时间。
4.特别是对于首页上的程序,应该进行适当的SQL代码优化。
最明显的优化点,如(1)修改所有选择*位置,只选择所需的列,将减少许多数据库链接占用的时间;(2)对于数据量大的表,尽可能优化SQL 语句,使用更少耗时的语法如Like、in、not in,使用更高效合理的语法实现数据查询。
主要针对jsp页面相关的应用主页,进行全面的检查和修改、优化。