SMS Gateway Server 存储要求
要确定您将用于 SMS Gateway Server 的资源数量,请使用从表 D–27 中的要求所生成的数字,以及预期每秒中继消息的数量和 RECORD_LIFETIME 设置。
表 D–27 包含历史记录、SMPP 中继和 SMPP 服务器的要求。
表 D–27 SMS Gateway Server 存储要求
组件
|
要求
|
内存中历史记录
|
每条中继的消息都需要 33+m+s 个字节的虚拟内存,其中 m 为此消息的 SMS 消息 ID 的长度 (1 <= m <= 64),s 为此消息的 SMS 源地址的长度 (1 <= s<= 20)。
当 MAKE_SOURCE_ADDRESS_UNIQUE=0 时,则仅使用 16+m 个字节。对于 64 位操作系统,每条记录都将消耗 49+m+s 个字节的虚拟内存 [当 MAKE_SOURCE_ADDRESS_UNIQUE=0 时为 24+m]。
还请注意,堆分配器实际上可能为每条记录分配更大的虚拟内存。
记录的最大数目为 430 亿条 (2**32-1)。记录数目少于 1680 万条 (2**24) 时,散列表将消耗大约 16 Mb;记录少于 6710 万条 (2**26) 时,散列表将消耗大约 64 Mb;记录大于 6710 万条时,散列表将消耗大约 256 Mb。
64 位操作系统的内存消耗量加倍。
这些消耗不包括各条消息本身所需的内存消耗。
|
盘上历史记录
|
每条已中继的消息所需字节的平均数目如下:
81+m+2s+3a+ S+2i
其中:
-
m 为 SMS 消息 ID 的平均长度,且 1<=m<=64
-
s 为 SMS 源地址的平均长度,且 1 <= s <= 20
-
a 为电子邮件地址的平均长度,且 3 <= a <= 129
-
S 为 Subject: 标题行的的平均长度,且 0 <= S <= 80
-
i 为电子邮件消息信封 ID 的平均长度,且 0 <= i <= 129
任何特定记录的大小都受到消息的信封 From: 和 To: 地址的长度、信封和消息 ID 的长度,以及 Subject: 标题行的长度的影响。
最大记录长度为 910 个字节。
使用 MAKE_SOURCE_ADDRESS_UNIQUE=0 时,每条记录的大小(以字节为单位)都为:78+m+3a+S+2i。
|
SMPP 中继
|
每条已中继的 SMPP 会话将消耗两个 TCP 插槽:一个与本地 SMPP 客户机连接,另一个与远程 SMPP 服务器连接。在 32 位操作系统中,每条连接将消耗大约 1 Kb 的虚拟内存;在 64 位操作系统中则要消耗 2 Kb。
|
SMPP 服务器
|
每条外来连接都消耗一个 TCP 插槽。在 32 位操作系统中,每条连接将消耗大约 1 Kb 的虚拟内存;在 64 位操作系统中则要消耗 2 Kb。
|
例如,如果预期每秒平均中继 50 条消息,SMS 源地址为 13 个字节长,SMS 消息 ID 为典型长度 12 个字节,电子邮件地址为 24 个字节,Subject: 行为 40 个字节,电子邮件消息和信封 ID 各为 40 个字节,而历史记录则要保留 7 天,则:
如果可以提供足够的磁盘空间以处理任何磁盘要求,将严格限制 32 位计算机上的虚拟内存要求大约为 2Gb。要减少虚拟内存或磁盘存储所需的数量,请使用 RECORD_LIFETIME 选项,减少记录的保留时间长度。