文章
服务器与存储管理
作者:Thomas Varghese 和 Pushkar Upakare
2014 年 10 月发布
|
Oracle Fusion Distributed Order Orchestration 是下一代 Oracle Fusion Supply Chain Management (SCM) 应用,旨在提供集中订单处理、集中监视和异常管理,以及忠实执行可预测的订单执行策略。该系统改善了各种不同订单捕获和履行环境中的订单编排。Oracle Fusion Distributed Order Orchestration 提供了集中管理的编排策略和履行监视。这些功能协同工作,有利于提高盈利能力和客户满意度,同时大幅降低履行成本、减少订单错误。
面对不可预测的需求时,扩展可靠的订单执行至关重要。订单执行系统故障或订单处理性能低下可能导致收入损失,严重损害品牌形像。因此,组织的基础架构需要能够处理如今的负载,同时可以根据需要轻松扩展以满足未来需求,无需复杂、耗时的重新配置过程。基础架构还必须支持高可用性,提供弹性,并且能够经受住故障考验并从容恢复。
在 Oracle SuperCluster T5-8 上部署 Oracle Fusion Distributed Order Orchestration 代表了一个极具吸引力的解决方案,可以根据需要可预测地扩展订单创建速度。为了评估该解决方案的性能,Oracle 工程师测试了半机架 Oracle SuperCluster T5-8 系统,将其扩展至关键组件的多个实例,以提供更高的吞吐量。将 Oracle SuperCluster 中的各个组件组成集群可满足可用性要求,有助于确保持续运行和故障切换。根据测试结果,该系统横向扩展了 Oracle Fusion Distributed Order Orchestration 和 Oracle SOA Suite 的实例数,展示了可预测的近乎线性的可扩展性。Oracle SuperCluster 平台的可扩展性意味着它有足够的空间来存放更多订单。
Oracle SuperCluster T5-8 是一个多用途集成系统,它经过统一设计、测试和集成,可运行任务关键型企业应用和迅速部署云服务,同时可实现超高的效率、显著的成本节省和极致性能。它非常适合包含 Web、数据库和应用组件在内的多层级企业应用。这个系统不但通用,还具有强大的、内置的零开销虚拟化功能,从而成为适用于整合 SCM 中常见的大量应用、数据库和中间件负载的理想平台。图 1 显示为测试 Oracle Fusion Distributed Order Orchestration 而配置的 Oracle SuperCluster T5-8。
Oracle SuperCluster T5-8 这个集成系统旨在承载整个软件解决方案体系,它包括以下组件:
图 1 显示针对以下各节所述测试而配置的半机架 Oracle SuperCluster T5-8。

图 1. 半机架 Oracle SuperCluster T5-8 上部署的 Oracle 融合应用产品。
半机架 Oracle SuperCluster T5-8 为扩展 Oracle 融合分布式订单执行提供了一个有效的平台。它所具有的一些重要技术功能可提供高性能、低延迟的可扩展性。
在半机架 Oracle SuperCluster T5-8 内,Oracle VM Server for SPARC 用于将两台 SPARC T5-8 服务器中的每一个分为应用域和数据库域。这些域再通过系统内部的高性能、低延迟的 InfiniBand 网络连接到 Oracle Exadata Storage Server。
在应用域中,使用 Oracle Solaris 区域进一步对 SPARC T5-8 服务器资源进行分区。
Oracle RAC 11g 第 2 版是 Oracle Database 的集群版本,在数据库域中运行。Oracle RAC 使用共享缓存、集群数据库架构,克服了传统无共享和共享磁盘架构的局限性,无需更改现有 Oracle Database 应用即可为数据库提供高性能、可扩展性和可靠性。
Oracle SuperCluster T5-8 中提供的 Oracle Exadata Storage Server 配置如下,通过单独的磁盘组为 Oracle RAC 数据库实例提供数据库加速:
Oracle SuperCluster 中使用 Oracle ZFS 存储设备提供非数据库存储。该设备是一个混合存储系统,基于独特的以缓存为中心的架构,拥有大量 DRAM 和闪存,多线程对称多处理 (SMP) 操作系统为其提供支持。因此,70% 到 90% 的 I/O 操作通常源自设备上的 DRAM,这有助于整合数据密集型负载。在此测试部署中,目录层和应用层利用 Oracle ZFS 存储设备上的存储。
为了评估性能,使用 Loadrunner 向半机架 Oracle SuperCluster T5-8 施加预定义的模拟负载。用每小时订单创建 TPS 来测量性能。随着负载增加,分配额外的横向扩展主机,并收集一些指标来监视和评估系统性能随负载增加的变化。
图 2 显示了典型的订单生命周期。销售订单由多行组成,通常每个订单平均有 5 到 6 行项目。编排流程由多个履行步骤组成,分配给一个或多个订单行。

