informix-online動(dòng)態(tài)服務(wù)器系統(tǒng)監(jiān)控
online系統(tǒng)管理員應(yīng)當(dāng)定期監(jiān)控online系統(tǒng)中的某些部分。這一點(diǎn)在初始配置以及進(jìn)入運(yùn)行后的參數(shù)調(diào)整階段非常重要。監(jiān)控系統(tǒng)主要監(jiān)控以下幾個(gè)方面:
1.消息日志
2.共享內(nèi)存使用
3.chunk的狀態(tài)和使用
4.有問題的用戶活動(dòng):sql語句、鎖、線索。
5.資源限制
1.1.消息日志存放有關(guān)online系統(tǒng)狀態(tài)的診斷性和管理性的信息。
位置:$INFORMIXDIR/tmp/online.log
通過onstat -m命令可以顯示最近的20條消息文件記錄,只有informix用戶才有權(quán)限查看文件。
通過cat /dev/null > onlin.log命令來定期清空文件。
2.1.因?yàn)楣蚕韮?nèi)存可以被online系統(tǒng)動(dòng)態(tài)地分配,所以應(yīng)當(dāng)監(jiān)控已經(jīng)創(chuàng)建的段的數(shù)目和大小。
通過命令onstat -g seg命令監(jiān)控內(nèi)存段
通過onmode -a segsize 向虛擬部分計(jì)入內(nèi)存段。
通過onstat -g mem命令監(jiān)控共享內(nèi)存的分配
通過命令onmode -F 命令釋放不再使用的共享內(nèi)存段。
3.監(jiān)控chunk的使用
通過命令onstat -d命令來查看chunk的狀態(tài)
主要關(guān)注dbspace中的chunk是否已滿和chunk是否處于脫機(jī)狀態(tài)。
4.監(jiān)控用戶活動(dòng)
4.1.online系統(tǒng)管理員可監(jiān)控單個(gè)用戶的會話活動(dòng),從這些信息中,你可以判斷出應(yīng)用程序代碼中是否存在某些問題,具體問題出在何處由開發(fā)人員來確定。
4.2.需要對用戶額以下活動(dòng)進(jìn)行監(jiān)控
每個(gè)用戶的讀寫情況。
所持有的鎖的數(shù)量和類型。
最后一條sql語句。
每個(gè)用戶分配的線索情況。
用戶創(chuàng)建的臨時(shí)表。
用戶的長事務(wù)情況。
可通過命令 onstat -g ses 獲得有關(guān)會話的信息。
進(jìn)一步想得到某一會話的信息可通過命令 onstat -g ses session-id 來獲取。
4.3.sql信息
可通過命令onstat -g sql 獲得有關(guān)sql的信息
進(jìn)一步的,可通過onstat -g sql session-id 得到某一會話的信息。
4.4.監(jiān)控用戶線索
可通過命令onstat -u列出所有需要rsam任務(wù)控制塊結(jié)構(gòu)的線索。
4.5.監(jiān)控事務(wù)長度
可以通過SMI的syssesprof表,或者通過命令onstat -g tpf session-id得到一個(gè)會話所用的邏輯日志空間的大小。但是需要注意的是,只有當(dāng)客戶程序連接時(shí),syssesprof的記錄才存在。
4.6.取消有問題的會話
onmode -z session-id
某些情況下,可能會需要結(jié)束一個(gè)會話,如發(fā)生死鎖、長事務(wù)或用戶持有一個(gè)被請求的資源。在這種情況下,如果可能的話,你應(yīng)當(dāng)主動(dòng)退出應(yīng)用程序。
如果不可能,你可以殺死該應(yīng)用程序。會話將會檢測出客戶程序進(jìn)程的連接中斷。如果會話仍在運(yùn)行,那么你可以運(yùn)行帶有會話id的onmode -z命令。
需要注意的是不要使用unix系統(tǒng)中的kill命令清除會話。
5.1.資源限制
在很多情況下,online系統(tǒng)資源的最初配置不能滿足系統(tǒng)的各種要求。online系統(tǒng)管理員可以使用onstat -p命令監(jiān)控是否有足夠的可用資源。