多路复用连接和 CPU 利用率

许多传统的非线程 SQL 客户机应用程序使用多个数据库连接执行单个用户的任务。 每个数据库连接都建立到该数据库服务器的单独网络连接。多路复用连接设施在数据库服务器中提供一个网络连接功能以处理来自客户机应用程序的多个数据库连接。

多路复用连接使数据库服务器可以创建多个数据库连接,而不额外消耗其他网络连接所需的计算机资源。

当非线程客户机使用多路复用连接时,数据库服务器仍然创建与非多路复用连接同样数量的用户会话和用户线程。但是,网络连接数在使用多路复用连接时减少了。反之,数据库服务器使用一个多路复用侦听线程,允许多个数据库连接共享同一个网络连接。

要提高非线程客户机的响应时间,可以使用多路复用连接执行 SQL 查询。性能提高的程度取决于以下因素:
要对非线程客户机应用程序使用多路复用连接,必须在启动数据库服务器之前执行以下步骤:
  1. 使用 DBSERVERALIASES 配置参数定义别名。例如,指定:
    DBSERVERALIASES ids_mux
  2. 使用 sqlmux 将别名的 SQLHOSTS 条目添加为 nettype 条目,该条目在 SQLHOSTS 文件中为第 2 列。例如,指定:
    ids_mux  onsqlmux  ......

    该条目中的其他字段 hostnameservicename 必须存在,但不能忽略。

  3. sqlhosts 文件或注册表中指定客户机用于数据库服务器连接的 m=1,从而启用选定连接类型的多路复用。