消息到达后,消息代理 (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 |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |