首頁 資訊 醫(yī)院業(yè)務軟件健康管理實戰(zhàn)案例分享(三)

醫(yī)院業(yè)務軟件健康管理實戰(zhàn)案例分享(三)

來源:泰然健康網 時間:2024年11月23日 21:31

程序代碼未使用綁定變量對醫(yī)院信息系統(tǒng)健康運行的危害性

原理:語句的解析過程

關鍵判斷指標項:每秒解析量

每秒解析量過高(也稱解析過量),通常意味著正在運行的程序未采用綁定變量來書寫代碼。

未使用綁定變量問題的危害

1、直接危害:解析過量會導致系統(tǒng)資源被大量占用(主要是CPU,內存資源),影響整個業(yè)務系統(tǒng)數(shù)據(jù)庫的性能。

2、間接危害:解析過量因為占用資源,造成事務執(zhí)行時間變長,間接引起各種非空閑等待事件增加,進而造成業(yè)務系統(tǒng)的卡慢問題。

未使用綁定變量問題的危害案例1

假設某大型三甲醫(yī)院每天的門診掛號量約為10000次。

情況1:門診程序的掛號事務對應SQL代碼采用綁定變量的方式

這時所有的掛號事務被數(shù)據(jù)庫看成是同一種事務處理方式,只是具體到每一次掛號事務帶入的變量值不同,比如病人的姓名、掛號的科室、編號等。由于所有的掛號事務是作為同一種事務進行處理的,因此,只需要在第1次事務請求時,產生一次SQL語句的解析,生成和保存一個執(zhí)行計劃,以后所有掛號請求就都可以復用這個執(zhí)行計劃。情況1的資源開銷我們可以描述為:CPU開銷為1,內存開銷為1。

情況2:門診程序的SQL代碼未采用綁定變量的方式

這個時候數(shù)據(jù)庫系統(tǒng)是無法分辨是否是同一種事務處理方式的。所以每一次掛號請求都會進行SQL解析,產生一條新的執(zhí)行計劃。如此,每天10000次掛號請求,則每次數(shù)據(jù)庫系統(tǒng)都需生成一條新的執(zhí)行計劃,每一個執(zhí)行計劃都需要在內存中找到地方存放,則情況2的資源開銷為:CPU開銷為10000,內存開銷為10000。

即在這個例子中,未使用綁定變量的情況下,CPU和內存的開銷約為使用綁定變量時的10000倍。

問題處置建議

對于此類解析過量問題,通常有如下建議:

由于解析過量的問題是SQL語句中未使用綁定變量引起的,所以此類問題主要由系統(tǒng)軟件開發(fā)人員或開發(fā)廠商進行處理,針對程序質量進行針對性的改進,具體建議如下:

(1)業(yè)務已進入生產運營階段:由于整體修改程序代碼的成本較高,建議采取折中方法,采用工具軟件(如全景軟件)或人工命令篩選出解析頻繁度TOP5的語句(具體方法請參考下列真實案例)只對這些TOP語句進行綁定變量的優(yōu)化,從而實現(xiàn)在工作量盡量少的情況下,最大程度的改善解析過量造成的系統(tǒng)資源開銷過高情況。如果TOP5語句優(yōu)化后開銷仍然較高,可以再依次選取TOP6以后的更多語句進行優(yōu)化,直至資源開銷變?yōu)檎!?/p>

(2)業(yè)務尚處在研發(fā)測試階段:督促相關的開發(fā)者,建立嚴格的開發(fā)規(guī)范,業(yè)務軟件的代碼書寫要求應嚴格使用綁定變量;開發(fā)完成后,進行嚴格的測試,可配合使用全景軟件,發(fā)現(xiàn)代碼中存在的硬解析問題,減少系統(tǒng)上線后產生的性能問題,降低上線后修改程序的成本。

使用全景軟件發(fā)現(xiàn)及定位解析過量的問題

真實案例

(1)問題發(fā)現(xiàn):登錄全景軟件——問題溯源模塊,發(fā)現(xiàn)2021年11月存在大量的解析過量問題,由于此問題是存在程序代碼中的問題,點擊其中某次信息查看即可,例如查看2021-11-09 9:00解析過量問題塊。

上圖藍色矩形即代表著檢測到解析過量事件的時間區(qū)間,從中我們可以看到一個規(guī)律,因為解析過量屬于程序代碼質量問題,因此只要程序運行,就會受到該問題的影響,所以對存在解析過量問題的業(yè)務程序,往往在業(yè)務的高峰,嚴重的甚至是每天的整個業(yè)務運行時段,都會不斷報告出現(xiàn)解析過量事件。

(2)查看詳細信息:通過點擊問題,查看SQL文本,我們以解析頻繁度和總執(zhí)行時間兩個維度進行降序排列,得到TOP10 解析過量SQL,以第一個語句為例,該語句為“select * from OUTPATIENT_Record where 唯一標識=000375177400.6”該語句為業(yè)務系統(tǒng)(本例為電子病歷系統(tǒng))頻繁執(zhí)行的一條語句,該查詢語句的where子句未使用綁定變量,會造成CPU開銷增加,進而影響整個業(yè)務系統(tǒng)的性能。

建議先從解析頻繁度TOP5的語句開始優(yōu)化,即由綁定常量,改為綁定變量

下期分享

醫(yī)院業(yè)務軟件健康管理實戰(zhàn)案例分享(四)

---關鍵字段未使用索引問題返回搜狐,查看更多

責任編輯:

相關知識

健康管理軟件都有哪些 健康管理軟件推薦
個人(家庭)健康管理軟件
醫(yī)療健康企業(yè)數(shù)字化管理解決方案:醫(yī)療健康IVD行業(yè)CRM系統(tǒng)軟件
6月健康管理師大事件:健康管理新法案正式實施!
健康管理行業(yè)市場現(xiàn)狀、商業(yè)模式和成功案例解讀
健康管理專業(yè)方案.doc
智慧健康新時代:瑞慈方舟獲評健康中國創(chuàng)新實踐案例
健康服務與管理就業(yè)前景
河南切實提升企業(yè)職業(yè)健康管理水平
規(guī)范健康保障委托管理業(yè)務

網址: 醫(yī)院業(yè)務軟件健康管理實戰(zhàn)案例分享(三) http://www.u1s5d6.cn/newsview39402.html

推薦資訊