Ibm

IBM i (OS/400) 和臨時埠

  • June 22, 2015

我們內部有一個自定義應用程序,其中大量 Windows 客戶端正在訪問執行 V5R4 的 IBM i (AS/400) 上的映像服務。有時,在 CPU 負載過重的情況下,客戶端無法建立 TCP/IP 連接。由於 IBM i 對我來說有點陌生,我別無選擇,只能開始與其他作業系統(主要是 *NIX 和 Windows)進行比較。它們都有臨時埠的概念和使用,在該埠上建立與客戶端的連接。在其他作業系統中,連接池的大小從大約四萬到六萬四千不等。我想知道,在閱讀了這本手冊之後,IBM i 是否也支持臨時埠範圍配置,或者它是否預設使用從 1024 到 65535 的整個 IP 池?

據我所知,IBM i 及其前身使用從 1024 到 65535 的整個埠範圍。

成像服務也是在內部編寫的嗎?還是供應商應用程序?

許多本機 IBM i 應用程序使用單獨的程序(稱為作業)而不是多執行緒單程序來處理客戶端伺服器活動。由於啟動一個新程序相對來說代價高昂,標準做法是有一個可用的“預啟動”作業池等待處理請求。但是,如果大量連接請求同時進入,則在啟動新作業時連接可能會延遲。也可以限制一次使用的連接總數。

例如,讓我們看一下處理 ODBC/JDBC/OLEDB 請求的 QZDASOINIT 作業。

這個命令:

DSPACTPJ SBS(QUSRWRK) PGM(QZDASOINIT)

將向您顯示正在執行和使用的 QZDASOINIT 作業的目前、平均和峰值計數:

Prestart jobs:         
  Current number . . . 
  Average number . . . 
  Peak number  . . . . 

Prestart jobs in use:  
  Current number . . . 
  Average number . . . 
  Peak number  . . . . 

向下翻頁會顯示第二頁資訊:

Program start requests:                 
 Current number waiting . . . . . . . .
 Average number waiting . . . . . . . .
 Peak number waiting  . . . . . . . . .
 Average wait time  . . . . . . . . . .
 Number accepted  . . . . . . . . . . .
 Number rejected  . . . . . . . . . . .

預啟動作業通過分配給給定子系統的“預啟動作業條目”進行控制。以下序列將帶您進入“”:

dspsbsd qusrwrk

10. Prestart job entries

5=Display details

對於我的 QZDASOINIT 條目,我有以下內容

Initial number of jobs . . . . . . . . . . . . . :   1       
Threshold  . . . . . . . . . . . . . . . . . . . :   1       
Additional number of jobs  . . . . . . . . . . . :   2       
Maximum number of jobs . . . . . . . . . . . . . :   *NOMAX  
Maximum number of uses . . . . . . . . . . . . . :   200     
Wait for job . . . . . . . . . . . . . . . . . . :   *YES

有關更多詳細資訊,請查看用於調整預啟動作業條目的文件

引用自:https://serverfault.com/questions/700768