F5关于CPU分配设计
在介绍
F5
在设计
CPU
时,需要解释一下
TMM
。
TMM
即
Traffic Management Microkernel
,自
9.0
开始,
F5
的所有
load-balanced
流量都有
TMM
来处理,而之前的版本都是使用
kernel
来处理。
CPU单核系统的设计:
BIG-IP 9.0.0
到
9.3.1
,
TMM
进程会占据整个
CPU
。当
TMM
空闲时,会释放
99%
的
CPU
用于其他进程处理事务;而当
TMM
处理流量时,仅会释放
20%
的
CPU
用于其他进程处理事务。因此,系统
top
命令显示结果很可能会出现
CPU
占用
100%
的情况。
F5
官方推荐使用“
bigpipe global
”命令查看
CPU
利用率。
BIG-IP9.4.2
到
9.4.8
,
TMM
最多占据
90%
的
CPU
,当
TMM
较空闲时,可以释放空闲
CPU
用于其它进程。
BIP-IP10.x
,
CPU
资源都被精确预分配,而当
TMM
较空闲时,可以释放空闲
CPU
用于其它进程。
CPU多核系统的设计,目前大多数平台都是多核:
BIG-IP versions 9.0.0 through 9.3.1
,最高标号
CPU
被专用于
TMM
进程。例如
LTM6800
,有两个
CPU
。其中
CPU1
被称为
tmCPU
,而
CPU0
作为
host CPU
,用于其他进程。因此从
top
命令查看到
cpu1
被占据为
100%
。
Beginning in BIG-IP version 9.4.0,
开始支持
CMP
技术,每个
CPU
都
launch
一个
TMM
进程,且最多释放
10%
的
CPU
用于其它进程。而
940
和
941
的版本,在
6400
和
6800
平台上不支持
CMP
技术,其
CPU
设计与
900-931
版本一致。
In
BIG-IP versions 9.4.2 through 9.4.8
,
CMP-ENABLED
平台,每个
CPU
都
launch
一个
TMM
进程,且占用
90%
的
CPU
,其余
10%
用于其它进程。同样
6400
和
6800
不支持
CMP
,其
CPU
设计与
900-931
版本一致。
In B
IG-IP versions 9.4.0 through 9.4.8 licensed for ASM or WebAccelerator
,
CMP
自动被全局
disable
,因此对高标号的
CPU
完全被
TMM
占据,同于
900-931
版本。
BIP-IP10.x
,
CPU
资源都被精确预分配,而当
TMM
较空闲时,可以释放空闲
CPU
用于其它进程。
Memory reservation and allocation:
In BIG-IP versions 9.0.0 through 9.4.6, the BIG-IP system reserves memory for TMM. The reserved memory is not available to the operating system for general use. As a result, the amount of memory that traditional UNIX utilities report will be incorrect.
Beginning in BIG-IP version 9.4.7, the distribution of memory between the Host and TMM changed.
本文转自 chris_lee 51CTO博客,原文链接:http://blog.51cto.com/ipneter/478934,如需转载请自行联系原作者