原文地址(英语):
http://scn.sap.com/community/businessobjects-web-intelligence/blog/2011/04/06/performance-tips-getti...
在产品的使用过程中,大多数用户不太愿意对服务器的配置进行改动。但事实上通过一些服务器参数的调整是可以达到调优服务器性能的目的,使用户从中受益的。这篇文章就将为您介绍一些可以达到此类调优效果的服务器配置参数以及应用方法。
服务器实例数量
为了最大化系统的扩展性,在服务器机或是虚拟服务器机中要根据系统的CPU内核(或虚拟内核)来决定服务器实例的数量,一般来讲,这个数量应不小于CPU内核数(或虚拟内核数)。例如,您的机器有4个内核,那么应该设置的Web Intelligence Processing 服务器实例数应至少是4个,请牢记这是一条决定服务器个数的黄金法则!
做到“每台机器上的每个CPU内核都去配置一个Web Intelligence Processing 服务器实例”将会有效的均衡负荷。假如您有两台机器,一台有4个内核,另一台有2个内核,所期望达到的效果是使4核的服务器能够承担双倍于2核服务器的工作量,那么您在4核机器上设置的Web Intelligence Processing 服务器实例数就应该是2核机器上的2倍,遵循这条黄金法则将会最有效的提高您的系统性能!
最大连接数
在遵循上述关于服务器实例数法则的基础上,如何对性能进行进一步调优呢?比如说,服务器数量已经根据 CPU 内核数进行合理配置,但是性能仍然受CPU内核类型、处理速度等其他因素的影响,我们该如何进行进一步调优系统呢?这个时候,您可以考虑用Web Intelligence Processing 服务器属性中的“最大连接数”来进行负载均衡。例如,您有两台4核的机器,一台是2.0GHz,另一台是2.5GHz(处理速度快25%),所期待的效果是2.5GHz的机器处理多于2.0GHz机器25%的工作。这种情况下,您只需要增大2.5GHz机器上的Web Intelligence Processing 服务器“最大连接数”就可以把更多的工作量分配到这台处理速度较快的机器。在这个例子中,我们可以把该参数从50调到63(50 + 25%= 62½, 约 63)。通常,我们不建议将这个数值调小,如果数值太小的话用户使用过程当中没有足够的连接系统就会报出“服务器繁忙(server busy)”这样的错误信息。我们没有必要给硬件资源添加不必要的限制。经常会听到有人主张控制这个参数来保护系统服务器,但是我更倾向于打破这种观念,最大化的利用系统资源。与其在限制资源的系统中频繁报错“服务器繁忙(server busy)”,倒不如最大化利用系统资源来得更加合理。这种做法虽然在负荷过大时会导致系统变慢,但是我们可以再寻找其他的方法来平衡这些负荷。
缓存
有很多方法可以帮助我们合理配置系统的缓存机制,下面就来介绍一下Web Intelligence Processing 服务器上一些主要的缓存配置参数:
启动文档高速缓存 - 该参数默认为启动状态。建议保持默认设置。
终端用户的使用经验印证了文档缓存机制能够显著的提高系统性能。启动文档高速缓存将允许执行Web Intelligence 工作时使用缓存, 尽管在初次生成缓存时会多花一些时间,但是在缓存产生后会提高报表后续展现的速度。特别是可以显著提高排程类似工作的速度。
启动实时高速缓存 - 该参数默认为启动状态。建议保持默认设置。
实时高速缓存将允许产生动态缓存,也就是说当系统发现缓存中没有的信息时会自动进行计算、保存以备后续使用。这对排程、和非排程工作都有很好的优化作用。
最大文档高速缓存大小 - 该参数默认值为1048576 K Bytes, 或1 G Byte。
默认值往往是无法满足多数用户的需求的。1G byte显然无法缓存客户用的所有数据,这意味着客户可能只享受产生缓存部分那1分钟的优越性能,之后产品性能就变的相对较差。所以我们建议把这个参数值调大,实际运用中把缓存大小设为20 G Byte或是50 G Byte都是很常见的。在这里值得注意的一点就是“最大文档高速缓存大小”并不是缓存文件的最大值,产品并不会每次去check缓存文件的大小,只是在服务器运行自动清理缓存数据时作为参考而使用。因此建议您随时监控自己的硬盘使用情况,防止溢出。
高速缓存超时 - 该参数默认值为4320分钟,或3天。
这意味着在缓存文件生成3天后即失效。若您的报表在每三天之内会进行一次排程,那么这个设定将不会影响您的系统。但是, 如果您的报表是每周或每月进行排程的话就需要把该参数改为一个星期或是一个月。理论上,如果您使用的是每星期排程的报表,把这个参数设为8天是比较妥当的。
文档高速缓存清除时间间隔 - 该参数默认值为120分钟,或2小时。
该参数设定了扫描缓存并根据大小减少缓存的频率。当缓存太大时系统会按照从旧到新的顺序把缓存减少到“最大文档高速缓存大小”的“文档高速缓存最大缩减空间(百分比)”(默认1G的70%)。以默认值为例,尽管设定了“最大文档高速缓存大小”,仍然要注意在清除完缓存后仅有70%的缓存会被保留下来。设置为2小时一般对系统是没有什么影响的,但是您也可以根据自己的磁盘大小和实际情况来调整这个参数。
禁用高速缓存共享 - 该参数默认为禁用。建议不用使用默认设置。
在单个的WebIntelligence Processing 服务器上共享缓存是没有意义的。当您使用多个Web Intelligence Processing服务器实例时使用高速缓存共享可以允许不同服务器间的缓存共享,大大提高使用缓存机制的系统工作效率。
使用高速缓存共享需要把“输出高速缓存目录”设为共享缓存文件夹。比较典型的应用方法是通过UNC/NFC路径使用网盘。(如果您的服务器代理运行在Microsoft Windows需要确保运行服务器代理的用户有相应的网络权限)通过该方法共享缓存可以提高处理效率,但是需要您注意网络问题和硬盘的限制。为了优化系统,可以考虑为Input FRS, Output FRS, Web Intelligence文档缓存指定单独的网络和硬盘。
在缓存共享的实际运用中,客户的反馈是多种多样的。有些客户表示受益匪浅,有的客户在打开、查看报表时出现问题,也有客户反映由于网络不稳定导致速度、稳定性不如本地硬盘。所以,在使用网络缓存共享时,提醒您一定要确保网络的稳定性。
如果您不指定“输出高速缓存目录”,那么每台机器都会用单独的文件夹来收集在这台机器上的所有Web Intelligence Processing服务器实例的缓存。实际上在这台机器上会一直存在一个可以共享的缓存文件,但是这种共享仅限于这台机器上的所有Web Intelligence Processing 服务器实例。只有指定“输出高速缓存
目录”才能共享更多的缓存信息。
当Web IntelligenceProcessing 服务器启动时系统会自动计算有多少缓存在使用中。BI4.0 Patch6.7 /BI 4.1 Patch 1.3以前,在服务器接受准备处理请求之前会先执行缓存计算,此时的状态为“初始化(initialization)”,计算完毕后再转为“运行中”。BI4.0Patch 6.7 /BI 4.1 Patch 1.3发行之后有所改善,产品单独运行缓存计算进程从而加快了启动服务器的速度。
Universe高速缓存最大大小 - 该参数默认值为20.
众所周知,不在缓存中的universe在使用中会需要更多的系统资源,所以建议您设置该参数大于等于您使用的universe总数量。该参数调大只会占用一小部分磁盘空间,并不会对内存的使用产生影响。
文章的最后,需要提醒您请管理和记录好你对系统做出的配置改动以备日后的系统恢复等工作。我们坚信上述的变更是具有普遍性和积极意义的,期待您的反馈并欢迎您提出宝贵意见。 :wink: