- 浏览: 3499896 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 74145在java.lang包中有String.sp ... -
用 HttpServletResponseWrapper 实现 Etag 过滤器
2012-07-09 16:58 3757原文出处:http://blog.chenlb.com/200 ... -
Fitnesse使用
2012-05-05 13:27 23491Fitnesse 的使用 一,介绍 Fitnesse是一种 ... -
Customizing the new FitNesse parser
2012-05-05 13:13 2133FitNesse began its life using ... -
java application中内嵌ActiveX控件
2011-11-14 15:57 5516我这里用的是SWT/JFace开发application,SW ... -
Google Java Developer Tools Downloads
2011-08-09 00:04 2346WindowBuilder Pro原来叫WindowB ... -
Jalita
2011-08-06 00:49 1565Jalita (Java light terminal ada ... -
【转】用Java写字符终端界面
2011-07-29 13:13 2120终端界面GUI开源项目charva。 这个框架让你可以用开发 ... -
[转]mybatis下的分页,支持所有的数据库
2011-07-21 13:21 14836大 家都知道,mybatis的自带分页方法只是逻 ... -
Java framework for text- & console-based forms?
2011-07-21 01:06 1709charva jcurses JNA , ... -
JNA(Java Native Access)学习入门
2011-07-21 01:04 22610Java Native Access 项目 在 ... -
JAVA上加密算法的实现用例
2011-06-25 12:38 4882来源:www.ibm.com ... -
如何将GlassFish作为Windows服务运行
2011-05-18 23:21 2370本文档来自GlassFish官方网站,详细介绍了将 G ... -
JAVA UDP打洞必备知识点---NAT
2011-05-05 12:56 8683一、引言 RFCl631 ... -
Keystore概念,Keytool工具使用
2011-04-28 16:20 2902近来由于项目需要做Single Sign On, 研究了一 ... -
利用Eclipse Profile Plugin监控分析Tomcat性能
2011-04-18 16:14 3700目前新版本的Eclipse在启动应用服务器的时候有一个新的选 ... -
m2eclipse: Eclipse is running in a JRE, but a JDK is required
2011-02-04 23:43 2537Eclipse 安装了Maven插件,启动Eclipse ... -
利用JNative实现Java调用动态库
2010-10-18 00:43 2099由于项目要求,需要用J ... -
RHEL5支持大内存
2010-10-08 16:19 3002安装 RHEL 5 ,硬件为 4G 内存,安装完成 ... -
Windows Server 2003 和 Windows 2000 提供大内存支持
2010-10-08 16:19 1851本文介绍物理地址扩展 ...
相关推荐
"GlassFish:CXF调用错误-----Cannot create a secure XMLInputFactory" 是一个典型的错误,它涉及到两个关键的技术组件:GlassFish服务器和CXF框架。下面将详细解释这个问题的成因、解决方法以及相关知识点。 ...
在IT领域,Sun Glassfish服务器是一款高性能、可扩展且安全的企业级应用服务器,它基于Java平台,由Sun Microsystems开发并维护。《Sun Glassfish性能调优指南》是一份详尽的技术文档,旨在帮助系统管理员、开发者和...
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通常看起来像一个黑匣子。 您可以使用域模式下的预配置群集,自动缩放的实例和用于零代码更改部署的标准流程来摆脱这种复杂性。 可以轻松调整...
《Java Web Services: Up and Running》是一本专为开发者深入理解并实践Java Web服务技术而编写的指南。这本书详尽地介绍了如何构建、部署和运行Java Web服务,旨在帮助读者快速掌握这一领域的核心概念和技术。 ...
关于 GlassFish 的基础知识 * 集群的使用 应用程序部署策略 审计和监控 负载平衡管理器 冗余多节点架构 (HADB) 持久会话 管理和高级配置 与数据库服务器的交互 * 安全策略和工具 * ## 链接 管理指南 话题: ...
Glassfish 3.1.2.2 Web Service Memory Leak Workaround Glassfish 3.1.2.2 中的 Memory Leak 问题可能会导致服务器变慢或无响应。这种问题可能是由于 Web Service 的 Memory Leak 导致的。在此文中,我们将讨论...
### Glassfish Performance Advisor 知识点详解 #### 一、简介 Glassfish Performance Advisor 是一款专为 Sun Glassfish 应用服务器设计的性能优化工具。它可以帮助管理员实时监控并优化 Glassfish 服务器的运行...
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....
echo "Usage: service glassfish {start|stop|restart}" exit 1 ;; esac exit 0 ``` 这个脚本定义了启动、停止和重启Glassfish域的命令。 2. **赋予执行权限**: ``` sudo chmod +x /etc/init.d/glassfish...
6. **安全性**:GlassFish提供了丰富的安全特性,包括SSL/TLS加密、JAAS(Java Authentication and Authorization Service)支持、容器管理的身份验证和授权,以及与其他安全框架的集成。 7. **性能优化**:内置了...
Maven坐标:org.glassfish:jakarta.el:3.0.3; 标签:glassfish、jakarta、el、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
7. **安全性增强**:GlassFish 4.0强化了安全特性,支持SSL/TLS加密、JAAS(Java Authentication and Authorization Service)以及角色基础的访问控制,确保企业数据的安全传输和访问。 8. **开发者友好**:提供...
【NetBeans IDE与GlassFish开发演示】 在现代的软件开发领域,Java EE(企业版)应用程序的构建常常依赖于强大的集成开发环境(IDE)和应用服务器。本教程将重点介绍如何利用NetBeans IDE和GlassFish服务器进行Web...
Optimize GlassFish Performance
#### JMX与GlassFish:深入理解管理与监控 **JMX(Java Management Extensions)**是一种由Sun Microsystems提出并由Java社区推动的标准,旨在为Java应用程序、系统和网络提供一个统一的管理和监控框架。自Java SE ...