Weblogic集群是指一组weblogic实例在一起提供具有防过载和自由复制的功能,以用一个域为所有客户支持可升缩的高可用性运行。集群对于客户是一个单一的服务器,但实际上是一组服务器来提高可靠性和可伸缩性。
①可伸缩性和高的可用性
可伸缩性是系统增加一个或更多部件来作为系统资源的能力。很典型的是,这些部件是并发用户得到支持,是并发事务能力在特定的时间单位能被处理。
假定应用程序设计很好,它完全可以简单的增加更多的资源来提高性能。为了增加weblogic处理的负荷量,只需增加一个weblogic实例到你的集群,不需要改变应用程序。集群提高两个关键的好处:可伸缩性和可用性,这是单一服务器所无法比拟的。
Weblogic集群给j2ee带来了可伸缩性和可用性,而且对于应用程序的开发者是透明的。可伸缩性扩展了中间层的能力,超过了单一的weblogic服务器或计算机能处理的。集群成员唯一的限制是所有weblogic必修要用ip多点传送通信。新的weblogic能动态的增加到集群,以增加处理能力。
Weblogic集群保证高的可用性是通过多个服务器的冗余,减少客户的请求失败。集群中过个服务器能提供同一服务。如果一个服务器停止运行,另一个能接替运行。这种功能为客户增加了可用性。
警告:如果你要解决应用程序和环境的瓶颈问题,增加额外的服务器到集群,应该提供线性的可伸缩性。定基准和初始配置测试运行时,在移到集群环境之前,应该把应用隔离在单独的服务器上测试。
②在多CPU机器上运行多服务器实例,应考虑的性能问题
多处理器的机器上,必须考虑集群weblogic实例数应与cup的数量成正比。因为weblogic没有内置限制的服务器实例数位于集群里,规模大的、多处理器的服务器,如Sun公司的sun enterprise 10000,有着当做非常大的集群或多集群主机的潜能。
在决定最佳的服务器和cpu比例之前,彻底测试你的应用程序并确定如下:
网络要求 如果你发现web 应用程序主要是受网络I/O限制,在增加cpu数量之前,考虑测试网络的吞吐量。如果实际是网络I/O限制,安装一个更快的网络接口卡(NIC)可以提高性能,而不是增加额外的cpu,因为在等着读socket时,更多的cpu会处于限制状态。
磁盘I/O要求 如果你发现web 应用程序主要是受网络I/O限制。在配置额外的cpu之前,就应该考虑增加磁盘转速或者单个磁盘。
总之,在配置额外的cpu之前,必须确定web应用程序是受cpu限制,而不是受网络或者I/O限制。
对于受cpu限制的应用,最初在每个cpu上对一个weblogic实例进行性能测试。如果cpu利用率是一致的或者接近100%,然后增加cpu比重,记住在产品模式下,应该有一些空闲的cpu周期存在去执行管理任务。
虽然web应用程序的处理需求变化多端,但是经过测试发现weblogic实例与cpu最理想的比例是1:2。