姚 振,李 挺,郭 駿,方 銳,劉海苗
(1.國(guó)網(wǎng)安徽省電力有限公司信息通信分公司,安徽 合肥 230061;2.國(guó)網(wǎng)信通產(chǎn)業(yè)集團(tuán)安徽繼遠(yuǎn)軟件有限公司,安徽 合肥 230088)
企業(yè)資源計(jì)劃企業(yè)資源計(jì)劃(Enterprise Resources Planning,ERP)是一套將財(cái)會(huì)、分銷(xiāo)、制造和其他業(yè)務(wù)功能合理集成的應(yīng)用軟件系統(tǒng)。
數(shù)據(jù)處理的系統(tǒng)、應(yīng)用和產(chǎn)品(System,Applications,and Products in Data Processing,SAP)既是一個(gè)公司名稱(chēng),又是該公司的ERP應(yīng)用軟件系統(tǒng)的名稱(chēng)。
ERP系統(tǒng)中的數(shù)據(jù)經(jīng)過(guò)日積月累,變得越來(lái)越龐大,進(jìn)而性能開(kāi)始出現(xiàn)下降。一般信息系統(tǒng)經(jīng)過(guò)多年運(yùn)行之后,性能都會(huì)出現(xiàn)明顯下降,而SAP系統(tǒng)涉及主機(jī)、數(shù)據(jù)庫(kù)、中間件、應(yīng)用等多個(gè)層面,需要各個(gè)崗位的工程師協(xié)同分析,這為系統(tǒng)的優(yōu)化帶來(lái)了難度。
對(duì)于SAP系統(tǒng)的優(yōu)化,需要遵循一定的方法論,對(duì)一個(gè)有性能問(wèn)題的ERP系統(tǒng),首先就是理解業(yè)務(wù)流程和設(shè)置及量化性能目標(biāo),制定系統(tǒng)提升性能計(jì)劃,然后對(duì)系統(tǒng)進(jìn)行健康檢查,通過(guò)監(jiān)控、識(shí)別和分析問(wèn)題,定位性能的瓶頸所在,再采取對(duì)應(yīng)的優(yōu)化措施。
常規(guī)優(yōu)化方法一般從應(yīng)用程序?qū)用娉霭l(fā),對(duì)明顯存在性能問(wèn)題的程序代碼進(jìn)行優(yōu)化。對(duì)應(yīng)用程序的優(yōu)化一般都是被動(dòng)的,即只有在某個(gè)程序出現(xiàn)性能問(wèn)題癥狀后,才去分析該程序的性能瓶頸位置,找出原因后對(duì)相關(guān)的代碼進(jìn)行優(yōu)化。
高級(jí)的優(yōu)化方法采用主動(dòng)式,首先通過(guò)監(jiān)控系統(tǒng)來(lái)發(fā)現(xiàn)問(wèn)題,再采用相應(yīng)的措施進(jìn)行優(yōu)化,甚至是未雨綢繆,提前評(píng)估系統(tǒng)可能存在的風(fēng)險(xiǎn),提前干預(yù),將可能發(fā)生的問(wèn)題扼殺在萌芽狀態(tài)。系統(tǒng)監(jiān)控和支持包括以下幾點(diǎn)。
監(jiān)控ERP系統(tǒng)所有Instance與數(shù)據(jù)庫(kù)所在主機(jī)的資源消耗情況與硬件表現(xiàn);監(jiān)控系統(tǒng)月結(jié)、年結(jié)期間ERP系統(tǒng)各instance間負(fù)載情況;監(jiān)控?cái)?shù)據(jù)庫(kù)的執(zhí)行情況與性能表現(xiàn);記錄系統(tǒng)關(guān)鍵點(diǎn),如系統(tǒng)日志、鎖狀態(tài)、登錄組、網(wǎng)關(guān)、系統(tǒng)更新的運(yùn)行狀態(tài);結(jié)合現(xiàn)有系統(tǒng)性能情況信息,跟蹤年結(jié)期間系統(tǒng)性能和年結(jié)前系統(tǒng)性能表現(xiàn)的差異;識(shí)別月結(jié)、年結(jié)期間性能不佳或資源消耗異常的程序與后臺(tái)作業(yè);針對(duì)系統(tǒng)月結(jié)、年結(jié)中運(yùn)行出現(xiàn)的狀況,及時(shí)作出技術(shù)應(yīng)對(duì)并記錄在案,作為運(yùn)維知識(shí)庫(kù);與相關(guān)業(yè)務(wù)部門(mén)和業(yè)務(wù)支持團(tuán)隊(duì)緊密協(xié)同,對(duì)系統(tǒng)中出現(xiàn)的異常業(yè)務(wù)應(yīng)用程序及時(shí)處置。與關(guān)聯(lián)系統(tǒng)運(yùn)維團(tuán)隊(duì)密切配合,保持業(yè)務(wù)整體的平穩(wěn)運(yùn)行。
為了保證優(yōu)化后的效果,首先需要對(duì)系統(tǒng)的監(jiān)控?cái)?shù)據(jù)進(jìn)行分析,有必要對(duì)整個(gè)系統(tǒng)系統(tǒng)設(shè)計(jì)一個(gè)監(jiān)控和優(yōu)化計(jì)劃。SAP系統(tǒng)包含一系列功能強(qiáng)大的針對(duì)監(jiān)控和性能分析的程序,并且會(huì)根據(jù)SAP性能專(zhuān)家的經(jīng)驗(yàn)不斷地被添加。計(jì)算機(jī)中心管理系統(tǒng)(Computer Center Management System,CCMS)是SAP系統(tǒng)的中心監(jiān)控系統(tǒng),事物碼為RZ20,它可以連續(xù)監(jiān)控檢查系統(tǒng)所有部分是否可用或工作是否良好,如果出現(xiàn)問(wèn)題,將觸發(fā)警報(bào),所有組件的錯(cuò)誤報(bào)告都會(huì)被發(fā)送到這里。
4.2.1 CCMS
CCMS是一個(gè)中心監(jiān)控架構(gòu),它持續(xù)測(cè)量所有硬件和軟件組件的性能,通過(guò)此架構(gòu)實(shí)現(xiàn)連續(xù)監(jiān)控的自動(dòng)化運(yùn)行,把一個(gè)SAP系統(tǒng)定義為中心監(jiān)控系統(tǒng),所有其他的SAP系統(tǒng)包括SAP實(shí)例、數(shù)據(jù)庫(kù)、操作系統(tǒng)都可以連接到中心監(jiān)控系統(tǒng)的警報(bào)監(jiān)控器中,甚至對(duì)于非SAP系統(tǒng)如目錄系統(tǒng)、統(tǒng)一權(quán)限、企業(yè)門(mén)戶(hù)等也可以接入進(jìn)來(lái)。中心監(jiān)控器包括以下具體內(nèi)容。
(1)對(duì)SAP軟件組件、服務(wù)器、數(shù)據(jù)庫(kù)、第三方組件進(jìn)行完整詳細(xì)的監(jiān)控。如果超出值域范圍或者不滿(mǎn)足值域范圍,將對(duì)性能標(biāo)識(shí)進(jìn)行狀態(tài)標(biāo)識(shí)。(2)警報(bào)跟蹤和管理。(3)具有開(kāi)放式結(jié)構(gòu),具有可擴(kuò)展性,可以與非SAP軟件集成。(4)具有與SAP解決方案管理器結(jié)合的用于監(jiān)控和追查錯(cuò)誤的圖形界面。
4.2.2 SAP性能監(jiān)控器
SAP性能監(jiān)控器是分析性能的工具。它們?cè)谛阅懿藛沃斜灰黄鹆谐觯ㄊ聞?wù)代碼STUN)。要調(diào)用這個(gè)菜單,選擇:Tools->Administration->Monitor->Performance或者Tools->CCMS->Control/Monitoring->Performance menu操作系統(tǒng)監(jiān)控器是用來(lái)分析硬件瓶頸和操作系統(tǒng)問(wèn)題的工具。要為目前登陸的應(yīng)用系統(tǒng)啟動(dòng)操作系統(tǒng)監(jiān)控器,選擇Tools->Administration->Monitor->Performance ->Operating System->Local->Activity或輸入事務(wù)代碼ST06。如果要選擇其他的服務(wù)器,可以先用OS07作服務(wù)器選擇。
4.2.3 SAP應(yīng)用服務(wù)器參數(shù)優(yōu)化
整個(gè)SAP系統(tǒng)支持幾百個(gè)參數(shù)配置,內(nèi)存、緩存、接口配置、網(wǎng)絡(luò)通信等各個(gè)層面都可以通過(guò)各種參數(shù)調(diào)整來(lái)達(dá)到優(yōu)化的目的,但是參數(shù)的調(diào)整需要本著謹(jǐn)慎的態(tài)度,通過(guò)官方渠道確認(rèn)問(wèn)題所在,需要在官方的指導(dǎo)文檔下才能作出調(diào)整,否則很有可能給系統(tǒng)帶來(lái)負(fù)面的影響,下面以筆者在運(yùn)維過(guò)程中的一個(gè)例子來(lái)說(shuō)明問(wèn)題。
筆者在日常的運(yùn)維工作中,發(fā)現(xiàn)ICM組件狀態(tài)偶有異常,分析發(fā)現(xiàn)ICM配置的連接數(shù)量參數(shù)(icm/max_conn)為默認(rèn)值500,由于在ERP對(duì)外提供的webservice服務(wù)是通過(guò)其專(zhuān)用組件ICM進(jìn)行管理的。當(dāng)前ERP系統(tǒng)通過(guò)webservice服務(wù)與外圍系統(tǒng)連接的接口多達(dá)上百個(gè),當(dāng)接口調(diào)用高峰期時(shí),連接數(shù)量出現(xiàn)瓶頸,導(dǎo)致ICM服務(wù)中斷影響接口運(yùn)行,通過(guò)查閱官方資料和分析,發(fā)現(xiàn)網(wǎng)絡(luò)通信的服務(wù)參數(shù)設(shè)置已不滿(mǎn)足當(dāng)前系統(tǒng)需求,結(jié)合系統(tǒng)的應(yīng)用運(yùn)行情況,計(jì)劃修改對(duì)應(yīng)參數(shù),修改值如下。
(1)icm/keep_alive_timeout (sec.),當(dāng)前值為60,可以修改為450,通過(guò)提高該參數(shù)的時(shí)間值,可以提高系統(tǒng)允許的等待時(shí)間,避免由于網(wǎng)絡(luò)延遲導(dǎo)致的服務(wù)超時(shí)。(2)icm/max_conn,當(dāng)前值為500,可以修改為16 000,通過(guò)提高該參數(shù)的值,可以增加允許的連接上限。
4.2.4 數(shù)據(jù)清理
SAP公司的ERP系統(tǒng)在運(yùn)行過(guò)程中會(huì)產(chǎn)生大量系統(tǒng)管理數(shù)據(jù),該部分?jǐn)?shù)據(jù)如不清理,會(huì)占用PSAPSR3表空間的30%左右。由于該部分?jǐn)?shù)據(jù)不是業(yè)務(wù)數(shù)據(jù),僅提供系統(tǒng)管理參考,無(wú)需存放太久。龐大的數(shù)據(jù)會(huì)影響系統(tǒng)性能,延長(zhǎng)系統(tǒng)備份及恢復(fù)時(shí)間,給系統(tǒng)帶來(lái)風(fēng)險(xiǎn)。例如系統(tǒng)中有一些記錄通信日志的系統(tǒng)表,數(shù)據(jù)增長(zhǎng)速度相當(dāng)快,過(guò)多的歷史數(shù)據(jù)不僅占用較大的存儲(chǔ)空間,也降低了系統(tǒng)數(shù)據(jù)庫(kù)讀寫(xiě)數(shù)據(jù)的速度,影響系統(tǒng)的性能,這些系統(tǒng)表的數(shù)據(jù)需要定期進(jìn)行清理,清理完成之后還需要做數(shù)據(jù)庫(kù)表空間的釋放工作。其中典型的表就是ARFCSDATA表,此表為ERP系統(tǒng)自帶表,自動(dòng)記錄ERP系統(tǒng)與外部系統(tǒng)之間RFC通信日志,由于筆者的ERP系統(tǒng)與外圍系統(tǒng)集成接口交互較多,ERP系統(tǒng)每天會(huì)自動(dòng)在此表自動(dòng)增加100萬(wàn)條左右記錄,導(dǎo)致ERP系統(tǒng)表空間增加較快,歸檔日志的增長(zhǎng)速度過(guò)快,歸檔日志所占空間也較大,此表的數(shù)據(jù)可以作清理。SAP公司內(nèi)置了程序rsarfcer用來(lái)清理此表的數(shù)據(jù),可以將某個(gè)時(shí)間之前的歷史數(shù)據(jù)全部清空,或者定期清理,并將表進(jìn)行重組操作,將所占用的表空間釋放出來(lái),以提高數(shù)據(jù)庫(kù)空間的有效利用率。
4.2.5 硬件資源優(yōu)化
硬件資源優(yōu)化主要從服務(wù)器的CPU、內(nèi)存、存儲(chǔ)等方面來(lái)進(jìn)行優(yōu)化,但是硬件優(yōu)化不是單純地提高硬件配置,而是需要結(jié)合業(yè)務(wù)應(yīng)用特點(diǎn),分析系統(tǒng)消耗CPU、內(nèi)存、存儲(chǔ)等資源的主要因素,分析占用系統(tǒng)資源可以從以下幾個(gè)方面考慮。
統(tǒng)計(jì)系統(tǒng)平均工作日日訪問(wèn)用戶(hù)人數(shù),以及用戶(hù)數(shù)量增長(zhǎng)情況,來(lái)評(píng)估用戶(hù)的增長(zhǎng)對(duì)系統(tǒng)資源的要求;分析ERP系統(tǒng)和相關(guān)信息系統(tǒng)之間的接口增長(zhǎng)速度,評(píng)估這些增長(zhǎng)會(huì)對(duì)系統(tǒng)硬件資源帶來(lái)的增長(zhǎng)需求,這些接口程序占用了較大系統(tǒng)CPU、內(nèi)存資源,尤其是內(nèi)存資源;通過(guò)統(tǒng)計(jì)新業(yè)務(wù)需求和新開(kāi)發(fā)程序情況,來(lái)評(píng)估對(duì)運(yùn)行負(fù)載會(huì)帶來(lái)多大的影響;隨著業(yè)務(wù)的有效開(kāi)展,數(shù)據(jù)量不斷增加,有的單表數(shù)據(jù)達(dá)到百萬(wàn)級(jí)甚至千萬(wàn)級(jí),因而評(píng)估系統(tǒng)總數(shù)據(jù)的增長(zhǎng)趨勢(shì),來(lái)提前準(zhǔn)備存儲(chǔ)資源。
文章主要內(nèi)容是如何來(lái)提高SAP ERP系統(tǒng)的整體性能,對(duì)優(yōu)化提供了新的方法,開(kāi)拓了新的視野。SAP公司的各種軟件產(chǎn)品非常豐富,有ERP,CRM,SLM等各種企業(yè)管理系統(tǒng)。文章僅研究了SAP公司ERP產(chǎn)品的性能優(yōu)化,另外SAP公司產(chǎn)品更新速度很快,作為該行業(yè)的從業(yè)人員,要充分利用各種學(xué)習(xí)資源、不斷學(xué)習(xí)相關(guān)的新知識(shí),才能跟上SAP公司快速發(fā)展的步伐。