图 2. Oracle Fusion Distributed Order Orchestration 的典型订单生命周期。
在 Oracle 进行的测试中,这个客户代表场景的服务负载为 59 KB,每各订单两行项目。行项分组在一个装运集中。在此测试场景中,接收和分解订单;然后,编排引擎通过一个两步骤流程处理行项。该过程首先将两个行项安排为一个组(装运集)。安排成功之后,执行信用检查。信用检查采用 Oracle Fusion Distributed Order Orchestration 的模板任务层 (TTL) 特性。最后,继续订单行处理,直至结束。
Oracle Fusion Distributed Order Orchestration 应用利用了处理约束框架和 Oracle Business Rules 框架,可由最终用户扩展。为了帮助处理业务流程,内置了一些现成的普遍适用的约束和 Oracle 业务规则。根据不同的功能需求,适用的规则和约束将在订单生命周期的不同阶段执行。这确保了下游服务(如订单承诺和信用检查)获得与功能有关的输入。在这个代表场景中,订单处理过程中执行了 17 条内置的 Oracle 业务规则和 12 条内置的处理约束。还对 33 条属于订单头和订单行的重要功能属性执行了属性交叉引用。
Oracle Fusion Distributed Order Orchestration 基础架构支持多个并发用户同时提交订单。Oracle 工程师通过模拟数百个虚拟用户,每个虚拟用户按配置好的频率和模式提交订单,模拟了这种现实生活中的情况。
通过横向扩展专用于处理 SCM(Oracle Fusion Distributed Order Orchestration/Oracle SOA Suite)的虚拟主机数(横向扩展主机)来执行测试。测试了一个、两个、三个和四个虚拟主机的配置。如图 3 所示,每分钟创建订单数实现了近乎线性的可扩展性,四个横向扩展节点高峰时每分钟创建近 10000 个订单。

图 3. 增加 Oracle Fusion Distributed Order Orchestration 节点数在每分钟创建订单数方面提供了近乎线性的可扩展性。
表 1 提供了测试的详细信息,列出了平均每小时订单创建 TPS。
表 1. 横向扩展主机数、用户数、内核数和 Oracle 测试过程中实现的每小时创建订单行数。| 虚拟用户数 | 处理器内核数(横向扩展主机数) | 处理器内核数(Oracle RAC 节点数) | 横向扩展主机数 | 每小时创建订单行数 |
|---|---|---|---|---|
| 50 | 14 个内核 | 32 个内核 | 1 | 85.3 K |
| 100 | 28 个内核 | 32 个内核 | 2 | 164 K |
| 150 | 42 个内核 | 32 个内核 | 3 | 268 K |
| 200 | 56 个内核 | 32 个内核 | 4 | 480 K |
尽管 Oracle SuperCluster T5-8 产生了近乎线性的可扩展性,但应用域内运行的横向扩展节点上的系统资源利用率仍为中等水平,为额外的可扩展性预留了相当大的空间。图 4 显示 Oracle Fusion Distributed Order Orchestration 和 Oracle SOA Suite 上运行的四个横向扩展主机各自的 CPU 利用率百分比。负载在四个节点之间分布得非常均匀。CPU 利用率任何时候都未超过 50%。

图 4. 随着节点的增加和订单创建数的扩展,CPU 利用率保持中等水平,这表明有相当大的空间余量。
两个 Oracle RAC 节点上的系统资源利用率也保持中等水平。图 5 显示四节点测试期间 Oracle RAC 节点上的 CPU 利用率百分比。同样,此图显示资源利用率分布均匀,运行状态稳定,仍留有相当大的空间余量。

图 5. 即使用四个节点运行 Oracle Fusion Distributed Order Orchestration,Oracle RAC 节点上 CPU 利用率百分比仍保持中等水平。
Oracle Fusion Distributed Order Orchestration 构建于开放的、基于标准的、面向服务的架构之上,可实现灵活的集成和降低总拥有成本 (TCO)。Oracle 测试中使用了以下软件版本:
图 6 提供有关如何部署半机架 Oracle SuperCluster T5-8 来测试 Oracle Fusion Supply Chain Management 的其他详细信息。
部署架构考虑了高可用性要求,虚拟化技术为处理器、内存等资源的管理和分配提供了相当大的灵活性。
部署活动分为三个重要阶段,如以下各节所述:

