- 浏览: 3469882 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wanglf1207:
EJB的确是个不错的产品,只是因为用起来有点门槛,招来太多人吐 ...
weblogic-ejb-jar.xml的元素解析 -
qwfys200:
总结的不错。
Spring Web Flow 2.0 入门 -
u011577913:
u011577913 写道也能给我发一份翻译文档? 邮件437 ...
Hazelcast 参考文档-4 -
u011577913:
也能给我发一份翻译文档?
Hazelcast 参考文档-4 -
songzj001:
DbUnit入门实战
glassfish:Indexing and Search Service Performance Tuning
- 博客分类:
- Java
Topics:
Bootstrapping Users
During the bootstrap process (indexSvcBootstrap.sh), frequent access to the dIndex might cause some performance issues, resulting in slow creation of accounts. To reduce some of the overhead on dIndex, increase the value of the following jiss.conf parameter:
# optimizeinterval: number of dIndex writes before optimize is done iss.store.account.optimizeinterval=5000
Higher values cause less frequent optimization of the dIndex, reducing overhead while bootstrapping.
You can also increase the value of the following parameter to 5:
# optimizelevel: default level of optimize (number of segments left) iss.store.account.optimizelevel=1
Check the iss-indexsvc.log to see how frequently the dIndex is being optimized, and how long it is taking. You should see a log entry similar to the following one:
INFO: SharedWriter.close: optimizing index:/dIndex Time: 123ms
Restful Web Services Searches
Depending on the incoming search rate, you can modify the following parameter in the jiss.conf file to accommodate a higher search rate:
# Size of proxy connection pool in restful web services iss.rest.proxypool.size=512
The default is currently set to 512. As this value is larger than 100, you need to make sure that the following parameter is added to the IMQ broker config.properties file, if it doesn't already exist:
imq.autocreate.destination.maxNumProducers=-1
Otherwise, Restful Web Services fail with the following error message:
Could not create connection and producer com.sun.messaging.jms.JMSException: \[ADD_PRODUCER_REPLY(19)\] \[C4036\]: A broker error occurred. :\[409\] \[B4183\]: Producer can not be added to destination SearchTopic \[Topic\], limit of 100 producers would be exceeded
Also, once this value goes above 500, the following parameter also needs to increase to accommodate more than 2 * 500 threads in IMQ broker:
imq.jms.max_threads=2000
Setting Up Large Deployments
For any large deployment, using the indexSvcBootstrap.sh command to assign accounts randomly to groups is not the best approach, both for performance and for data management reasons. Instead, you should pre-allocate accounts by using the issadmin.sh --createaccount command, in conjunction with the --accountlist acctfile option, which contains the desired mapping of accounts to groups. Using this approach minimizes the contention between accounts in the dIndex. Using this method, it is possible to cut the bootstrap time of 20,000 accounts by over 15 percent.
Tuning Restful Web Services
This section contains the following topics:
Note This information was gathered as part of testing on CMT platforms. |
Application Server domain.xml File
All configuration changes were applied directly to the main Application Server configuration file, domain.xml. If necessary, the Application Server administrative interface can be used. This configuration file is located in the $INSTALL/domains/domain1/config directory.
Application Server modifications are based on the recommendations from the Application Server Performance Tuning Guide and Scott Oak's blog.
http-listener
This the http-listener entry that is used to accept search requests from the imapd process.
<http-listener acceptor-threads="64" address="10.5.185.213" blocking-enabled="false" default-virtual-server="server" enabled="true" family="inet" id="http-listener-1" port="8070" security-enabled="false" server-name="r54s29-02.red.iplanet.com" xpowered-by="true"> </http-listener>
The acceptor thread value was set to 64 to match the number of virtual processors available. The IP address was added to indicate which network interface is dedicated to ISS web service requests.
request-processing
This entry determines how http requests are processed by the Application Server.
<request-processing header-buffer-length-in-bytes="8192" initial-thread-count="32" request-timeout-in-seconds="30" thread-count="128" thread-increment="8"/>
The initial-thread-count, thread-count, and thread-increment settings are modified to make more efficient use of the 64 virtual processors available on a Sun SPARC Enterprise T5220.
keep-alive Connections
The following keep-alive setting is used. Keep alive connections enable connection re-use, saving resources that would be required to open and close a socket connection for every HTTP request that is received.
<keep-alive max-connections="4096" thread-count="64" timeout-in-seconds="30"/>
The thread count is modified to make more efficient use of the 64 virtual processors available on a Sun SPARC Enterprise T5220.
JVM Options
The following JVM options are added based on advice given in the Scott Oaks blog entry for the Sun SPARC Enterprise T5220 platform :
<jvm-options>-server</jvm-options> <jvm-options>-d64</jvm-options> <jvm-options>-XX:LargePageSizeInBytes=256m</jvm-options> <jvm-options>-Xms5120m</jvm-options> <jvm-options>-Xmx5120m</jvm-options> <jvm-options>-Xmn1g</jvm-options> <jvm-options>-XX:+UseParallelGC</jvm-option> <jvm-options>-XX:+UseParallelOldGC</jvm-options> <jvm-options>-XX:ParallelGCThreads=16</jvm-options> <jvm-options>-XX:+AggressiveOpts</jvm-options>
Access Logging
Access logging, which can be disk intensive, is disabled by setting this entry:
<property name="accessLoggingEnabled" value="false"/>
JMQ Broker config.properties File
Non-default configuration settings are added to the bottom of the /var/imq/instances/imqbroker/props/config.properties file.
Java Message Service Threads
Increasing the jms.max_threads used by the ISS jmqbroker enables greater number of requests to be processed in any given time interval. The default is 1000, but this has been determined to be too small a number of threads for this jmqbroker. The jmqbroker handles both indexing and search requests, unlike the jmqbroker used by the Messaging Server's JMQ notification plugin, which handles only indexing requests.
imq.jms.max_threads=2000
Maximum Number of Producers
The default number of message producers that can be created by the jmqbroker is 100. This value is too low to handle the amount of messages that are typically generated by an active Messaging Server deployment supporting more than 10,000 active users. Disabling the setting allows an unlimited number of producers to be created to handle the load.
imq.autocreate.destination.maxNumProducers=-1
JVM Options
In the file /etc/imq/imqbrokerd.conf, the jvm options are specified:
ARGS=-javahome /usr/jdk/latest -vmargs -d64 -vmargs -Xms4096m -vmargs -Xmx4096m
Allows use of the 64 bit jvm and reserves 4 GB of memory for the jmq broker. Current scalability test runs have the messaging server and the iss jmq broker use a bit more or less than 1.5 GB of jvm heap.
发表评论
-
字符串分割--java中String.split()用法
2013-03-06 14:25 74090在java.lang包中有String.sp ... -
用 HttpServletResponseWrapper 实现 Etag 过滤器
2012-07-09 16:58 3699原文出处:http://blog.chenlb.com/200 ... -
Fitnesse使用
2012-05-05 13:27 23417Fitnesse 的使用 一,介绍 Fitnesse是一种 ... -
Customizing the new FitNesse parser
2012-05-05 13:13 2087FitNesse began its life using ... -
java application中内嵌ActiveX控件
2011-11-14 15:57 5466我这里用的是SWT/JFace开发application,SW ... -
Google Java Developer Tools Downloads
2011-08-09 00:04 2303WindowBuilder Pro原来叫WindowB ... -
Jalita
2011-08-06 00:49 1515Jalita (Java light terminal ada ... -
【转】用Java写字符终端界面
2011-07-29 13:13 2075终端界面GUI开源项目charva。 这个框架让你可以用开发 ... -
[转]mybatis下的分页,支持所有的数据库
2011-07-21 13:21 14783大 家都知道,mybatis的自带分页方法只是逻 ... -
Java framework for text- & console-based forms?
2011-07-21 01:06 1667charva jcurses JNA , ... -
JNA(Java Native Access)学习入门
2011-07-21 01:04 22510Java Native Access 项目 在 ... -
JAVA上加密算法的实现用例
2011-06-25 12:38 4834来源:www.ibm.com ... -
如何将GlassFish作为Windows服务运行
2011-05-18 23:21 2313本文档来自GlassFish官方网站,详细介绍了将 G ... -
JAVA UDP打洞必备知识点---NAT
2011-05-05 12:56 8601一、引言 RFCl631 ... -
Keystore概念,Keytool工具使用
2011-04-28 16:20 2860近来由于项目需要做Single Sign On, 研究了一 ... -
利用Eclipse Profile Plugin监控分析Tomcat性能
2011-04-18 16:14 3666目前新版本的Eclipse在启动应用服务器的时候有一个新的选 ... -
m2eclipse: Eclipse is running in a JRE, but a JDK is required
2011-02-04 23:43 2506Eclipse 安装了Maven插件,启动Eclipse ... -
利用JNative实现Java调用动态库
2010-10-18 00:43 2056由于项目要求,需要用J ... -
RHEL5支持大内存
2010-10-08 16:19 2947安装 RHEL 5 ,硬件为 4G 内存,安装完成 ... -
Windows Server 2003 和 Windows 2000 提供大内存支持
2010-10-08 16:19 1812本文介绍物理地址扩展 ...
相关推荐
Sun glassfish Performance Tuning Guide
sun-web.xml 博文链接:https://huiy.iteye.com/blog/2042936
Eclipse GlassFish 关于 Eclipse GlassFish是Eclipse基金会赞助的与。 Eclipse GlassFish 5.1也与Java EE 8兼容。 建筑 先决条件: JDK8 + Maven 3.0.3+ 当前在master分支中,工件正在从OSSRH暂存中拉出。 运行...
glassfish食谱将安装和配置GlassFish应用程序服务器以及与GlassFish应用程序服务器捆绑在一起的OpenMQ消息代理。 该菜谱还定义了用于创建和配置GlassFish应用程序域和OpenMQ代理实例的资源。 项目中提供了一个带有...
appserver /发行版/glassfish/target/glassfish.zip appserver / distributions / web / target / web.zip 找到分阶段的发行版: appserver /发行版/ glassfish /目标/阶段 appserver /发行版/网站/目标/阶段 ...
GlassFish 3 GlassFish是一个开放源代码的应用程序服务器项目,由Sun Microsystems针对Java EE平台启动,现在由Oracle Corporation赞助。 支持的版本称为Oracle GlassFish Server。 GlassFish是免费软件,具有两个...
具有自动聚类和缩放功能的GlassFish 在部署,集群和扩展方面,Java EE通常看起来像一个黑匣子。 您可以使用域模式下的预配置群集,自动缩放的实例和用于零代码更改部署的标准流程来摆脱这种复杂性。 可以轻松调整...
关于 GlassFish 的基础知识 * 集群的使用 应用程序部署策略 审计和监控 负载平衡管理器 冗余多节点架构 (HADB) 持久会话 管理和高级配置 与数据库服务器的交互 * 安全策略和工具 * ## 链接 管理指南 话题: ...
技術分享_Glassfish 3.1.2.2 Web Service Memory Leak Workaround1
letsencrypt_glassfish 该脚本可简化Glassfish和Payara Web服务器中“加密加密”证书的安装和维护。 该脚本旨在简化glassfish / payara服务器中的Let's Encrypt证书的安装,并提供一种自动更新服务器上所有Let's ...
Front_EJB3.1_JSF2.2_PrimeFaces_GlassFish 在 GlassFish v4.1 下使用 PrimeFaces 对 EJB 3.1 和 JSF 2.2 进行实验 使用带有 sakila 演示模式的 MySQL 数据库(参考 sakila-db.zip 进行安装)另见: ://dev.mysql....
Web services development using NetBeans IDE and GlassFish
Optimize GlassFish Performance
Masoud's main area of research and interest includes service-oriented architecture and large scale systems' development and deployment and in his leisure time he enjoys photography, mountaineering and...
Maven坐标:org.glassfish:jakarta.el:3.0.3; 标签:glassfish、jakarta、el、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
Maven坐标:org.glassfish:javax.json:1.0.4; 标签:glassfish、javax、json、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
Maven坐标:org.glassfish:jakarta.el:3.0.3; 标签:glassfish、jakarta、el、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档...
Beginning Java™ EE 6 Platform with GlassFish™ 3: From Novice to Professional
Maven坐标:org.glassfish:javax.json:1.0.4; 标签:glassfish、javax、json、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档...
glassfish集群搭建手册glassfish集群搭建手册glassfish集群搭建手册