2


性能调节

本节提供了一些有关性能调节的建议,以帮助您从 Content Delivery Server 系统获取最佳性能。

本章包括以下主题:


2.1 调节配置变量

配置变量用于设置数据库连接池大小、内存设置以及数据库内存分配。为这些变量设置的值可能会影响系统性能。

本节针对如何设置配置变量以提高性能提供了一些指导。

2.1.1 设置数据库连接池大小

下表介绍了 Content Delivery Server 使用的连接池。池 ID 是用于在配置文件中标识池的字符串。


表 2-1 数据库连接池

池 ID

描述

catalog_pool

Catalog Manager 和 Developer Portal 所使用的池。

service_pool

用于 Content Delivery Server 服务的池,如事件服务、消息传送服务和报告服务。

subscriber_pool

用于基于设备和基于 PC 的 Subscriber Portal 的池。

vending_pool

用于 Vending Manager 的池。如果有多个 Vending Manager,则每个 Vending Manager 具有其自身的连接池。


 

最佳性能受多种因素的影响,其中包括允许的初始数据库连接数和最大数据库连接数。$CDS_HOME/deployment/deployment-name/conf/DatabasePools.properties 文件包含用于管理每个池的以下属性,其中 pool-id表 2-1 中的池 ID 之一:

请按照下一节中的指导来设置这些属性。更改将在 Content Delivery Server 重新启动后生效。

2.1.1.1 确定池大小

要为每个属性确定最佳值,请考虑以下参数:

并行访问系统的订户数

2.1.1.2 设置 sessions 参数

必须对用于 Content Delivery Server 结构的每个数据库进行配置,以支持为每个结构指定的连接数。请将数据库的 sessions 参数设置为大于指定的连接数总和的数值。例如,对于以下假设,请将 sessions 参数至少设置为 54



注 - 如果运行数据库的服务器不支持指定的连接数,并且性能下降,请根据需要降低连接池大小,以避免数据库过载。



更改将在 Content Delivery Server 重新启动后生效。

2.1.1.3 故障排除

要检查配置的连接池大小是否为最佳大小,请在 $CDS_HOME/cfg/logging.properties 文件中添加以下语句以便为 DBPoolManager 添加日志程序:

cds.DBPoolManager.level = ALL

当 Catalog Manager 管理员、Vending Manager 管理员、开发者或订户访问系统时,如果日志文件中经常显示任何以下消息,则表明最大池大小很小,当前线程(调用)正在等待其他线程释放连接:

按照 2.1.1.1 确定池大小中的指导增加最大大小属性的值。

2.1.2 设置内存设置

如果使用的是 WebLogic Server,并且在同一服务器上部署了所有组件,则 Content Delivery Server 在将主机内存的 50% 分配给 Java 虚拟机时工作状况良好。如果主机正在运行数据库或其他资源密集的进程,请减小此值。

1. 编辑 $CDS_HOME/deployment/deployment-name/bin/start_server.sh 文件。

2. 将 JAVA_MEM 变量的值设置为系统内存大小的一半。

例如,如果系统内存为 2 GB,则使用以下语句:

       export JAVA_MEM=”-ms1024m -mx1024m” 

如果为 Java 虚拟机分配的内存超过 3 GB,则必须在 64 位模式下启动虚拟机。

更改将在 Content Delivery Server 重新启动后生效。



提示 - 在用于部署 Content Delivery Server 的部署配置文件中更改 java.mem 属性。更新配置文件可以确保在以后的部署中使用所需的值。



2.1.3 设置数据库内存分配

最佳的数据库配置取决于很多因素。本节中提供的信息可作为数据库管理和调节的起点。

对于拥有多达 5000 个内容项和 50 个设备的系统,请按照以下指导进行内存分配:

            10MB * 最大数据库连接数

有关数据库连接的信息,请参见 2.1.1 设置数据库连接池大小

            200MB + 用户全局区 (User Global Area, UGA)

UGA = 0.5MB * 最大数据库连接数。有关数据库连接的信息,请参见 2.1.1 设置数据库连接池大小

            (10MB * 最大数据库连接数)+ UGA

UGA = 0.5MB * 最大数据库连接数。有关数据库连接的信息,请参见 2.1.1 设置数据库连接池大小

随着将更多的内容或设备添加到系统中,可能需要更多的内存,特别是高速缓存存储区。内存分配不足可能导致出现数据库错误消息或性能下降。


2.2 调节 Oracle 数据库

有关调节数据库性能的提示,请访问 Oracle Web 站点 (http://technet.oracle.com)。


2.3 调节应用服务器

还可以通过调节应用服务器来改善性能。

$CDS_HOME/deployment/deployment-name/conf/cache.config 文件中的以下属性至少设置为目录中的项数。例如,如果目录包含 10,000 项,则将该属性设置为 10000,如下所示。



注 - 您可能需要增加 Java 虚拟机的堆大小以适应较大的缓存。



2.3.1 调节 Sun Java Application Server

如果使用的是 Sun Java System Application Server,请在 $CDS_HOME/deployment/deployment-name/sun/domains/server-domain/applications/j2ee-modules/CDSSubscriberPortal/WEB-INF/sun-web.xml 文件和 $CDS_HOME/deployment/deployment-name/sun/domains/server-domain/applications/j2ee-modules/CDSFulfillmentManager/WEB-INF/sun-web.xml 文件中添加以下语句以禁用使用 JavaServer Pagestrademark (JSPtrademark) 技术创建的页面的动态重新装入。

<jsp-config>
   <property name="reload-interval" value="-1"/>
</jsp-config>

有关调节 Sun Java System Application Server 的其他提示,请访问 Sun Java System Application Server Web 站点 (http://wwws.sun.com/software/sunone/)。

2.3.2 调节 WebLogic Server

可以使用 WebLogic Server 控制台按如下所述设置以下参数:

如果使用的是 WebLogic Server,请执行以下操作以禁用使用 JSP 技术创建的 Web 页的动态重新装入:

1. 转到 $CDS_HOME/deployment/deployment-name/weblogic/domains/domain-name/applications 目录。

2. 编辑以下每个文件,并按代码示例 2-1 中所示将 param-name element pageCheckSeconds 设置为 -1

 

更改将在 Content Delivery Server 重新启动后生效。

有关调节 WebLogic Server 的其他提示,请访问 WebLogic Server Web 站点 (http://www.weblogic.com/)。