20
Oracle 白皮书 2013 3 Oracle Solaris:企业 Java 的最佳平台

Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle 白皮书

2013 年 3 月

Oracle Solaris:企业 Java 的最佳平台

Page 2: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

免责声明

以下内容旨在概述产品总体发展方向。该内容仅供参考,不可纳入任何合同。本演示不承

诺提供任何材料、代码或功能,也不应将其作为购买决策的依据。所描述的有关 Oracle 产

品的任何特性或功能的开发、发布和时间安排均由 Oracle 自行决定。

Page 3: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

简介 ...................................................................................................................................... 1

奠定良好的基础 .................................................................................................................. 2

充分利用领先的性能和可扩展性 ...................................................................................... 3

其性能是 IBM pSeries 的 3.4 倍,成本不足 IBM pSeries 的 27% ..................... 3

与使用 Microsoft Windows 2008 R2 的 HP ProLiant 服务器相比,

每芯片速度高出 4 倍 ................................................................................................ 4

通过优化提高 Java 应用程序性能和可扩展性 ....................................................... 4

Java 虚拟机的持续优化 ............................................................................................ 6

为企业 Java 应用程序提供任务关键型可用性 ............................................................... 7

Oracle Solaris 预测性自我修复 ............................................................................... 8

使用 Oracle Solaris 映像打包系统 (IPS) 提高可预测性 ....................................... 8

Oracle Solaris Cluster ............................................................................................... 9

使用 Oracle Solaris ZFS 增强数据集成和数据可用性 ........................................ 10

提高安全性 ........................................................................................................................ 11

简化 Java 服务的管理 ..................................................................................................... 12

Oracle JRockit Mission Control 中的 Oracle Solaris DTrace Probes .............. 12

在云环境中管理 Java 服务 ..................................................................................... 13

总结 .................................................................................................................................... 13

更多信息 ................................................................................................................... 14

Page 4: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

1

简介

Java 由 Sun Microsystems(现已被 Oracle 收购)创造,自 20 世纪 90 年代中期以来一直帮助

企业降低开发和维护应用程序的成本和复杂性。如今,Java 不仅渗透到互联网领域,而且成为

众多应用程序和设备的无形推动力,为我们的日常生活提供便利。Java 普遍应用于对性能、可

扩展性和易管理性有极高要求的任务关键型应用程序。Oracle E-Business Suite、PeopleSoft

和 JD Edwards EnterpriseOne 等 Oracle 融合中间件和 Oracle 管理软件均部分或全部使用

Java 技术进行开发。

但 Java 应用程序的执行十分依赖支持 Java 虚拟机 (JVM) 的操作系统的特性和特征。Oracle

Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密

切合作,以保持与 Java 的同步发展。它具有许多专门设计的特性和功能,使之成为最适合

Java 应用程序的操作系统。将 Oracle 融合中间件、Oracle 数据库和 Oracle Solaris 操作系统

结合使用,可以实施当今要求最苛刻的任务关键型应用程序。

Oracle Solaris 11 继续推动企业 Java 的安全性、可靠性、可诊断性、开发人员生产力、效率和

应用程序原始性能。例如,本白皮书中详述的最新 Java 基准测试表明,Oracle Solaris 11 和

Oracle SPARC 服务器为 Java 提供了创世界纪录的性能。

本白皮书将描述使 Oracle Solaris 成为部署 Java 应用程序的最佳平台的关键特性。本白皮书面

向系统管理员,目的是帮助他们了解如何使 Oracle Solaris 成为企业 Java 最佳平台的技术。

Page 5: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

2

奠定良好的基础 本节介绍为在 Oracle 体系(由集成设计、性能卓越的软硬件技术构成)上运行企业 Java 应

用程序奠定良好基础的 Oracle Solaris 技术。

Oracle Solaris 专为企业应用程序和云部署而设计。除了将在下一节讨论的性能优化外,

Oracle Solaris 还采用一些重要技术,如虚拟化、安全性和高可用性特性,可提高 Java 应用

程序服务级别并简化供应和管理。它是业内首款完全虚拟化的操作系统,除了虚拟化存储

和网络之外,还提供完全虚拟化的服务。

其中一些关键技术有助于更高效地实施 Java:

• Oracle Solaris 11 网络虚拟化是 Oracle Solaris Zones 中的一个功能,也是 Oracle Solaris 11

的特性之一。它让管理员可以创建完全虚拟化的网络,从而更高效地共享网络资源以及

虚拟化网络接口。网络虚拟化使管理员能够跨虚拟网络接口管理带宽分配,因此即使在

采用虚拟化网络的情况下,运行在 Oracle Solaris Zones 上的 Java 服务也能够满足服务级

别协议 (SLA)。另外,管理特性让 Java 服务可以分配到特定的专用网络体系 — 一直到物

理网络接口。

• Oracle Solaris 11 中内置的高可用性特性可保证应用程序持续运行。Oracle Solaris 预测性

自我修复可自动检测找你更多硬件和应用程序故障并进行恢复。因此,在发生软件故

障、重大硬件组件故障甚至软件配置错误时,任务关键型应用程序和主要系统服务仍

然能够正常运行。Oracle Solaris Cluster 的智能区域迁移和集群化特性提供了更丰富的工

具,即使发生硬件故障也可保证应用程序正常运行。

• Oracle Solaris Zones 是 Oracle 服务器虚拟化的基础,能够以更低的开销将多项服务整合

到一台服务器上。Oracle Solaris Zones 为 Oracle Solaris 11 提供隔离环境,它以独特的

Oracle Solaris 实例形式提供安全、灵活、可扩展的轻型虚拟化操作系统服务。Oracle

Solaris Zones 为每个节点内的数百个区域提供区域特定的可观察性和扩展能力。

• Oracle Solaris DTrace 是观察、调试和调优系统行为的综合监视工具。DTrace 中增强的

可见性让管理员能够在影响用户服务级别之前找到并修复问题。

• Oracle Solaris ZFS 为集成式文件系统和卷管理器提供杰出的数据完整性、可扩展性和接

近零的管理开销。Oracle Solaris ZFS 通过混合存储池方法充分利用传统磁盘存储和固态

磁盘存储,提供极为高效的读取和写入缓存,从而加快数据访问和写入速度。可在远程

存储上创建卷,并通过 iSCSI 和 FC(作为块设备)共享,因此,Oracle Solaris Zones 可

托管在云中的共享存储上,与虚拟化服务器一起提供存储环境虚拟化。

Page 6: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

3

• 快速安装和部署软件的工具。Oracle Solaris 11 中的新特性可简化并加快应用程序和服务

的安装和部署。Oracle Solaris 自动安装程序简化并促进了快速部署。Oracle Solaris 映像

打包系统可简化软件生命周期管理,从而在最大程度缩短停机时间。Oracle Solaris ZFS

中的快照和回滚可提供内置的安全网,同时通过减少数据量降低所需的存储空间。另

外,Oracle Solaris Zones 和 Oracle VM Templates 有助于快速推出新服务和现有服务。

Java 应用程序与 Oracle Solaris 相结合,使管理员和开发人员能够利用卓越的开箱即用性

能、高质量实施和简化代码调试与性能调优任务的创新工具顺利开展工作。

充分利用领先的性能和可扩展性 Oracle Solaris 11 是我们 25 年来持续开发的成果,也是我们不断为企业应用程序提供高服

务级别并简化总体部署与管理的结果。Oracle Solaris 可支持数千个 CPU 线程和数百 TB 的

内存容量。实际上,它为未来的 SPARC 和 x86 服务器提供了无限虚拟化和卓越的可靠性、

可用性和可维护性。Oracle Solaris 的多线程功能还充分利用了 Oracle SPARC T4 和 Oracle

SPARC T5 服务器的性能特性。最近的基准测试充分证明了将 Oracle Solaris 与 Java 应用程

序结合使用的性能优势。

其性能是 IBM pSeries 的 3.4 倍,成本不足 IBM pSeries 的 27%

Oracle Solaris 和 SPARC T5 服务器在最新 SPECjEnterprise 基准测试结果中创下新的世界纪

录,其性能是 IBM pSeries 的 3.4 倍。在 16,646.34 SPECjEnterprise2010 EjOPS 基准测试结

果显示,SPARC T5-8 服务器的性能是 8 芯片 IBM Power 780 的 3.4 倍。在应用程序硬件定

价方面,SPARC T5-8 的成本不足 IBM Power 780 8 芯片配置的 27%1。访问

https://blogs.oracle.com/BestPerf/entry/20130326_sparc_t5_8_specjenterprise2010 了解详细信息。

1 SPEC 和基准测试名称 SPECjEnterprise 是 Standard Performance Evaluation Corporation (SPEC) 的注册商

标。SPARC T5-8(SPARC T5-8 服务器基础包、8 个 SPARC T5 16 核处理器、128 个 16 GB-1,066

DIMMS、2 个 600 GB 10K RPM 2.5 英寸 SAS-2 HDD、4 根电源电缆)报价为 268742 美元。IBM Power 780

