管理与编程指南
“现场连接”管理数据库和 Java 应用程序连接,从而改进 Net.Data 在 Windows NT、
OS/2、AIX 和 Sun Solaris 操作系统上的性能。通过使用“连接管理器”和维护开放连接的 cliette、进程,“现场连接”消除了连接到数据库或启动 Java 虚拟机的启动开销。
“现场连接”使用配置文件 dtwcm.cnf 来确定需要启动哪几个
cliette。它包含管理信息和对“现场连接”所使用的每个 cliette 的定义。参见管理连接来更多地了解“现场连接”。
图 6中所示的示例配置文件包含了以下类型的信息:
- “连接管理器”端口信息
- 用于 DB2 连接的 SQL cliette 信息
- Java 应用程序 cliette 信息
图 6. “现场连接”配置文件
1 CONNECTION_MANAGER{
2 MAIN_PORT=7100
3 }
4
5 CLIETTE DTW_SQL:CELDIAL{
6 MIN_PROCESS=1
7 MAX_PROCESS=5
8 EXEC_NAME=./dtwcdb2
9 DATABASE=CELDIAL
10 LOGIN=marshall
11 PASSWORD=stlpwd
12 }
13
14 CLIETTE DTW_JAVAPPS{
15 MIN_PROCESS=1
16 MAX_PROCESS=5
17 EXEC_NAME=./javaapp
18 }
|
- 1 - 3 行是配置文件所必需的,定义与“现场连接”一起使用的唯一的端口号。
- 5 - 12 行定义所有的数据库 cliette,标识了 cliette 名称、要运行的进程个数、数据库名称以及
cliette 可执行文件。您可以包含一些附加信息,例如连接到 DB2 数据库的用户标识和口令。
- 14 - 18 行定义所有用于 Java 应用程序的 cliette,标识了 cliette 名称、要运行的进程个数、
唯一的端口号以及 cliette 可执行文件。
|
|
开始之前:在定制“现场连接”配置文件之前,请先阅读执行步骤后面的
提示和技巧部分。
配置“现场连接”端口:
您对 MAIN_PORT 选择的值就是将要首先使用的端口号。“现场连接”可使用的端口号可以通过 MAIN_PORT 的设置和每个 cliette 的 MAX_PROCESSES
计算出来。在装入时,“现场连接”从 MAIN_PORT 中指定的编号开始分配端口,
并逐渐递增,直到达到累积的 MIN_PROCESSES 为止。根据需要,
它将继续装入端口,直到达到 MAX_PROCESSES 为止。使用的最大端口号是
MAX_PROCESSES 设置的和。
例如,在图 6中的配置中,分配的端口号将是
7100、7101 和 7102,然后根据需要增加至 7110。
要点:
- 请与系统管理员一起进行检查,以确保您计划使用的端口号是可用的。
- 确保 MAIN_PORT 的值应与 Net.Data 初始化文件中 DTW_CM_PORT 的值相匹配。
配置数据库 cliette:
- 输入 cliette 环境语句。
CLIETTE type:db_name
参数:
- type
- 使语言环境和 cliette 关联的名称。参见第***页,以获取有效类型的列表。
- db_name
- 数据库 cliette 的名称,通常与 cliette 关联的数据库同名,例如 MYDBASE;
当然,db_name 也可以是另一个名称。在使用 Oracle 语言环境时,db_name 是可选的。
- 确定 MIN_PROCESS 和 MAX_PROCESS 的值。MIN_PROCESS 指定了启动“连接管理器”时要启动的进程个数。随后,
如果同时到达其他的请求,则“连接管理器”将启动更多的 cliette,根据需要添加
cliette,直至到达为 MAX_PROCESS 指定的值。
输入 MIN_PROCESS 和 MAX_PROCESS 语句:
MIN_PROCESS=min_num
MAX_PROCESS=max_num
参数:
- min_num
- 在启动“连接管理器”时要启动的 cliette 进程的个数。对于这个数量的
cliette,您必须有足够多可用的、唯一的端口号。
- max_num
- 可以同时运行的 cliette 的最多个数。对于这个数量的
cliette,您必须有足够多可用的、唯一的端口号。
- 指定 cliette 可执行文件的名称。此文件名的指定如下:
EXEC_NAME=./dtwcdbtypeid
其中,dbtypeid 是数据库类型标识符。参见表 6,以获取有效的可执行文件名:
表 6. Cliette 可执行文件名
Cliette 描述
| Cliette 类型
| 名称
| 平台有效性
|
UNIX
| Windows NT 或 OS/2
| AIX
| NT
| OS/2
| HP
| SUN
| PTX
|
---|
DB2 进程 cliette
| DTW_SQL
| dtwcdb2
| dtwcdb2.exe
| 是
| 是
| 是
| 是
| 是
| 否
|
ODBC 进程 cliette
| DTW_ODBC
| dtwcodbc
| dtwcodbc.exe
| 是
| 是
| 否
| 否
| 否
| 否
|
Oracle 进程 cliette
| DTW_ORA
| dtwcora
| dtwcora.exe
| 是
| 是
| 否
| 否
| 否
| 否
|
- 指定 cliette 所关联的数据库的名称:
DATABASE=db_name
其中 db_name 是 cliette 所关联的数据库的名称;
例如 MYDBASE。
- 可选:将 LOGIN 和 PASSWORD 变量的缺省值更改为 *USE_DEFAULT,这样,Net.Data
就可以使用启动“连接管理器”时使用的用户标识连接到 DB2 数据库。通过指定这些缺省值,
您可以避免将这一信息放在配置文件中。例如,
用以下几行来代替图 6中示例配置文件中的 14 和 15 行:
LOGIN=*USE_DEFAULT
PASSWORD=*USE_DEFAULT
提示:如果您在配置文件中定义多个 cliette
条目,则您可以对某个特定的数据库指定不同的数据库登录和口令。
配置 Java 应用程序 cliette:
- 输入 cliette 环境语句:
CLIETTE DTW_JAVAPPS
- 确定 MIN_PROCESS 和 MAX_PROCESS 的值。MIN_PROCESS 指定了启动“连接管理器”时要启动的进程个数。
随后,如果有同时的请求到达,则“连接管理器”将启动更多的 cliette,根据需要添加
cliette,直至到达为 MAX_PROCESS 指定的值。
输入 MIN_PROCESS 和 MAX_PROCESS 语句。
MIN_PROCESS=min_num
MAX_PROCESS=max_num
参数:
- min_num
- 在启动“连接管理器”时启动的 cliette 进程的个数。对于这个数量的
cliette,您必须有足够多可用的、唯一的端口号。
- max_num
- 可以同时运行的附加 cliette 的最多个数。对于这个数量的
cliette,您必须有足够多可用的、唯一的端口号。
配置“现场连接”的提示和技巧:
- “连接管理器”使用 cliette 名称来唯一地标识一系列 cliette。
- 对于数据库 cliette,您必须确保对每个计划访问的数据库都有一个已命名的
cliette 集合。对于很少访问的数据库,您可以将 cliette 的 MIN 和 MAX 个数设置为
1。同样,您还可以将 MIN 设置为 0,这意味着在对 cliette 进行 Net.Data 请求之前不会启动进程。
- cliette 的 NAME 必须与初始化文件中用于 cliette 类型的 ENVIRONMENT
语句所引用的 cliette 名称一致。cliette 名称中可以包含变量,如果是数据库 cliette,
那么它应该包含变量引用 $(DATABASE)。ENVIRONMENT 语句中用于 cliette 名称的缺省值是
DTW_SQL:$(DATABASE)。您可以在初始化文件中使用变量引用,但不能在“现场连接”配置文件中使用变量引用。
DATABASE 变量在
Net.Data 宏中定义。当宏中遇到 SQL 语句时,Net.Data 初始化文件中的
$(DATABASE) 变量引用将被 DATABASE 的当前值代替。
您可以使用这个方法来访问多个数据库。如果您想要在
Net.Data 宏中访问三个数据库(例如,D1、D2 和 D3),并且初始化文件中有标准的
CLIETTE "DTW_SQL:$(DATABASE)" 行,那么您在“现场连接”配置文件中需要这样的三个部分:
CLIETTE DTW_SQL:D1{ ...}
CLIETTE DTW_SQL:D2{....}
CLIETTE DTW_SQL:D3{....}
- 进程被启动,但不停止。如果您将最大进程个数设置为 M,并且任意时刻 M 个进程是同时使用的,
在关闭“连接管理器”之前它们将保持活动状态,这样您就不希望 MAX_PROCESS
的值这么高,为了启动很少使用的进程而用尽了所有的系统资源。
建议:请尝试对
MIN_PROCESS 和 MAX_PROCESS 使用不同的值,看看哪一个能在您的系统上发挥最佳性能。
如果“连接管理器”接收到的请求超过了指定的最大值,最后一个请求将被排队,直至某个 cliette
完成了它的处理。当有一个 cliette 可用时,排队的那个请求将被处理。这种将请求排队的过程对于应用程序用户来说是透明的。
- 您可以对不同名称的部分使用同一个 cliette。例如,配置文件中所有的 DB2
数据库部分都使用相同的 cliette 类型。但是两个部分不能有相同的名称。
如果您使用 CGI,并且只希望几个数据库使用“现场连接”,
则只要在配置文件中列出您所希望的数据库即可。如果 Net.Data 在处理 Net.Data 宏时遇到了 SQL
函数,它将向“连接管理器”询问某个特定的 cliette。如果“连接管理器”没有该类型的 cliette,它将以一个
NO_CLIETTE_AVAIL 信息作为应答。然后,Net.Data 用一个 DLL 版本来处理该请求。
确认“连接管理器”服务自动启动:
在 Windows NT 上,您可以指定将“连接管理器”作为 Windows NT
的服务启动,而不是从命令行启动。将“连接管理器”作为 Windows NT
的服务运行可以使“连接管理器”在每次启动机器时自动启动。
要点:在将“连接管理器”设置为自动启动之前,
先从命令行启动,以确保“现场连接”配置文件是正确的。
- 从 Windows NT 任务栏,选择开始 -> 设置 -> 控制面板 -> 服务。
- 选择 Net.Data 连接管理器,然后单击启动按钮。
- 选择自动启动类型,然后单击确定。
[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]