《大规模Java平台虚拟化与调优》——1.2 大规模Java平台的趋势与需求

简介:

本节书摘来自华章计算机《大规模Java平台虚拟化与调优》一书中的第1章,第1.2节,作者:(美)Emad BenjaminLiang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 大规模Java平台的趋势与需求

在大规模Java平台的迁移工程中,计算资源合并、JVM实例合并、弹性和灵活性以及性能是主要的发展趋势。以下的各个子章节更为详细地讨论了每种趋势。
1.2.1 计算资源合并
很多VMware客户发现他们的中间件部署快速地膨胀,并且因为成本的不断增长日益成为管理方面的挑战。因此,客户希望虚拟化的方式能够减少服务器的数量。与此同时,客户也希望借助合并的机会来合理化某个特定负载所使用的中间件组件的数量。中间件组件通常会运行在JVM之中,并且规模是成百上千个的JVM实例,所以这就提供了很多机会来进行JVM实例合并。因此,中间件的虚拟化会带来两次合并的机会—首先是合并服务器实例,然后是合并JVM实例。这种趋势得到了广泛认同,毕竟,地球上的每一家IT厂商都在考虑合并所带来的成本节省。
我们在服务行业的一个客户经历了合并服务器的过程,与此同时,将众多堆小于1GB的小型JVM进行了合并。他们将大量小于1GB的JVM合并成了两种类型:一种是4GB的,另外一种是6GB的。他们合并的方式是这样的,应用所能够使用的净RAM总量与之前的RAM数量是相同的,但是JVM实例更少了。通过这种方式,他们提高了性能并且维持了很好的服务水平协议(service level agreement,SLA)。同时,还大幅降低了管理的成本,因为与以前相比减少了要管理的JVM实例数量,这种精简的环境帮助他们更容易地维持SLA。
另外一个保险行业的客户也达到了相同的结果,同时他们能够在开发和QA环境中充分使用CPU,从而降低第三方软件许可证的成本。
1.2.2 JVM实例合并
有时候,我们会遇到这样的客户,他们会有合理的业务需求,按照这种需求,某个应用或一条业务线只会维持一个JVM。在这些场景之中,你无法真正地合并JVM实例,因为这样做会导致某个业务线应用的生命周期与其他业务线的应用混杂在一起。不过,尽管这些客户无法从合并JVM所带来的JVM数量减少中获益,但他们能够从更加充分地使用服务器硬件的可用计算资源方面获益,在非虚拟化的环境中,这些资源可能没有充分地得以使用。
1.2.3 弹性与灵活性
越来越多地发现表明应用具有季节性的需求。例如,我们的很多客户会进行各种市场营销活动,这使得他们的应用会产生季节性的流量变化。借助VMware,你就能够处理这种流量的暴增,这是通过当需要的时候自动提供新的虚拟机(VM)和中间件组件实现的。当负载平缓后,还能够自动地卸载这些VM。
对于中间件来说,在更新/增补硬件时,能够实现不停机是至关重要的,这保证了云时代的扩展性和系统的正常运行时间。VMware VMotion能够让你迁移VM时,无须停止应用或VM。在管理大规模中间件部署环境时,这种灵活性本身就足以使虚拟化中间件成为一件值得尝试的事情。我们在金融领域的一个客户,每日会处理百万级的事务,会经常使用VMotion来安排硬件的升级,这没有产生任何停机时间。否则,如果安排停机时间,会给他们的业务带来很高的成本。
1.2.4 性能
客户经常会报告说,在虚拟化的时候,提升了中间件平台的性能。性能的提升一部分源于升级的硬件,客户在虚拟化项目的时候通常会更新硬件。一些性能的提升则是因为健壮的VMware hypervisor。VMware hypervisor在过去的几年中得到了相当大的提升,在第5章讨论了几个性能方面的案例,展现了在虚拟化环境中所测试的高负载场景。

相关文章
|
1月前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
|
21天前
|
监控 架构师 Java
Java虚拟机调优的艺术:从入门到精通####
本文作为一篇深入浅出的技术指南,旨在为Java开发者揭示JVM调优的神秘面纱,通过剖析其背后的原理、分享实战经验与最佳实践,引领读者踏上从调优新手到高手的进阶之路。不同于传统的摘要概述,本文将以一场虚拟的对话形式,模拟一位经验丰富的架构师向初学者传授JVM调优的心法,激发学习兴趣,同时概括性地介绍文章将探讨的核心议题——性能监控、垃圾回收优化、内存管理及常见问题解决策略。 ####
|
28天前
|
SQL 安全 Java
JavaSecLab 一款综合Java漏洞平台
JavaSecLab是一款综合型Java漏洞学习平台,涵盖多种漏洞场景,提供漏洞代码、修复示例、安全编码规范及友好UI。适用于安全服务、甲方安全培训、安全研究等领域,助于理解漏洞原理与修复方法。支持跨站脚本、SQL注入等多种漏洞类型……
|
28天前
|
监控 Java 编译器
Java虚拟机调优指南####
本文深入探讨了Java虚拟机(JVM)调优的精髓,从内存管理、垃圾回收到性能监控等多个维度出发,为开发者提供了一系列实用的调优策略。通过优化配置与参数调整,旨在帮助读者提升Java应用的运行效率和稳定性,确保其在高并发、大数据量场景下依然能够保持高效运作。 ####
30 1
|
1月前
|
监控 Java 开发者
Java线程池调优指南###
本文深入探讨了Java线程池的工作原理与调优策略,旨在帮助开发者理解线程池的核心参数及其对应用性能的影响。通过实例分析,揭示如何根据具体业务场景合理配置线程池,以实现资源高效利用和系统稳定性的平衡。 ###
|
1月前
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。
|
1月前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
51 6
|
1月前
|
监控 Java 编译器
Java虚拟机调优实战指南####
本文深入探讨了Java虚拟机(JVM)的调优策略,旨在帮助开发者和系统管理员通过具体、实用的技巧提升Java应用的性能与稳定性。不同于传统摘要的概括性描述,本文摘要将直接列出五大核心调优要点,为读者提供快速预览: 1. **初始堆内存设置**:合理配置-Xms和-Xmx参数,避免频繁的内存分配与回收。 2. **垃圾收集器选择**:根据应用特性选择合适的GC策略,如G1 GC、ZGC等。 3. **线程优化**:调整线程栈大小及并发线程数,平衡资源利用率与响应速度。 4. **JIT编译器优化**:利用-XX:CompileThreshold等参数优化即时编译性能。 5. **监控与诊断工
|
1月前
|
人工智能 监控 数据可视化
Java智慧工地信息管理平台源码 智慧工地信息化解决方案SaaS源码 支持二次开发
智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实现全面高效的工程管理需求,满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效,为监管平台提供数据支撑。
43 3
|
22天前
|
人工智能 移动开发 安全
家政上门系统用户端、阿姨端源码,java家政管理平台源码
家政上门系统基于互联网技术,整合大数据分析、AI算法和现代通信技术,提供便捷高效的家政服务。涵盖保洁、月嫂、烹饪等多元化服务,支持多终端访问,具备智能匹配、在线支付、订单管理等功能,确保服务透明、安全,适用于家庭生活的各种需求场景,推动家政市场规范化发展。