(IBM Power 780:9179 Model MHB、4x3.8 GHz 16 核、64 个单处理器激活、4 个 CEC 机柜(包括 IBM 机

箱、I/O 背板和系统中间背板)、16 条 0/32 GB DDR3 内存 (4x8 GB) DIMMS-1,066 MHz Power7 CoD 内

存、12 个 1 GB DDR3 Power7 内存激活、5 个 100 GB DDR3 Power7 内存、1 个磁盘/介质背板。

Page 7: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

4

与使用 Microsoft Windows 2008 R2 的 HP ProLiant 服务器相比,每芯片速度高出

4 倍

在最近的 SPECjbb2013-Multi-JVM 基准测试中,Oracle Solaris 11 和 Oracle Java 开发工具

包 (JDK) 与 Oracle 的 SPARC T5-2 服务器结合使用,创下新的双槽服务器世界纪录。其

75,658 SPECjbb2013-MultiJVM max-jOPS 和 23,334 SPECjbb2013-MultiJVM critical-jOPS

结果击败 HP 的四槽 DL560p Gen8 服务器和 HP 运行 Microsoft Windows 2008 R2 的双槽

ML350p Gen8 服务器2。

这些结果表明,Oracle 配置具有以下优势:

• 与四芯片 HP ProLiant DL560p Gen8 SPECjbb2013-MultiJVM max-jOPS 结果相比,每芯片

速度高 3.2 倍

• 与 HP ProLiant DL 560p Gen8 SPECjbb2013-MultiJVM critical-jOPS 结果相比,每芯片速度

高 4 倍

• 在 SPECjbb2013-MultiJVM max-jOPS 和 SPECjbb2013-MultiJVM critical-jOPS 结果中,速

度比 HP ProLiant ML350p Gen 8 高 1.9 倍

访问 https://blogs.oracle.com/BestPerf/entry/20130326_sparc_t5_specjbb2013 了解详细信息。

通过优化提高 Java 应用程序性能和可扩展性

管理员可利用 Oracle Solaris 的下列功能提高 Java 应用程序性能,以提高工作效率和应用程

序服务级别。

• 动态线程。在 SPARC T4 或 SPARC T5 平台上运行 Java 应用程序时,Oracle Solaris 充分

利用他们的动态线程功能将额外的 CPU 资源自动分配给最需要它们的线程,从而提高应

用程序整体性能。Oracle Solaris 调度程序自动将线程扩展到尽可能多的内核和插槽,在

系统占用率低于 100% 时,实现每线程性能的最大化。Oracle Solaris 还允许管理员将特定

线程定义为“关键”。“关键”线程在 SPARC T4 或 SPARC T5 平台上运行时将被分配

整个 CPU 内核。由于专用 CPU 内核可实现不间断执行,因此对管理员而言是一种提高单

线程性能的好方法。

背板。2 个 146.8 GB SAS 15K RPM 2.5 英寸 HDD(仅限 AIX/Linux)、4 个交流电源电缆,1725 w,报价

为 992023 美元。信息来源:TPC.org 和 IBM.com,2013 年 3 月 20 日收集。请参阅 http://www.spec.org 了解

详细信息。

2 SPEC 和基准测试名称 SPECjbb 是 Standard Performance Evaluation Corporation (SPEC) 的注册商标。截至

2013 年 3 月 26 日的结果,请参阅 http://www.spec.org 了解详细信息。使用 Oracle Solaris 11.1 和 JDK 7

update 17 的 SPARC T5-2 服务器: 75,658 SPECjbb2013-MultiJVM max-jOPS, 23,334 SPECjbb2013-

MultiJVM critical- jOPS。使用 Windows 2008 R2 和 JDK 7 update 15 的 HP ProLiant DL560p Gen8:66,007

SPECjbb2013-MultiJVM max-jOPS,16,577 SPECjbb2013-MultiJVM critical-jOPS。使用 Windows 2008 R2 和

JDK 7 update 15 的 HP ProLiant ML350p Gen8 : 40,047 SPECjbb2013-MultiJVM max-jOPS , 12,308

SPECjbb2013-MultiJVM critical-jOPS。

Page 8: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

5

• 大分页支持。企业 Java 应用程序通常需要大型堆,并将堆存储在物理内存的大页面中以

从中受益。如果以小页面访问内存,则需要额外处理,这是因为必须在转换旁路缓冲区

(TLB) 中查找每个虚拟内存地址才能找到相应的物理内存页。TLB 是一个页面转换缓

存,可保留大多数最近使用的虚拟到物理地址转换。采用大页面,TLB 可使用其缓存中

较少的条目有效地引用更多物理地址空间。如果无法在 TLB 缓存中找到地址,则会付出

昂贵代价,因为处理器必须从层次页表中读取或进行多次内存访问,从而影响性能。大

页可减少 TLB 的压力,进而提高处理器内存使用率,使应用程序等待内存引用的时间减

少。Oracle Solaris 默认启用大页面,默认页面大小为 4 MB。可使用命令行选项 -

XXLargePageSizeInBytes=n 轻松更改页面大小参数。3

• 非一致性内存访问 (NUMA) 架构和 NUMA I/O。在 Java HotSpot 虚拟机中,NUMA 感知

分配器充分利用了运行 Oracle Solaris 的 NUMA 系统,提供自动内存布置优化。在

NUMA 计算机上(例如 Oracle SPARC T4 和 SPARC T5 服务器)可将性能提高多达

15%。当在 JVM 上启用 NUMA 感知时,新生代 eden 分成若干区域,每个 NUMA 节点

上有一个区域用于 Java 进程。Eden 是分配新对象的区域,而 NUMA 感知使 JVM 能够确

保线程分配的每个对象放到当前正在执行 Java 线程的本地 NUMA 节点上。这可以降低分

配延迟和访问新对象时的延迟。另外,对于新生代、老一代和持久代的“from”和“to”

存活空间,则开启页面交叉。这可以确保所有线程对这些空间都具有同等的访问延迟。

默认情况下不启用 NUMA 感知,但是可使用命令行选项 XX:+UseNUMA 启用它。4此

外,当 I/O 设备连接到系统时,Oracle Solaris 将记住该设备所连接到的 NUMA 节点,因

此当为该设备分配 DMA 内存时,将在设备所属 NUMA 节点上分配内存。这将确保使用

DMA 的设备 I/O 操作不必在 NUMA 节点之间切换,这是因为 DMA 节点始终驻留在本地

NUMA 节点上。这可以最大限度降低 I/O 延迟,以提高 I/O 设备的 I/O 吞吐量。

• Oracle Solaris 11.1 虚拟内存子系统。Oracle Solaris 11.1 中的新虚拟内存子系统使用底层

平台的系统内存大小进行自动扩展。它可以优化内存资源的分配,在支持大页面的计算

机上实现更有效、更可预测的内存分配。它包含一个内置的内存预测器,该预测器可监

测大内存页面使用情况并根据应用程序使用模式调节在收集期间创建的内存页大小。由

于在分配页面时不再需要用多个小页面组合成大页面,因此该性能优化可提高大内存页

分配速度。大页面通

3 请参考 http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html 进一步了解有关 Java 应用程序启动

器中标准和非标准选项的信息。

4 请参考 http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html 了解其他详细信息。

Page 9: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

6

常可从大页面池内获得。在较小的内存系统中,由于内存页大小与应用程序所需内存页

大小密切匹配,因此该特性同样适用。这使得企业应用程序和数据库在迁移到支持大内

存页的平台时,可以透明地实现加速。

• 加速加密。Oracle Solaris 加密框架特性可以提供一组加密服务和 API 支持,内核和用户级

应用程序消费者可以借此以透明的方式将加密操作委托给硬件,而不必向应用程序添加任

何新代码。当 Java 应用程序利用 Java 加密库调用时,这些调用以透明的方式转换成

Oracle Solaris 加密框架库,然后,加密库会利用 SPARC 或 x86 平台(具备加密加速特

性)上的硬件加密资源。这便可以实现线速加密,而不必对 Java 应用程序进行任何更改,

也不必浪费服务器 CPU 资源来实施各种包处理和安全算法。要了解在 SPARC 和 x86 平台

上使用 Oracle Solaris 进行加密性能加速的详细信息,请访问相关博客网站,网址为:

• https://blogs.oracle.com/BestPerf/entry/20130326_sparc_t5_2_zfscrypto

• https://blogs.oracle.com/DanX/entry/sparc_t4_openssl_engine

• https://blogs.oracle.com/DanX/entry/intel_aes_ni_optimization_on

• 网络性能。随着更多 Java 应用程序和服务上线,网络性能发挥着越来越重要的作用。

Oracle Solaris 中增强的 TCP/IP 体系需要较少的指令即可处理网络包,因此可以降低开

销。经优化的 Internet 协议栈有助于更轻松地开发支持新硬件技术的驱动程序,因此当用

户将基于网络的应用程序移动到 Oracle Solaris 时,速度提高了 50%。增强的软件体系不

仅降低了处理网络包时的 CPU 开销,还改善了可扩展性、中断处理和安全套接字层 (SSL)

流量。由于可以支持更多网络连接,且吞吐量可随 CPU 和接口卡数目而线性扩展,使最

新的 10 GbE 适配器在线速上提供吞吐量聚合。Oracle Solaris 上的 TCP 和 IP 层是部分合

并的,使 Web 应用程序的网络性能得到显著改进。TCP/IP 系列中的线程和队列代码得到

简化,可通过这两个层处理一个包,从而改善处理器定位、提高缓存性能并降低上下文

切换开销。最终满足企业环境对网络吞吐量级别的要求。

Java 虚拟机的持续优化

Oracle 目前提供了两种处理不同类型应用程序需求的 Java 虚拟机 (JVM)。为了持续优化

Java 环境,Oracle 正在整合这两种 JVM 的代码基础。新的统一 JVM 将兼具两种 JVM 的最

佳特性。

Page 10: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

7

目前这两种 JVM 产品的主要功能有:

• Java HotSpot 虚拟机是针对 Oracle 系统的主要 Java 实现。它提供了即时编译和自适应优

化等性能增强技术。其名称的由来是因其能够对频繁或反复执行的代码段执行持续的

Java 程序性能分析。之后,这些“热点”成为优化的目标,最终以最低的非性能关键型

代码开销实现了高性能执行。

• Oracle JRockit 是一系列 Java 运行时解决方案,具有行业领先的实时基础架构功能和无

可匹敌的 JVM 诊断特性。Oracle Solaris 11.1 现在为包含 Oracle JRockit 的实时应用程序

提供增强的支持。目前在 Oracle Solaris 11.1 中,应用程序计时器的默认解析和超时为 1

毫秒,而旧版中则是 10 毫秒。Oracle JRockit Real Time 为实时 Java 应用程序提供毫秒级

确定性响应时间,能够适合要求最苛刻的金融和电信应用程序延迟需求。Oracle JRockit

Mission Control 附带 Oracle JRockit,后者是一组功能强大的 JVM 诊断和管理工具,提供

无干扰高级应用程序监视,适合用于开发和生产环境。Oracle JRockit Mission Control 使

Java 运行时环境能够最大限度地降低对运行中系统的影响。一旦工具从 JVM 脱离,该软

件还可保证 Java 应用程序全速运行。

Oracle JRockit Flight Recorder、Oracle JRockit Mission Control 和实时、低延迟垃圾回收等重

要的 Oracle JRockit JVM 特性正被整合到 Oracle Java HotSpot 虚拟机中。该整合正在逐步细

化,其初步特性已应用于 Oracle JDK 7 版本,未来将有更多特性被整合到 JDK 7 更新和即

将发布的 JDK 8 版本中。

与此同时,组织可以根据自身需要继续使用 Oracle JRockit JVM 或 Oracle Java HotSpot 虚拟

机。已经在使用 Oracle JRockit Mission Control 或对实时 Java 应用程序有低延迟要求的组织

可希望使用 Oracle JRockit。我们将继续对 Java HotSpot 虚拟机进行开发和增强,使之包含

更多新功能,而且 Oracle JRockit JVM 将继续得到全面支持。

为企业 Java 应用程序提供任务关键型可用性 Java 应用程序通常具有任务关键性且是日常运营的核心。在 Oracle Solaris 上部署 Java 应用

程序让企业能够维持企业应用程序服务交付的最高标准。

Page 11: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

8

Oracle Solaris 预测性自我修复

Oracle Solaris 预测性自我修复能够主动诊断、隔离和从硬件和软件故障中恢复,从而最大

程度地提高系统和应用服务可用性。与提供难以解密的错误消息流不同,Oracle Solaris 预

测性自我修复会自动初始化相应的响应,例如在组件可能导致系统故障前,使 CPU、内存

区域或 I/O 设备动态脱机。如果应用程序发生故障,Oracle Solaris 服务管理工具特性可自

动重启应用程序。

Oracle Solaris 故障管理器是 Oracle Solaris 预测性自我修复软件的重要组成部分,可以隔离

并禁用发生故障的组件,并确保服务不中断 — 在管理员发现问题前完成。另外,远程服务

代理可以检索对诊断故障根本原因至关重要的信息。

使用 Oracle Solaris 映像打包系统 (IPS) 提高可预测性

为了满足用户需求,往往需要升级和更改企业 Java 应用程序的环境和资源。过去,打补丁

是一个复杂的手动过程,需要手动进行补丁分析才能了解其依赖关系,从而确定并应用合

适的补丁。但有时管理员未能正确应用补丁或尚未充分理解补丁的依赖关系,这就会无意

中引入一些问题。因此,在将新操作系统环境投入生产前需要进行测试,这使得整个升级

过程非常耗时。

Oracle Solaris 映像打包系统(图 1)定义了新的包管理方法,为执行操作系统软件更新提

供更智能更安全的方法。除了显著降低安装补丁的管理工作量,它还可以降低系统更新的

停机时间,并真正消除补丁升级过程中发生错误的风险。

与许多其他 Unix 和 Linux 打包模型相比,IPS 消除了同时安装补丁的必要。IPS 需要使用

软件信息库,它在很大程度上改变了管理员更新系统和应用程序软件的方式。

Page 12: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

9

图 1. Oracle Solaris 映像打包系统简化系统升级并提高可预测性。

Oracle Solaris 映像打包系统用依赖性检查和自动依赖性解决方案提高了系统更新正确执行

的可预测性。由于所有更新的操作系统包在下载和安装之前经过全面的集成测试,因此可

降低由于人为操作错误导致不兼容或其他问题的风险。

另外,由于在创建新引导环境时保存了旧引导系统(当前系统状态),因此管理员可快速

轻松地返回到之前的状态。当前引导环境的副本由 Oracle Solaris ZFS 快照创建而来,且打

包的更改也会应用到该副本。默认情况下,该新副本的环境在重新引导时激活。如果发生

问题,管理员可轻松回滚到之前的引导环境映像,让系统快速回到先前的状态。这样,

Oracle Solaris 11 为操作系统升级和软件更改提供了管理安全性,有助于改善系统和应用程

序可用性。

Oracle Solaris Cluster

大多数企业 Java 应用程序都十分重要,它们必须在服务器发生故障时不间断运行。为了让

这些应用程序能够集成了 Oracle Solaris 故障检测技术与 Oracle Real Application Clusters

(Oracle RAC) 的高可用性集群环境中运行,Oracle Solaris Cluster 提供了相应的功能,在最

大程度上提升 Java 应用程序整体可用性。

Oracle Solaris Cluster 可在主服务器发生故障后不到一秒内将故障转移到本地的辅助服

务器。

Page 13: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

10

快速响应性可确保 Java 应用程序用户准确发现底层系统故障。Oracle Solaris 中内置的综合

故障检测技术与 Oracle Solaris Cluster 中基于政策且特定于应用程序的复杂恢复模板结合使

用,确保对特定故障类型的适当响应。另外,Oracle Enterprise Manager Ops Center 自动执

行集群拓扑发现、供应、集群范围内的打补丁和配置更新,以帮助管理员管理其高可用性

集群部署。

使用 Oracle Solaris ZFS 增强数据集成和数据可用性

目前有很多 Java 应用程序都创建或利用了大量数据信息库,这些信息库构成宝贵的知识产

权,因此,IT 基础架构必须提供可靠的数据访问和完美的数据完整性。

广泛采用的 RAID 等基础数据保护技术和组件或互联冗余均无法提供全面的保护。而

Oracle Solaris ZFS 提供的多项功能可帮助提高数据可用性和完整性。它将写入时复制方法

(在数据光标改变并且提交写入之前写入新块)与端到端校验和(下文将加以解释)相

结合,保持文件系统内部的一致性。由于文件系统始终保持一致,因此当系统以不清

洁方式关闭时,便不再需要 fsck(1) 这样耗时的恢复过程,从而提高了用户和应用程序服务

级别。

Oracle Solaris ZFS 不断读取和检查数据,以确保数据的正确性。当该技术在镜像池中检测

到错误时,还可自动修补损坏的数据。对可用性保持警惕可防止发生代价高昂且耗时的

数据损失,甚至能发现之前未检测到的静默数据损坏。在 RAID-Z 实现中使用校验、条带

化和原子操作来促进纠错,从而对损坏的数据进行重建。

如图 2 中所示,传统文件系统使用基于块的校验和,而 Oracle Solaris ZFS 跨整个数据树执

行校验和运算。在传统方法中(如图 2 左侧所示),校验和使用数据块进行存储,允许任

何自洽数据块通过校验和。该方法只能检验媒体数据完整性,甚至无法检测到偏离写入。

Oracle Solaris ZFS 验证整个数据块树,从而验证整个 I/O 路径。由于它不止验证介质(比

特衰减),因此它可以发现错误写入、驱动程序错误和意外覆盖等问题。采用 Oracle

Solaris ZFS,不仅可检测到更多损坏情况,而且可自动纠正这些损坏。

Page 14: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

11

图 2 Oracle Solaris ZFS 使用校验和验证整个数据块树。

提高安全性 设计合理的 IT 基础架构建立在安全的基础之上,可彻底防止、检测和响应威胁。Oracle 将

安全性融入到整个操作系统中,其本身采用安全的默认配置,使管理员无需花费时间自行

配置安全特性。Oracle 软件保证过程还将安全检查点作为质量保证过程的一部分。另外,

Oracle Solaris 提供细粒度的安全特性,确保用户与应用程序隔离、保护数据并集成到安全

事件监视框架。这组安全特性使企业能够为企业利益和知识产权提供强大保护,以应对各

种风险。

Oracle Solaris 具备任何操作系统中最先进的安全特性,包括能够为运行在 Oracle Solaris 上

的 Java 提供增强的安全性:

• Java 加密扩展。采用 Java 加密扩展且运行在 Oracle Solaris 上的 Java 应用程序可自动利

用 Oracle Solaris 加密框架,而 Oracle Solaris 加密框架则利用底层服务器硬件中的加密加

速特性。Oracle Solaris 加密框架以透明的方式为 Java 应用程序提供简化的高级加密算法

和硬件加速。

• 应用程序和用户隔离。Oracle Solaris 可防止对数据和应用程序的未授权访问,从而提高

了系统抵御攻击的能力。该软件可限定应用程序和用户仅访问其职责所需的系统资源。

该功能可避免对系统的不当访问,从而有效降低从编码质量较差的应用程序实施攻击的

可能性。

Page 15: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

12

这样,即使黑客获得应用程序的访问权限也不会影响系统的其他部分,从而限制了注入恶

意代码或以其他方式破坏数据的可能性。

• 应用程序安全政策。管理员可使用上述基于角色的访问控制框架对应用程序操作进行严

格控制。例如,为 Web 服务器制定安全政策,使之仅绑定到端口 70,让服务器在完成自

身任务的同时不能执行其他任务。Oracle Solaris 11.1 中这一新增特性可在不修改源代码

的情况下修改应用程序行为。

• 为静止和移动数据加密。Oracle Solaris 保护磁盘上和传输中的数据,确保从磁盘到客户

端的数据保密性。ZFS 提供块级加密,为防止物理存储未授权访问或盗窃提供额外的保

护。加密属性在创建 Oracle Solaris ZFS 文件系统时被激活,它会在挂载文件系统时对密

码或数字密钥进行安全检查。ZFS 加密可使用 Oracle Key Manager 在数千个数据集之间执

行企业管理。有了 SSH、SCP、Krb 等工具以及加密 API和在服务器/客户端通信(例如,

SSL、IPsec、Kerberos)中应用 Java 加密扩展的应用程序,就可以使用同样的硬件辅助加

密来保护移动中的数据了。

简化 Java 服务的管理 管理 Java 服务级别并维护底层基础架构并不是件难事。关键在于是否拥有能有效执行任务

的正确工具。下述 Oracle 技术可简化 Java 服务的管理。

Oracle JRockit Mission Control 中的 Oracle Solaris DTrace Probes

Oracle JRockit Mission Control 提供深入的可见性,使管理员能够监视 JVM 内部状态和活动

以及运行中的 Java 应用程序。它使用 Oracle Solaris Dtrace 中的以下测试探针提供可见性:

• VM Lifecycle Probes — 用于虚拟机初始化和关机

• Thread Lifecycle Probes — 用于线程启动和停止事件

• Class Loading Probes — 用于类加载和卸载活动

• Garbage Collection Probes — 用于系统范围内的垃圾和内存池回收

• Method Compilation Probes — 显示正在编译的方法和使用的编译器

• Monitor Probes — 用于等待和通知事件以及争用的监视器条目和退出事件

• Application Probes — 对线程执行、方法条目/方法返回和对象分配执行细粒度检查

管理员可在真实生产系统中使用这些探针检查用户程序和操作系统自身行为。用户将

DTrace 与 Oracle JRockit Mission Control(图 3)配合使用时,可监视 Java 应用程序、检查

用户程序和操作系统的行为、消除性能瓶颈并排除运行时问题。

Page 16: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

13

Oracle JRockit Mission Control 的 DTrace 插件适用于 Oracle Java SE Advanced 客户。

图 3 Oracle JRockit Mission Control 利用 DTrace 探针为生产环境中运行的 Java 应用程序提供深入的可见性。

在云环境中管理 Java 服务

Oracle Enterprise Manager Cloud Control 为整个 IT 基础架构(包括运行 Oracle 和第三方技术

的系统)提供集中的监视、管理和生命周期管理功能。Oracle Enterprise Manager Cloud

Control 从单一控制台对整个 Oracle IT 体系进行监视和管理。另外,它还对业务驱动的 IT

管理和以业务为中心的自上到下的应用程序管理提供支持,帮助管理业务服务、用户体验

和基础架构。在该环境中管理 Java 应用程序可提高管理效率,因此使资源更容易与业务优

先级相匹配。

总结 Oracle Solaris 和 Oracle 集成的软硬件体系可为企业 Java 应用程序提供优化的性能和部署效

率。Oracle Solaris 和 Java 组件经过专门设计和扩展测试,可以配合使用来为任务关键 Java

应用程序提供最佳的环境。本白皮书中引用的行业基准测试证明 Oracle Solaris 可提供行业

领先的 Java 性能。加密处理、NUMA 感知和大分页支持等 Oracle Solaris 优化可提供从

Java 应用程序到服务器硬件的无缝集成,使 Oracle Solaris 上运行的 Java 应用程序无需更改

任何代码即可获得优化的性能。

Page 17: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

14

更多信息

有关本白皮书所讨论产品和技术的信息,请参阅以下信息源。

表 1 其他信息源

主题 来源

Oracle Solaris

Oracle 技术网 (OTN) 上的 Oracle

Solaris 技术内容

www.oracle.com/solaris

www.oracle.com/technetwork/server-storage/solaris11/overview/

Java www.java.com www.jcp.org

Oracle JRockit www.oracle.com/technology/products/jrockit

Oracle JDK — Java Platform, Standard Edition (Java SE) www.oracle.com/javase Oracle JDK—Oracle Java SE Advanced www.oracle.com/us/technologies/java/standard-edition/advanced-

suite/overview/ Oracle 服务 www.oracle.com/services

Oracle 支持 www.oracle.com/us/support

Oracle Sun 服务器 www.oracle.com/servers

Oracle 性能和最佳实践博客 https://blogs.oracle.com/BestPerf

Page 18: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

甲骨文(中国)软件系统有限公司

北京远洋光华中心办公室

地址:北京市朝阳区景华南街5号,远洋光华中心C座21层

邮编:100020

电话:(86.10) 6535-6688

传真:(86.10) 6515-1015

北京上地6号办公室

地址:北京市海淀区上地信息产业基地,上地西路8号,

上地六号大厦D座702室

邮编:100085

电话:(86.10) 8278-7300

传真:(86.10) 8278-7373

上海分公司

地址:上海市黄浦区天津路155号,名人商业大厦12层

邮编:200021

电话:(86.21) 2302-3000

传真:(86.21) 6340-6055

广州分公司

地址:广州市天河区珠江新城华夏路8号合景国际金融广场

18楼

邮编:510623

电话:(86.20) 8513-2000

传真:(86.20) 8513-2380

成都分公司(川信大厦办公室)

地址:成都市人民南路二段18号四川川信大厦20层A&D座

邮编:610016

电话:(86.28) 8619-7200

传真:(86.28) 8619-9573

成都分公司(高新国际广场办公室)

地址:成都市高新区天韵路150号高新国际广场D座四楼

18-19,22-25单元

邮编:610041

电话:(86.28) 8530-8600

传真:(86.28) 8530-8699

大连分公司

地址:大连软件园东路23号,大连软件园国际信息服务中心

2号楼五层502号A区

邮编:116023

电话:(86.411) 8465-6000

传真:(86.411) 8465-6499

济南分公司

地址:济南市泺源大街150号,中信广场11层1113单元

邮编:250011

电话:(86.531) 8518-1122

传真:(86.531) 8518-1133

沈阳分公司

地址:沈阳市沈河区青年大街219号,华新国际大厦17层D单元

邮编:110016

电话:(86.24) 2396 1175

传真:(86.24) 2396 1033

南京分公司

地址:南京市玄武区洪武北路55号,置地广场19层1911室

邮编:210028

电话:(86.25) 8476-5228

传真:(86.25) 8476-5226

杭州分公司

地址:杭州市西湖区杭大路15号,嘉华国际商务中心702室

邮编:310007

电话:(86.571) 8717-5300

传真:(86.571) 8717-5299

西安分公司

地址:西安市高新区科技二路72号,零壹广场主楼1401室

邮编:710075

电话:(86.29) 8833-9800

传真:(86.29) 8833-9829

Page 19: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

福州分公司

地址:福州市五四路158号,环球广场1601室

邮编:350003

电话:(86.591) 8801-0338

传真:(86.591) 8801-0330

重庆分公司

地址:重庆市渝中区邹容路68号,大都会商厦1611室

邮编:400010

电话:(86.23) 6370-8898

传真:(86.23) 6370-8700

深圳分公司

地址:深圳市南山区高新南一道飞亚达大厦16层

邮编:518057

电话:(86.755) 8396-5000

传真:(86.755) 8601-3837

甲骨文软件研究开发中心(北京)有限公司

地址:北京市海淀区中关村软件园孵化器2号楼A座一层

邮编:100094

电话:(86.10) 8278-6000

传真:(86.10) 8282-6455

深圳分公司

地址:深圳市南山区高新南一道德赛科技大厦8层

0801-0803单元

邮编:518057

电话:(86.755) 8660-7100

传真:(86.755) 2167-1299

甲骨文亚洲研发中心-上海

地址:上海市杨浦区淞沪路290号创智天地10号楼

512-516单元

邮编:200433

电话:(86.21) 6095-2500

传真:(86.21) 6095-2555

武汉分公司

地址:武汉市江岸区,天地企业中心5号大厦23层

2301单元

邮编:430010

电话:(86.27) 8221-2168

传真:(86.27) 8221-2128

长沙分公司

地址:长沙市芙蓉区韶山北路159号,通程国际大酒店13楼

1311-1313室

邮编:410011

电话:(86.731) 8977-4100

传真:(86.731) 8425-9601

石家庄分公司

地址:石家庄市中山东路303号,世贸广场酒 店14层1402室

邮编:050011

电话:(86.311) 6670-8080

传真:(86.311) 8667-0618

Page 20: Oracle Solaris:企业 Java 的最佳平台...Solaris 是目前市场上最可靠且特性丰富的企业操作系统,并且一直与开发团队和 Java 社区密 切合作,以保持与

Oracle Solaris:企业 Java 的最佳平台

Java

2013 年 3 月

公司网址:http://www.oracle.com(英文)

中文网址:http://www.oracle.com/cn(简体中文)

销售中心:800-810-0161

售后服务热线:800-810-0366

培训服务热线:800-810-9931

欢迎访问:

http://www.oracle.com(英文)

http://www.oracle.com/cn(简体中文)

版权© 2013 归 Oracle 公司所有。未经允许,不得以任何形式和手段

复制和使用。

本文的宗旨只是提供相关信息,其内容如有变动,恕不另行通知。

Oracle 公司对本文内容的准确性不提供任何保证,也不做任何口头或

法律形式的其他保证或条件,包括关于适销性或符合特定用途的所有

默示保证和条件。本公司特别声明对本文档不承担任何义务,而且本

文档也不能构成任何直接或间接的合同责任。未经 Oracle 公司事先

书面许可,严禁将此文档为了任何目的,以任何形式或手段(无论是电

子的还是机械的)进行复制或传播。

Oracle 是 Oracle 公司和/或其分公司的注册商标。其他名字均可能是

各相应公司的商标。