Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Remote » SQL Remote 部署和管理 » SQL Remote 管理 » 提高 SQL Remote 的性能 » 在接收消息时提高性能

 

通过高速缓存消息调整吞吐量

消息到达后,消息代理 (dbremote) 会在其被应用之前读取并将其存储在高速缓存中。将消息存入高速缓存可以防止:

  • 从消息系统中重新读取顺序错乱的消息。在大型系统中,重新读取消息会降低性能。当通过 WAN(例如,通过调制解调器连接的远程访问服务或 POP3)读取消息时,将消息存入高速缓存非常有用。

  • 读取消息(单线程任务)的数据库工作线程之间发生争用,因为消息的内容已被高速缓存。

消息的高速缓存机制

发生以下情况之一时,消息代理 (dbremote) 会在消息被应用之前将其存储在内存中:

  • 事务太大,以至于需要由多个部分组成的消息。

  • 消息未按正确顺序到达。

指定消息高速缓存的大小

使用消息代理 (dbremote) 的 -m 选项指定消息高速缓存的大小。-m 选项指定消息代理 (dbremote) 用于保存消息的最大内存量。允许的大小可以指定为 n(以字节为单位)、nK 或 nM。缺省值为 2048K (2M)。当超过指定的高速缓存使用量时,消息将被删除。

如果您拥有一个统一数据库和大量的远程数据库,则 -m 选项非常有用。请参见消息代理 (dbremote)中的 -m 选项。

示例

以下命令使用 12 MB 内存作为消息高速缓存来启动消息代理 (dbremote):

dbremote -c "DSN=SQL Anywhere 11 Demo" -m 12M
另请参见