图 6. Oracle SuperCluster T5-8 上部署的 Oracle Fusion Distributed Order Optimization。
数据库域配置为包含以下 Oracle RAC 数据库,如图 6 所示:
Oracle 身份管理和 Oracle 融合应用产品模式通过 Oracle 融合中间件提供的 Repository Creation Utility 加载到各 Oracle RAC 数据库实例中。数据库实例使用 Oracle 自动存储管理来管理数据存储。
对于每个数据库实例,在 Oracle Exadata Storage Server 中创建两个磁盘组:
配置中有四台 Oracle Exadata Storage Server,每台服务器有 12 个磁盘,共计 48 个磁盘。假定存储服务器上采用正常冗余,共计有 18 GB 可用空间。要创建一个 300 GB 网格磁盘意味着每个磁盘驱动器将贡献约 17 GB 存储(300 GB / 18 GB = 约 17 GB)。
Oracle 融合身份管理部署通过选择 Oracle 融合中间件部署拓扑 (EDG) 来完成,如图 7 所示。该部署基于 EDG 拓扑建议并使用以下组件:
有关企业部署拓扑的更多详细信息,请参见“企业部署参考拓扑简介”。

图 7. 选择 EDG 拓扑并为各组件指定相应的主机名。
Oracle 融合应用产品的 Oracle Identity Manager 的推荐部署拓扑基于以下重要事项:
配置包含三个主层,使用 Oracle Solaris 区域虚拟化。
目录层是所有 LDAP 服务所在的部署层。此层包括 Oracle Internet Directory 和 Oracle Virtual Directory 等产品。目录层由目录管理员管理,提供企业 LDAP 服务支持。目录层与数据层紧密联系。Oracle Internet Directory 依赖 Oracle Database 作为其后端。
Oracle 评估的部署中使用了以下配置:
应用层是部署 Java EE 应用的层。Oracle Identity Manager、Oracle Identity Federation、Oracle Directory Services Manager 和 Oracle Enterprise Manager Fusion Middleware Control 等产品是可以部署在该层的关键 Java EE 组件。这层中的应用特别受益于 Oracle WebLogic Server 的高可用性支持,配置如下:
Oracle HTTP Servers 部署在 Web 层。为支持使用 Oracle Application Server Single Sign-On 和 Oracle Access Manager 等产品执行企业级一次性登录,需要 Web 层。
在 Web 层,进行了以下配置:
mod_wl_ohs 插件模块。mod_wl_ohs 插件模块支持将请求从 Oracle HTTP Server 代理到应用层中运行的 Oracle WebLogic Server。本节概述 Oracle 融合应用产品部署。更多深入信息,请参见 Oracle 融合应用产品安装指南。
为 Oracle 融合应用产品创建供应配置文件过程中所选拓扑是“每个应用和中间件组件一个主机”,如图 8 所示。此拓扑在部署 Oracle 融合应用产品方面提供了最大的灵活性。

图 8. Oracle 融合应用产品提供部署拓扑选择。
该配置选择创建了公共域主机与 SCM 域主机分离的拓扑。该域进一步分为主要主机和次要主机。主要主机包含 SCM 域的管理服务器。次要主机包含所有托管服务器,如 SCM 通用服务器、Oracle Product Information Management 服务器、Oracle Cost Management 服务器、Oracle Fusion Distributed Order Orchestration 服务器、Logistics 服务器、Oracle Advanced Planning 服务器、Oracle SOA 服务器等。全球订单处理 (GOP) 服务器托管在与 Oracle Advanced Planning and Scheduling 服务器关联的次要节点上。
该解决方案的通用元素定义如下:
该部署的一些关键要点如下:
图 9 显示原始主机 (etc27-z18) 的配置。

图 9. 配置原始主机。
图 10 显示主要主机 (etc27-z20) 和次要主机 (etz27-z21) 的配置。

图 10. 配置主要主机和次要主机。
图 11 显示 Oracle HTTP Server (etc27-z19) 的 SCM Web 层实例的配置,该服务器托管在 Oracle Solaris 区域上。

