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

SQL Anywhere 12.0.0 (中文) » SQL Remote » 管理 SQL Remote 系统 » 提高 SQL Remote 的性能

 

接收消息任务

SQL Remote 消息代理 (dbremote) 在接收消息时会执行以下任务:

  • 轮询进来的消息   要检查是否存在已到达数据库的新消息,SQL Remote 消息代理 (dbremote) 会轮询新消息。请参见调整轮询间隔以检查新消息

  • 读取消息   消息到达后,会在应用前由 SQL Remote 消息代理 (dbremote) 读取并存储在高速缓存中。请参见通过高速缓存接收到的消息调整吞吐量

    如果某个消息丢失,且 SQL Remote 消息代理 (dbremote) 在连续模式下运行,则 SQL Remote 消息代理 (dbremote) 会等待该消息在后续轮询中到达。SQL Remote 消息代理 (dbremote) 等待的轮询数被称为等待时间,并且由 -rp 选项指定。

    • 如果丢失的消息在 SQL Remote 消息代理 (dbremote) 的等待时间到期之前到达,则该丢失的消息将按正确的顺序添加到高速缓存。

    • 如果丢失的消息未到达而 SQL Remote 消息代理 (dbremote) 的等待时间已到期,则 SQL Remote 消息代理 (dbremote) 会发送请求,要求从发布者数据库重新发送该消息。

    消息会继续被读取并添加至高速缓存,直到超出高速缓存的使用量。当超过通过 -m 选项指定的高速缓存使用量时,消息将被删除。

    请参见调整要重新发送消息的请求

  • 应用消息   SQL Remote 消息代理 (dbremote) 按正确的顺序将消息应用到预订者数据库。请参见调整工作线程数

  • 等待消息已应用到预订者数据库的确认   在预订的数据库中收到并应用了该消息后,将把确认信息返回给发布者。发布者 SQL Remote 消息代理 (dbremote) 在接收到确认后,将在系统表中跟踪该确认。请参见了解保证消息传送系统