Sun logo      上一个      目录      索引      下一个     

Sun ONE Calendar Server 6.0 管理员指南

附录 C
Calender Server 性能优化

要改进 Sun ONE Calendar Server 的性能,请考虑使用以下方法:

 


为 LDAP 目录服务器编制索引

要改进 Calendar Server 访问 LDAP 目录服务器时的性能,请在 LDAP 配置文件中添加以下属性的索引:

注意:如果运行 Directory Server 设置脚本 (comm_dssetup.pl) 来配置 Sun ONE Directory Server 5.x,此脚本将为 icsCalendaricsCalendarOwned 属性添加索引。

有关添加目录服务器索引的信息,请参阅以下 Web 站点上的《Sun ONE Directory Server Configuration, Command, and File Reference》

http://docs.sun.com/db/coll/S1_ipDirectoryServer_51


使用 LDAP 目录服务器的日历搜索功能

通过 ics.conf 文件中的以下参数可以启用 LDAP 目录服务器的日历搜索功能:

service.calendarsearch.ldap = "yes"

如果使用 LDAP 目录服务器的日历搜索功能,可以通过以下方法改进性能:

为 icsCalendarOwned 属性编制索引

要确定是否可以改进 LDAP 目录服务器的日历搜索性能,请尝试以下 LDAP 命令:

ldapsearch -b "base"
"(&(icscalendarowned=*user*)(objectclass=icsCalendarUser))"

其中,base 是 Calendar Server 用户和资源数据所在目录服务器的 LDAP 基本 DN,user 是最终用户可以在“Calendar Express 订阅”->“日历搜索”对话框中输入的值。

测试表明,如果没有为 icsCalendarOwned 编制索引,上述搜索功能搜索 60,000 个条目大约需要 50 到 55 秒。编制索引后,上述搜索只需要大约 1-2 秒时间。

在 Sun ONE Directory Server 中,请在 Solaris 系统上使用以下命令为 icsCalendarOwned 属性编制索引:

server5/bin/slapd db2index -D slapd-serverID
-t icsCalendarOwned:eq,pres,sub:2.16.840.1.113730.3.3.2.11.1

其中,slapd-serverIDslapd-serverID 目录的完整路径。

设置 nsSizeLimit 和 nsLookthroughLimit 参数

LDAP 目录服务器配置中的 nsSizeLimitnsLookthroughLimit 参数必须足够大,使搜索能够正确完成。

要确定是否为这些参数设置了适当的值,请尝试以下命令:

ldapsearch -b "base"
"(&(icscalendarowned=*user*)(objectclass=icsCalendarUser))"

其中,base 是 Calendar Server 用户和资源数据所在目录服务器的 LDAP 基本 DN,user 是最终用户可以在“Calendar Express 订阅”->“日历搜索”对话框中输入的值。

如果 LDAP 服务器返回错误信息,可能是由于参数 nsSizeLimitnsLookthroughLimit 的值不够大。请按以下原则设置这些参数:


使用 LDAP 数据高速缓存选项

LDAP 数据高速缓存选项可以确保 LDAP 数据在提交后立即可用,即使数据在提交一段时间后才可用。

例如,如果您的站点上部署了主/从 LDAP 配置,其中,Calendar Server 通过从属 LDAP 目录服务器访问主 LDAP 目录,导致 LDAP 数据在提交一段时间后方可用。LDAP 数据高速缓存可以确保 Calendar Server 客户端获得准确的 LDAP 数据。

有关信息,请参阅附录 D“使用 LDAP 数据高速缓存”


使用 CLD 高速缓存选项

如果要与 LDAP CLD 插件一起使用,请确保将 ics.conf 文件中的以下配置参数设置为“yes”(这是每个参数的默认值):

caldb.cld.cache.enable = "yes"

caldb.cld.cache.enable 启用 CLD 高速缓存选项。此高速缓存选项用于存储日历用户的 DWP 主机服务器信息(icsDWPHost LDAP 属性),从而减少对 LDAP 目录服务器的调用。

service.calendarsearch.ldap = "yes"

service.calendarsearch.ldap 指定使用 LDAP CLD 插件还是使用用户首选的插件来执行日历搜索。


对会话数据库使用基于内存的文件系统

要改进 Calendar Server 在 Solaris 系统上的性能,可以通过设置 ics.conf 文件中的以下参数为会话数据库配置基于内存的文件系统 (tmpfs):

local.instance.use.tmpfs = "true"

然后将基于 service.http.sessiondir.pathservice.admin.sessiondir.path 参数的值覆盖 tmpfs 文件系统。

有关详细信息,请参阅 Solaris 文档中的 tmpfs(7FS)mount_tmpfs(1M) 手册页:

http://docs.sun.com/db/prod/solaris


在多个 CPU 中使用负载平衡

如果服务器上具有多个 CPU,默认情况下 Calendar Server 会将 HTTP 服务(cshttpd 进程)和分布式数据库服务(csdwpd 进程)分布到这些 CPU 中。

service.http.numprocessesservice.dwp.numprocesses 参数确定了每个服务实际运行的进程数目。默认情况下,这些参数被设置为安装时服务器的 CPU 数目,但您可以重置这些值。例如,如果服务器具有 8 个 CPU,但您希望 cshttpdcsdwpd 进程只在 4 个 CPU 中运行,那么可以将这些参数设置为:

service.http.numprocesses="4"
service.dwp.numprocesses="4"

要禁用负载平衡,请在 ics.conf 文件中添加 service.loadbalancing 参数并将其设置为“no”。然后重新启动 Calendar Server 以使更改生效。


设置 gse.belowthresholdtimeout 参数

ics.conf 文件中的以下参数以秒为单位指定 Calendar Server 扫描组计划引擎 (GSE) 队列中的传入作业之前等待的时间:

gse.belowthresholdtimeout = "3"

如果队列中的作业数目大于分配的最大线程数,最后一个线程始终会重新扫描队列。因此,此设置仅在作业数目少于分配的最大线程数时才有效。

默认值为 3。增加该值可以减少服务器扫描队列的频率,改进总体性能。


使用“刷新视图”选项

“刷新视图”选项使用浏览器高速缓存中的日历数据来刷新视图,而无需从 Calendar Server 数据库进行更新,因此对于 Calendar Express 最终用户来说,可以提高系统性能。

要启用“刷新视图”选项,必须将 ics.conf 文件中的以下参数设置为“yes”:

browser.cache.enable = "yes"

如果重置此参数,必须停止并重新启动 Calendar Server 才能使新值生效。

为站点配置了“刷新视图”选项时,Calendar Express 将在“视图”选项卡的所有日历视图中显示“刷新视图”。

用户单击“刷新视图”时,Calendar Express 首先检查视图中的日历数据是否已更改,然后请求从日历数据库中进行更新。如果数据未发生更改,Calendar Express 将使用浏览器高速缓存中的信息刷新视图。从而避免了不必要的日历数据库请求,这对于具有大量事件或任务的日历特别有用。

如果事件或任务已更改,Calendar Express 将从日历数据库请求更新来刷新视图。这样,用户也可以使用“刷新视图”来确保 Calendar Express 总是显示最新的日历数据。


禁用 Calendar Express 的工具栏重画选项

在用户单击“刷新”时,工具栏重画选项将重画(刷新)Calendar Express 视图。但有些时候,此选项可能会引发性能问题,因为 Calendar Server 需要对工具栏执行 XML 和 XSLT 转换才能刷新视图。

要禁用工具栏重画选项,请将 ics.conf 文件中的以下参数设置为“no”:

ui.toolbar.repainting.enable="no"

如果将 ui.toolbar.repainting.enable 设置为“no”,在任何视图上单击“刷新”,用户都将返回 Calendar Express 的默认视图。

ui.toolbar.repainting.enable 设置为“no”可改进性能,因为 Calendar Express 不必为工具栏执行 XML 和 XSLT 转换。

如果浏览器高速缓存选项(browser.cache.enable 参数)被设置为“yes”,将不使用工具栏重画选项。


客户端浏览器中的 XSL 渲染

Calendar Server 通过将 XSLT 处理下载到最终用户的浏览器上来执行客户端渲染,从而减少了必须由 Calendar Server 完成的处理。只有在浏览器能够渲染 XSLT 处理时,Calendar Server 才可以下载 XSLT 处理。在当前发行版中,只有 Internet Explorer 6.0 才支持此功能。

测试表明,客户端渲染可以将用户界面 (UI) 的可伸缩性提高 4 到 6 倍,这意味着 Calendar Server 可以在不超过 CPU 最大能力的情况下同时支持大约 4 到 6 倍之多的最终用户。

ics.conf 文件中的以下参数控制客户端渲染(当前仅适用于 Internet Explorer 6.0 或更高版本):

render.xslonclient.enable="yes"

默认情况下此参数被设置为“yes”。要关闭客户端渲染,请将此参数设置为“no”,然后重新启动 Calender Server。



上一个      目录      索引      下一个     


版权所有 2003 Sun Microsystems, Inc.。保留所有权利。