硬件升级前:1个CPU,32位系统,1.5G堆
硬件升级后:4个CPU,64位系统,16G物理内存,分配12G堆
管理员为了尽量利用硬件资源,选用了64位JDK,并通过-Xmx和-Xms参数将堆固定在12GB。但是网站经常不定期出现场时间没有相应的现象。
监控发现,是由于GC停顿造成的,虚拟机运行在server模式,默认是吞吐量优先收集器,回收12G堆,一次Full GC停顿时间高达14秒。由于程序设计的关系,访问文档需要把文档从磁盘提取到内存中导致内存中有很多序列化大对象进入到老年代,没有在minor GC时就被回收。
升级前,只是感觉系统缓慢,但是不会发生十分明显的停顿。
在高性能服务器上,通常有2种部署策略
1.通过64位JDK来使用大内存;
2.使用若干个小内存的虚拟机建立逻辑集群来“榨干”硬件资源。
【64位大内存JDK】
使用64位大内存JDK,应当降低full GC的频率来减少对用户的影响。主要对象的生存周期应该是请求级或者页面级的。全局和会话级的场生命周期的对象相对较少只要代码合理,是可以避免的。
通过设置合理的垃圾收集器,也可以在一定程度上避免场时间停顿,例如CMS或者目前最先进的G1垃圾收集器。
另外使用64位大内存JDK的时候需要考虑:
1.内存回收导致场时间的停顿;
2.现阶段,64位JDK性能普遍低于32位JDK;
3.dump的快照文件过大;
4.相同程序在64位JDK里消耗比32位JDK里大,由于指针膨胀等因素造成。
【小内存JDK逻辑集群】
部署方便,可以很容易提高性能,非常适合硬件敏感度较低的场合,尤其是CPU敏感度较低的情况。但是也是有一定缺陷的。
1.资源利用里相对较低,启动的额外“服务”较多;
2.各虚拟节点竞争全局的资源,例如:磁盘IO等;
3.资源池利用率低,不能共享,除非JNDI;
4.大量的本地缓存,重复的对象创建,逻辑想要考虑共享缓存可以得到改善;
分享到:
相关推荐
实战:Eclipse运行速度调优。案例分析。高性能硬件上的程序部署策略
建议部署2套存储系统,数据库系统和虚拟化系统各配 置1套高性能光纤存储阵列,每套存储配置双活冗余控制器,提供24GB高速缓存,24块9 00G高性能企业级SAS硬盘,提供21TB的裸容量。存储阵列提供8G高速FC接口,通过2台...
建议部署2套存储系统,数据库系统和虚拟化系统各配 置1套高性能光纤存储阵列,每套存储配置双活冗余控制器,提供24GB高速缓存,24块9 00G高性能企业级SAS硬盘,提供21TB的裸容量。存储阵列提供8G高速FC接口,通过2台...
存储方案 考虑到xx市公安局实际应用,建议部署2套存储系统,数据库系统和虚拟化系统各 配置1套高性能光纤存储阵列,每套存储配置双活冗余控制器,提供24GB高速缓存,24块 900G高性能企业级SAS硬盘,提供21TB的裸...
存储方案 考虑到xx市公安局实际应用,建议部署2套存储系统,数据库系统和虚拟化系统各 配置1套高性能光纤存储阵列,每套存储配置双活冗余控制器,提供24GB高速缓存,24块 900G高性能企业级SAS硬盘,提供21TB的裸...
一般的小规模的网站采用这种方式,用户量、数据量、并发访问量都比较小,否则单台服务器无法承受,并且在遇到性能瓶颈的时候升级硬件所需要的费用非常高 昂,在访问量增加的时候,应用程序和数据库都来抢占有限的...
20.4 策略上的反规范化 20.5 合理组织存储过程 20.6 使用临时表 20.7 及时更新代码 20.8 注意细节问题 20.9 硬件考虑事项 20.10 小结 第21章 性能优化工具 21.1 优化时机(第二部分) 21.2...
20.4 策略上的反规范化 20.5 合理组织存储过程 20.6 使用临时表 20.7 及时更新代码 20.8 注意细节问题 20.9 硬件考虑事项 20.10 小结 第21章 性能优化工具 21.1 优化时机(第二部分) 21.2...
而 iWebShop 则与传统不同,它基于 iWebSI 的高性能越代架构技术平台体系开发,借助 iwebSI 平台的出色设计,iWebShop 站点具有高度的可扩展性和伸缩性,在低成本投入下可瞬间部署至高负载设备集群系统之上,当业务...
在一个专门构建的平台上结合高性能硬件和软件来实现低延迟和数千兆位的数据吞吐量性能 2.1 产品与部署方式 本文就Palo Alto Networks 新一代安全防护网关部署方案进行探讨,该产品采用全新设计的软/硬件架构,可在不...
为策略设置较高的优先级 76 确定对连接应用哪些策略 76 检测应用于某一连接的策略 77 解析部分内容符合条件的搜索结果 77 解析部分内容符合搜索条件的搜索结果 77 对具有冲突规则的策略进行故障排除 78 确定最终生成...
20.4 策略上的反规范化 20.5 合理组织存储过程 20.6 使用临时表 20.7 及时更新代码 20.8 注意细节问题 20.9 硬件考虑事项 20.10 小结 第21章 性能优化工具 21.1 优化时机(第二部分) 21.2...
20.4 策略上的反规范化 20.5 合理组织存储过程 20.6 使用临时表 20.7 及时更新代码 20.8 注意细节问题 20.9 硬件考虑事项 20.10 小结 第21章 性能优化工具 21.1 优化时机(第二部分) 21.2...
9-7使用组策略部署打印机08:09 9-8使用脚本部署打印机13:43 9-9实战:连接网络接口打印机02:58 第10章配置动态磁盘1小时8分钟10节 10-1基本磁盘上的分区06:29 10-2动态磁盘上的卷和卷的类型13:10 10-3添加三个硬盘 ...
1.4.2高性能 1.5 RAC软件 1.5.1存储管理软件 1.5.2集群管理软件 1.5.3数据库管理软件 1.6本章小结 第2章 搭建类似生产环境的RAC 2.1搭建环境 2.1.1 RAC的物理结构 2.1.硬件环境 2.1.3软件环境 2.2搭建...
20.4 策略上的反规范化 20.5 合理组织存储过程 20.6 使用临时表 20.7 及时更新代码 20.8 注意细节问题 20.9 硬件考虑事项 20.10 小结 第21章 性能优化工具 21.1 优化时机(第二部分) 21.2...
20.4 策略上的反规范化 20.5 合理组织存储过程 20.6 使用临时表 20.7 及时更新代码 20.8 注意细节问题 20.9 硬件考虑事项 20.10 小结 第21章 性能优化工具 21.1 优化时机(第二部分) 21.2...
分布式共享数据对象CACHE服务 -- 让开发人员编制高性能的系统,极大提高整体部署的伸缩性。 支持异构环境: J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定 操作系统、中间件、硬件。...
分布式共享数据对象CACHE服务 -- 让开发人员编制高性能的系统,极大提高整体部署的伸缩性。 支持异构环境: J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定 操作系统、中间件、硬件。...
9 2.2 方案拓扑图 10 2.3 方案构成部分详细说明 11 2.3.1 软件需求 11 2.3.2 硬件需求 11 2.4 方案结构描述 11 2.4.1 基础架构服务层 11 2.4.2 应用程序服务层 13 2.4.3 虚拟应用程序层 18 2.4.4 VMware异地容灾技术...