图 11. 配置 Oracle HTTP Server 的 SCM 实例。
虽然完整的调优和表布局不在本文讨论范围内,但以下各节将概要介绍 Oracle 在 Oracle SuperCluster T5-8 上测试 Oracle Fusion Distributed Order Orchestration 过程中使用的调优实践。
对 ifModule mpm_work_module 进行了一些 Oracle HTTP Server 调优,如下所示。
# worker MPM # StartServers: initial number of server processes to start # MaxClients: maximum number of simultaneous client connections # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # ThreadsPerChild: constant number of worker threads in each server process # MaxRequestsPerChild: maximum number of requests a server process serves # Specify "ServerLimit nnn" before MaxClients if MaxClients/ThreadsPerChild > 16. # Specify "ThreadLimit nnn" before MaxClients if ThreadsPerChild > 64. <IfModule mpm_worker_module> ThreadLimit 64 ServerLimit 512 StartServers 20 MaxClients 20000 MinSpareThreads 3200 MaxSpareThreads 4800 ThreadsPerChild 48 MaxRequestsPerChild 0 AcceptMutex fcntl LockFile "/var/tmp/http_lock" </IfModule>
对 SCM 中的各种应用要素进行调优以优化所测试配置的性能,如以下各节所述。
SCM 应用中的每个域都有自己的一组属性,这些属性在域的配置目录中的 fusionapps_start_params.properties 文件中指定。有关 fusionapps_start_params.properties 的更多详细信息,请参见这个优秀的博客。
对于 fusionapps_start_params.properties 文件中的以下各项,更改其名称和值对。如果名称不存在,则应添加到文件。
fusion.default.default.sysprops=-Dapplication.top=${WL_HOME}/../applications/scm/deploy
-Djbo.ampool.minavailablesize=1 -Djbo.doconnectionpooling=true
-Djbo.load.components.lazily=true -Djbo.max.cursors=5 -Djbo.recyclethreshold=75
-Djbo.txn.disconnect_level=1 -Djps.auth.debug=false -Doracle.fusion.appsMode=true
-Doracle.notification.filewatching.interval=60000 -Dweblogic.SocketReaders=3
-Dweblogic.security.providers.authentication.LDAPDelegatePoolSize=20 -Djps.authz=ACC
-Djps.combiner.optimize.lazyeval=true -Djps.combiner.optimize=true
-Djps.policystore.hybrid.mode=false -Djps.subject.cache.key=5
-Djps.subject.cache.ttl=600000
-Ddiagfwk.diagnostic.test.location=${WL_HOME}/../applications/jlib/diagnostic,
${ATGPF_ORACLE_HOME}/archives/applications/diagnostics -Doracle.multitenant.enabled=false
-Doracle.jdbc.createDescriptorUseCurrentSchemaForSchemaName=true
-Dapplication.config.location.ocm=${FA_INSTANCE_HOME}/ocm
-Dweblogic.security.SSL.trustedCAKeyStore=/u01/oracle/instance/keystores/fusion_trust.jks
-Dweblogic.mdb.message.MinimizeAQSessions=true
-Dweblogic.ejb.container.MDBDestinationPollIntervalMillis=6000
-Dweblogic.http.client.defaultReadTimeout=300000
-Dweblogic.http.client.defaultConnectTimeout=300000
-DHTTPClient.socket.readTimeout=300000 -DHTTPClient.socket.connectionTimeout=300000
-Dwebcenter.owsm.gpa.enabled=true -Dprovisioning.start.params.processed=true
-DXDO_FONT_DIR=${WL_HOME}/../applications/../bi/common/fonts
-Dweblogic.LoginTimeoutMillis=50000
fusion.AdminServer.SunOS-sparc.memoryargs=-XX:PermSize=1g -XX:MaxPermSize=1g
-XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=${FA_INSTANCE_HOME}/debug -XX:+ParallelGCVerbose
-XX:ReservedCodeCacheSize=128m -XX:+UseParallelOldGC -XX:ParallelGCThreads=2
fusion.AdvancedPlanningCluster.SunOS-sparc.memoryargs=-XX:PermSize=256m
-XX:MaxPermSize=512m -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=${FA_INSTANCE_HOME}/debug -XX:+ParallelGCVerbose
-XX:ReservedCodeCacheSize=128m -XX:+UseParallelOldGC -XX:ParallelGCThreads=4
-XX:+UseCompressedOops -XX:StringTableSize=500009
fusion.CostManagementCluster.SunOS-sparc.memoryargs=-XX:PermSize=256m
-XX:MaxPermSize=512m -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=${FA_INSTANCE_HOME}/debug -XX:+ParallelGCVerbose
-XX:ReservedCodeCacheSize=128m -XX:+UseParallelOldGC -XX:ParallelGCThreads=4
-XX:StringTableSize=500009
fusion.OrderOrchestrationCluster.SunOS-sparc.memoryargs=-XX:PermSize=756m
-XX:MaxPermSize=756m -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=${FA_INSTANCE_HOME}/debug -XX:+ParallelGCVerbose
-XX:ReservedCodeCacheSize=128m -XX:+UseParallelOldGC -XX:+UseCompressedOops
-XX:ParallelGCThreads=20 -XX:LargePageSizeInBytes=2g -XX:StringTableSize=500009
-Xnoclassgc -XX:-UseAdaptiveSizePolicy
fusion.SCMCommonCluster.SunOS-sparc.memoryargs=-XX:PermSize=256m
-XX:MaxPermSize=756m -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=${FA_INSTANCE_HOME}/debug -XX:+ParallelGCVerbose
-XX:ReservedCodeCacheSize=128m -XX:+UseParallelOldGC -XX:ParallelGCThreads=4
-XX:StringTableSize=500009
fusion.SCM_SOACluster.SunOS-sparc.memoryargs=-XX:PermSize=756m
-XX:MaxPermSize=756m -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=${FA_INSTANCE_HOME}/debug -XX:+ParallelGCVerbose
-XX:ReservedCodeCacheSize=128m -XX:+UseParallelOldGC -XX:+UseCompressedOops
-XX:ParallelGCThreads=20 -XX:LargePageSizeInBytes=2g -XX:StringTableSize=500009
-Xnoclassgc -XX:-UseAdaptiveSizePolicy
fusion.AdvancedPlanningCluster.SunOS-sparc.sysprops= -Dweblogic.ejb.container.MDBDestinationPollIntervalMillis=6000 -Dweblogic.mdb.message.MinimizeAQSessions=true
fusion.OrderOrchestrationCluster.SunOS-sparc.sysprops= -Dweblogic.ejb.container.MDBDestinationPollIntervalMillis=6000 -Dweblogic.mdb.message.MinimizeAQSessions=true
fusion.SCMDomain.AdminServer.default.minmaxmemory.main=-Xms12g -Xmx12g fusion.SCMDomain.AdvancedPlanningCluster.default.minmaxmemory.main=-Xms4g -Xmx4g fusion.SCMDomain.CostManagementCluster.default.minmaxmemory.main=-Xms512m -Xmx2048m fusion.SCMDomain.LogisticsCluster.default.minmaxmemory.main=-Xms512m -Xmx2048m fusion.SCMDomain.OrderOrchestrationCluster.default.minmaxmemory.main=-Xms16g -Xmx16g -Xmn6g fusion.SCMDomain.SCM_SOACluster.default.minmaxmemory.main=-Xms12g -Xmx12g -Xmn4608m
设置 JDBC 数据源参数(数据库池除外)的常规方式是登录管理服务器控制台,执行以下步骤:
JDBC 数据源中的连接池包含一组由应用保留、使用并在随后返回池中的 JDBC 连接。连接池和其中的连接在注册连接池时创建,通常是在启动 Oracle WebLogic Server 或将数据源部署到新目标时。在 Oracle 执行的测试中,config.xml 文件修改如下:
DB pool(DataSourceName-rac1, DataSourceName-rac2) SOALocalTxDataSource:Initial Capacity=500, max capacity=3500, min capacity=500 JRFWSAsyncDSAQ: Initial Capacity=50, max capacity=300, min capacity=50 ApplicationServiceDB: Initial Capacity=150, max capacity=400, min capacity=150 SOADataSource: Initial Capacity=500, max capacity=3500, min capacity=500 mds-ApplicationMDSDB: Initial Capacity=50, max capacity=300, min capacity=50 ApplicationDB: Initial Capacity=150, max capacity=2000, min capacity=150 EDNSource: Initial Capacity=50, max capacity=100, min capacity=50 EDNDataSource: Initial Capacity=50, max capacity=100, min capacity=50 Shrink frequency: 600s ApplicationDB ApplicationServiceDB JRFWSAsyncDSAQ mds-ESS_MDS_DS mds-soa SOADataSource SOALocalTxDataSource mds-ApplicationMDSDB mds-CustomPortalDS
对于 MDB 池设置,增加了空闲池中的最大 bean 数,如图 12 所示。执行了以下步骤:

