BEA WebLogic SIP Server 在Intel Xeon 处理器上的基准测试

作者:David Verbeiren、Stefano Gioia、Martin Lloyd、Scott Mordue
2007 年 10 月 2 日

摘要

为了测试 BEA WebLogic Communication Platform 在最新的 Intel 服务器平台上的性能,位于比利时 Kontich 的 Intel 实验室进行了一次简单的基准测试。这次基准测试的目的是衡量在基于 Intel Xeon 处理器(采用全新 Intel Core 微架构)的服务器平台上运行 BEA WebLogic SIP Server 和 BEA JRockit Java 虚拟机所能实现的性能、吞吐量和延迟。

这项工作是 BEA 与 Intel 之间开展的更大规模的合作项目的一部分,旨在验证和提高 BEA WebLogic SIP Servers 在下一代 Intel 架构服务器平台上的性能。

基准测试

所执行的基准测试通过执行基于 SIPstone“Proxy 200”测试用例 的 SIP 场景,来测量受测系统 (SUT) 的 SIP 处理性能。SIPstone 提供了“一组度量标准,用于评估和测试 SIP 代理、重定向和注册器服务器的性能”。开源的 SIP 负载生成工具 SIPp 用作激励系统,通过 WebLogic SIP Server 发起呼叫,并在另一端应答这些呼叫。图 1 显示了所执行的 SIP 场景。

SIP 场景
图 1. SIP 场景

应用服务器上部署了一个非常简单的 SIP servlet 应用程序。这个 SIP servlet 只是充当代理的功能,它将从用户代理客户端 (UAC) 模拟器接收到的呼叫转发给所收到的 INVITE 消息中 To 头部所指定的接收方。该接收方作为用户代理服务器 (UAS) 与 SIPp 客户端通信。您可以下载该应用程序的副本。

然后,100 Trying180 Ringing200 OKACK 消息将完成会话建立。我们分别测试了 0 秒、40 秒和 80 秒的呼叫持续时间,目的是确定代理服务器因必须维护 SIP 呼叫会话信息而带来的影响。为了实现高吞吐量并限制 SIP servlet 代理应用程序和 BEA WebLogic SIP Server 必须维护的 SIP 会话数量,servlet 将在响应 BYE 消息的 200 OK 经过代理后立即使会话失效,而不是依赖 SIP 会话的内部超时。

为确保一致的结果,BEA WebLogic SIP Server 在每次运行基准测试之前均重新启动,并依次执行预定义的一系列预热测试(逐渐提高受测系统的 SIP 呼叫率)。这样可以确保 JRockit Java 虚拟机在实际开始基准测试之前执行代码优化。

经过预热期之后,我们将维持固定的呼叫率不变,从而使系统的负载在一个小时之内保持稳定。测试过程中,系统将采集会话的建立时间和 SUT 的 CPU 利用率数据。然后,我们对这些数据进行后期处理,并计算出 95% 的会话建立时间以及 CPU 平均利用率数据(所有内核的总计)。

只有当 95% 呼叫的建立时间(INVITE 到 200 OK,以 UAC 为标准)均低于 50 毫秒时,以特定呼叫率运行的基准测试才被视为有效。

测试系统配置

测试系统由两台运行 SIPp UAC 和 UAS 模拟器的服务器和一个千兆以太网交换机(用于将这两台服务器连接到 SUT)组成,如图 2 所示。

高级系统配置
图 2. 高级系统配置

受测系统

受测系统由一个系统总线速度为 1333 MHz、内存为 8GB ECC FBDIMM 的 Intel Server Board S5000PSL 组成。该主板含有两块 3.0GHz 的双核 Intel Xeon 5100 系列处理器。网络连接由两个 Intel 千兆以太网接口提供。

在整个基准测试过程中,WebLogic SIP Server 3.1 是在 BEA JRockit JVM R27.3.1(32 位)之上执行的。

所使用的操作系统为 Red Hat Enterprise Linux 4 Update 4(64 位)。

双核 Intel Xeon 5100 系列处理器基于新的 Intel Core 微架构。这一创新的微架构集成了更高效的管道和内存架构设计,从而提供了更佳的处理器吞吐量。并且其低功耗的电源管理技术并不会影响性能。

BEA JRockit JVM 是一款高性能的 Java 虚拟机 (JVM),其开发目的是为了确保 Java 应用程序的可靠性、可伸缩性、可管理性和灵活性。

BEA WebLogic SIP Server 是业内首款集 Java EE-SIP-IMS-SOA 于一体的应用服务器,它可以提供较高的可用性、可靠性、可伸缩性和性能。它是 BEA WebLogic Communications Platform 网络中间件系列的 IMS-SIP 应用服务器组件。NEP、SI 和 ISV 合作伙伴组成的强健的全球生态系统已在 BEA WebLogic SIP Server 上实现了标准化,使之成为下一代通信的 IMS-SIP 基础。

BEA WebLogic SIP Server 将 SIP Servlet 技术与 J2EE 1.4、1.3 及其他领先的互联网标准相集成,为开发高度可用、可伸缩、安全的电信应用程序提供了可靠的框架。BEA WebLogic SIP Server 无缝集成了完全不同的异构平台和应用程序,使您的网络能够利用现有软件投资,共享对于构建下一代电信应用程序至关重要的企业级服务和数据。

BEA JRockit 配置

这些测试中使用的 JRockit JVM 是当前可用版本 JRockit R27.3.1,并且结合使用了以下命令行参数:

-Xmx3500m -Xms3500m

该参数指定了最大、初始/最小堆大小。这是 JRockit JVM 32 位版本可用的最大堆大小。但这对应用程序已经足够了。

-Xgc:gencon

命令行选项 -Xgc 决定 JVM 使用的垃圾回收器的类型。在本例中,我们使用分代式并发垃圾回收器,这种回收器将可用堆划分为两个或多个的区域,称作“代”。采用这种方法时,对象不会分配到一个空间中,也不会在该空间已满时对整个空间进行垃圾收集,大多数对象都将分配到称为新生代的“年轻代”中。由于大多数对象都在年轻时消亡,因此大部分时间的收集都是在新生代中进行的,而非整个堆。辅以大小合理的新生代和并发收集器算法(用于标记阶段和清除阶段)的分代并发垃圾回收器,是电信应用程序内常见的低延迟应用程序的理想选择。

-XXnosystemgc

system.gc()
-XXnocompaction

-Xns40m

-XXtlasize:min=3k

-XXkeeparearatio=0



BEA WebLogic SIP Server 配置

本次基准测试使用的版本是 WebLogic SIP Server 3.1,同时更改了以下参数的默认值:

  • WebLogic SIP Server Transport 队列大小: 50000
  • WebLogic SIP Server Overload Protection 初始队列长度: 40000
  • WebLogic SIP Server Overload Protection 清除队列长度: 5000


页码: 1, 2

下一页 »