图 12. 配置 MDB 池设置。
在 Oracle SOA Suite 中,线程线经过优化以提高性能。在 Oracle Enterprise Manager Console 上执行以下步骤来设置 Oracle 业务流程执行语言 (BPEL) Process Manager:
对于调解器线程,从 Oracle Enterprise Manager Console 执行以下过程:
要设置 Oracle SOA Suite 的 Oracle 事件传递网络 (EDN) 的线程,从 Oracle Enterprise Manager Console 执行以下过程:
为增强 Oracle Global Order Promising Server,编辑 gopServerConfig.xml 文件 (instance/gop_1/config/GOP/GlobalOrderPromisingServer1/gopServerConfig.xml) 并添加以下代码:
<num-msg-autosave>1000000</num-msg-autosave>
在该文件中,还需要将 -finest 级别更改为事件错误日志记录:
<logLevel>INCIDENT_ERROR</logLevel>
切换 java.home/lib/security 目录下 java.security 文件中的安全提供者,如下所示:
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.pkcs11.SunPKCS11${java.home}/lib/security/sunpkcs11-solaris.cfg
security.provider.3=sun.security.rsa.SunRsaSign
对于横向扩展区域和 SCM Oracle HTTP Server 区域,使用 ndd 实用程序执行以下命令:
# ndd -set /dev/tcp tcp_conn_req_max_q 96000 # ndd -set /dev/tcp tcp_conn_req_max_q0 64000 # ndd -set /dev/tcp tcp_xmit_hiwat 524288 # ndd -set /dev/tcp tcp_recv_hiwat 524288 # ndd -set /dev/tcp tcp_naglim_def 1 # ndd -set /dev/tcp tcp_smallest_anon_port 10000 # ndd -set /dev/tcp tcp_time_wait_interval 6000
Oracle Fusion Applications for SCM 要求对数据库进行一定程度的调优以获得最佳性能。对于 Oracle 执行的测试,在以下领域进行了调优:
init.ora 文件修改 init 参数(如下所示)对 init.ora 文件进行了一些重要更改,如下所示:
_gc_defer_time=0 _gc_policy_time=0 _gc_undo_affinity=FALSE filesystemio_options=SETALL open_cursors=500 sga_target=64G pga_aggregate_target=8G shared_pool_size=4G nls_sort=BINARY open_cursors=500 session_cached_cursors=500 plsql_code_type=NATIVE processes=15000 db_securefile=ALWAYS Redo log file size=4 files of 20GB each
Oracle SuperCluster T5-8 上部署的 Oracle Fusion Distributed Order Orchestration 代表了极具吸引力的解决方案架构。Oracle SuperCluster 平台以完善、集成的系统形式提供计算、存储和网络,这就可以将 Oracle Fusion Distributed Order Orchestration 应用和所需其他组件部署在一个高性能、低延迟的平台中。本文所述测试证明了 Oracle SuperCluster 可以显著提高 Oracle Fusion Distributed Order Orchestration 应用的性能和可靠性,具有近乎线性的可扩展性并留有相当大的系统空间。
Thomas Varghese 是首席软件工程师,自 2005 年起即在 Sun 和 Oracle 工作,其工作领域包括 Java 性能、身份管理和 SAP Netweaver 体系集成。在其约 15 年的技术经验中,他最开始是一名开源工程师,主要工作领域为用于 XML 绑定的 Java 架构 (JAXB) 之前的 XML 数据绑定领域。目前,他主要从事 Oracle 硬件上的各种 Oracle 企业应用的调优、选型和基准测试。
在过去 16 年间,Pushkar Upakare 一直为 Oracle 工作,目前他担任 Oracle Fusion Distributed Order Orchestration 团队的应用架构师。他还与 Oracle 融合中间件团队、Oracle 融合性能、可扩展性和可靠性团队以及 Oracle 融合移植团队密切合作,实施各种选型、调优和基准测试以满足高需求和可用性要求。
笔者特别鸣谢 Oracle 融合中间件团队和 Oracle 融合性能、可扩展性和可靠性团队对此项目的贡献。
| 修订版 1.0,2014 年 10 月 27 日 |