監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

電子商務(wù)系統(tǒng)性能評(píng)測(cè)與數(shù)據(jù)存取優(yōu)化

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

來(lái)源:泛普軟件

電子商務(wù)系統(tǒng)性能評(píng)測(cè)與數(shù)據(jù)存取優(yōu)化 1

Java 2企業(yè)版(J2EE)技術(shù)自從誕生以來(lái),經(jīng)過(guò)近幾年的發(fā)展,已經(jīng)成為建沒(méi)電子商務(wù)系統(tǒng)的重要的技術(shù)方案。不象.NET,J2EE是開(kāi)放的工業(yè)標(biāo)準(zhǔn),由Sun公司領(lǐng)導(dǎo)的工作小組負(fù)責(zé)制定。這樣就帶來(lái)一個(gè)好處,軟件廠家就町以根據(jù)該標(biāo)準(zhǔn)開(kāi)發(fā)包括應(yīng)用構(gòu)件、開(kāi)發(fā)工具和J2EE服務(wù)器以及其它相關(guān)的產(chǎn)品。目前,有超過(guò)30家軟件廠家致力于J2EE軟件的開(kāi)發(fā)。由于他們開(kāi)發(fā)的產(chǎn)品都基于同樣的標(biāo)準(zhǔn)。而該標(biāo)準(zhǔn)是基于Java技術(shù)的,不僅保證了J2EE應(yīng)用程序和操作系統(tǒng)是無(wú)關(guān)的,還保證用戶開(kāi)發(fā)的應(yīng)用軟件可以在不同廠家生產(chǎn)的中間件上運(yùn)行。給用戶帶來(lái)了前所未有的選擇自由性。當(dāng)平臺(tái)的功能已經(jīng)標(biāo)準(zhǔn)化,人們關(guān)心的焦點(diǎn)轉(zhuǎn)移到了J2EE服務(wù)器的性能和擴(kuò)展性上。標(biāo)準(zhǔn)化的測(cè)試基準(zhǔn)成為人們?cè)u(píng)測(cè)和選擇J2EE中間件的基本工具,EcPerf是Sun公司和其他J2EE服務(wù)器廠家共同設(shè)計(jì)和開(kāi)發(fā)的基準(zhǔn)測(cè)試包。軟件,一家可以用之測(cè)試和改進(jìn)各自的J2EE應(yīng)用服務(wù)器,各個(gè)廠家產(chǎn)品性能的提高直接給用戶帶來(lái)益處。而對(duì)于用戶來(lái)講,則可以使用該基準(zhǔn)測(cè)試,來(lái)評(píng)價(jià)和選擇不同廠家的產(chǎn)品。我們正是站在用戶的角度,通過(guò)對(duì)Jboss應(yīng)用服務(wù)器和MySQL數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行測(cè)試。找出系統(tǒng)的性能瓶頸,進(jìn)行針對(duì)性的優(yōu)化,有效地?cái)U(kuò)展系統(tǒng),EcPerf是實(shí)際應(yīng)用的一個(gè)縮影,通過(guò)運(yùn)行該測(cè)試,把炎踺的性能瓶頸找出來(lái),通過(guò)數(shù)據(jù)存取優(yōu)化,提高系統(tǒng)的吞吐量:最后,結(jié)合測(cè)試的經(jīng)驗(yàn),提出了J2EE電子商務(wù)系統(tǒng)數(shù)據(jù)存取優(yōu)化的若干關(guān)鍵原則。

2 J2EE技術(shù)體系結(jié)構(gòu)

J2EE技術(shù)是一個(gè)平臺(tái)性的技術(shù),為開(kāi)發(fā)大型分布式的企業(yè)應(yīng)用(包括電子商務(wù)系統(tǒng))提供了基礎(chǔ)服務(wù)。EJB技術(shù)規(guī)范是這個(gè)技術(shù)架構(gòu)的核心,它定義了J2EE應(yīng)用的基礎(chǔ)關(guān)鍵模塊,包括實(shí)體EJB、會(huì)話EJB和消息傳遞EJB以及必需的基礎(chǔ)服務(wù)。J2EE平臺(tái)使得用戶只需要關(guān)心商業(yè)邏輯的實(shí)現(xiàn),企業(yè)計(jì)算所需要的公共服務(wù)由平臺(tái)來(lái)提供,這些服務(wù)包括緩存服務(wù)、連接緩沖池、機(jī)群管理、失敗轉(zhuǎn)移、負(fù)載均衡、名字服務(wù)等等。要建設(shè)一個(gè)具有高度擴(kuò)展性的電子商務(wù)系統(tǒng),這些服務(wù)足必需的。由于J2EE平臺(tái)把基礎(chǔ)服務(wù)和應(yīng)甩邏輯清晰分開(kāi),中間件廠家致力于平臺(tái)軟件的開(kāi)發(fā)和優(yōu)化,用戶只需要考慮商業(yè)邏輯的正確實(shí)現(xiàn)即可。

面對(duì)眾多的基于J2EE技術(shù)架構(gòu)的中間件,用戶如何進(jìn)行選擇呢?廠家一般發(fā)布各自的測(cè)試結(jié)果,這些結(jié)果采用的測(cè)試基準(zhǔn)和測(cè)試方法一般不一樣,不同廠家的測(cè)試可能得出相互矛盾的結(jié)論。標(biāo)準(zhǔn)化的測(cè)試基準(zhǔn)正是適應(yīng)用戶的需要而開(kāi)發(fā)出來(lái)的,EcPerf正是這樣的測(cè)試標(biāo)準(zhǔn)。用戶可以使用該標(biāo)準(zhǔn)評(píng)測(cè)不同廠家的中間件,度量其性能、可靠性和擴(kuò)展性,從而做出選擇。

3 測(cè)試基準(zhǔn)

EcPerf基準(zhǔn)測(cè)試由技術(shù)規(guī)范和工具軟件包構(gòu)成。技術(shù)規(guī)范對(duì)基準(zhǔn)測(cè)試進(jìn)行了詳細(xì)的描述,包括負(fù)載構(gòu)成、測(cè)試運(yùn)行過(guò)程、擴(kuò)展準(zhǔn)則、操作規(guī)范以及性能指標(biāo)的測(cè)試等;而相關(guān)的工具軟件包則提供運(yùn)行測(cè)試和度量性能指標(biāo)的源代碼。EcPerf的開(kāi)發(fā)得到了主要的J2EE廠商的支持,包括BEA、IBM、iPlanel、Oracle、sun、Borland以及IONA等。

EcPerf基于一個(gè)大型的分布式應(yīng)用進(jìn)行建模,設(shè)計(jì)者選擇制造過(guò)程管理、供應(yīng)鏈管理、定單和庫(kù)存管理作為整個(gè)系統(tǒng)的基本功能框架。這是一個(gè)重量級(jí)的業(yè)務(wù)系統(tǒng),需要一個(gè)強(qiáng)大的中間件平臺(tái)的支持。整個(gè)系統(tǒng)需要用到眾多的中間件服務(wù),包括分布式事務(wù)處理、機(jī)群管理、負(fù)載均衡、超強(qiáng)容錯(cuò)、緩存管理、持久化管理(數(shù)據(jù)庫(kù)操作)、數(shù)據(jù)庫(kù)連接緩沖池管理等。

EcPerf數(shù)據(jù)模型包括四個(gè)商業(yè)領(lǐng)域的實(shí)體。分別是客戶管理域(Customer)、制造過(guò)程管理域(Manufacturing)、供應(yīng)鏈管理域(Supplier)、公司內(nèi)部信息管理域(Corporation)等??蛻艄芾碛蛱幚砜蛻粽?qǐng)求和進(jìn)行其定單管理。制造過(guò)程管理域負(fù)責(zé)“及時(shí)”(Just In Time)制造的管理工作。供應(yīng)鏈管理域則負(fù)責(zé)處理和供應(yīng)商的外部交互事務(wù)。公司管理域負(fù)責(zé)管理包括客戶、產(chǎn)品、供應(yīng)商在內(nèi)的基礎(chǔ)信息。圖1把各個(gè)管理域所管理的信息和主要事務(wù)以及各個(gè)管理域的關(guān)系表現(xiàn)了出來(lái)。

圖1 EcPerf商業(yè)模理

3.1 客戶管理域

客戶管理域的事務(wù)屬于在線處理類事務(wù)(OLAP),主要的事務(wù)包括客戶下新的定單、修改定單、查詢某個(gè)定單的狀態(tài)、或者查詢某個(gè)客戶的所有定單等。定單的來(lái)源包括一般客戶和公司客戶(分銷企業(yè)),公司客戶的定單稱為大定單(Big Orders)。當(dāng)系統(tǒng)接收到新的定單,需要通過(guò)公司管理域,查詢客戶的信用狀況,根據(jù)用戶是分銷商、第一次客戶還是老客戶,來(lái)決定不同的折扣率。已經(jīng)下的定單還可以進(jìn)行修改,客戶可以查看自己的定單,銷售人員則可以查看所有客戶的定單。

3.2 制造過(guò)程管理域

制造過(guò)程管理域管理企業(yè)的生產(chǎn)線活動(dòng)。生產(chǎn)的成品稱為部件(Widgets),由構(gòu)件(Components)組裝而成。部件和構(gòu)件,統(tǒng)稱為零件(Pans)。生產(chǎn)線的類型有兩種,包括計(jì)劃生產(chǎn)線(Planned Lines)和大定單生產(chǎn)線(Large Order Lines)。計(jì)劃生產(chǎn)線按照事先規(guī)定的數(shù)量和生產(chǎn)速度,生產(chǎn)部件;而大定單生產(chǎn)線則根據(jù)客戶的大定單來(lái)進(jìn)行生產(chǎn)。具體的生產(chǎn)過(guò)程由工作單(Work Order)來(lái)進(jìn)行驅(qū)動(dòng)。工作單描述某種類型的部件的數(shù)量及其說(shuō)明。計(jì)劃生產(chǎn)線的作用,是模擬現(xiàn)實(shí)中的根據(jù)預(yù)測(cè)來(lái)進(jìn)行生產(chǎn)的活動(dòng),而大定單生產(chǎn)線則模擬現(xiàn)實(shí)中的根據(jù)客戶定單進(jìn)行生產(chǎn)的情形。當(dāng)工作單進(jìn)入系統(tǒng),系統(tǒng)查詢BOM(Bill of Materials,是對(duì)生產(chǎn)某個(gè)部件需要什么構(gòu)件以及數(shù)量的描述),并且從庫(kù)存中凋出相應(yīng)的構(gòu)件。當(dāng)部件在生產(chǎn)線上移動(dòng),數(shù)據(jù)庫(kù)里的部件狀態(tài)相應(yīng)進(jìn)行更新。當(dāng)工作單完成,數(shù)據(jù)庫(kù)的工作單狀態(tài)隨即改變,零件庫(kù)存量相應(yīng)做出更新。如果某種構(gòu)件的庫(kù)存用光了(可以設(shè)置庫(kù)存警戒線),系統(tǒng)向供應(yīng)發(fā)出購(gòu)買定單。

3.3 供應(yīng)鏈管理域

供應(yīng)鏈管理域負(fù)責(zé)和供應(yīng)商的交互事務(wù)。它負(fù)責(zé)根據(jù)所需要汀購(gòu)的零部件、訂購(gòu)的數(shù)量、供應(yīng)商的報(bào)價(jià)等信息,決定聯(lián)系哪個(gè)供應(yīng)商。供應(yīng)鏈管理域隨即向選定的供應(yīng)商發(fā)送一個(gè)采購(gòu)單(Purchase Order)。采購(gòu)單包含采購(gòu)的零部件類型和數(shù)量、收貨地址、以及發(fā)貨的截止時(shí)間等信息。當(dāng)供應(yīng)鏈管理域接收到相應(yīng)的零部件后,則往制造管理域發(fā)送更新庫(kù)存的消息,由之更新庫(kù)存。

3.4 公司內(nèi)部信息管理域

公司內(nèi)部信息管理域負(fù)責(zé)管理客戶、零件、供應(yīng)商等信息??蛻舻男庞眯畔?,包括其信用額度等,保存在公司內(nèi)部信息管理域的獨(dú)立數(shù)據(jù)庫(kù)里,通過(guò)這樣的信息部署,保證了最大的信息安全。當(dāng)客戶下新定單的時(shí)候,系統(tǒng)需要檢查其信用信息,這個(gè)請(qǐng)求來(lái)自客戶管理域,發(fā)到公司內(nèi)部信息管理域,由其處理,并返回結(jié)果。給客戶的折扣信息也在這里進(jìn)行計(jì)算。

通過(guò)以上的分析,各個(gè)管理域具有明確的管理職責(zé),有些事務(wù)需要跨越多個(gè)管理域才可以完成,各個(gè)域之問(wèn)的調(diào)用關(guān)系通過(guò)消息來(lái)驅(qū)動(dòng)。系統(tǒng)有可能訪問(wèn)外部信息源,比如向供應(yīng)商訂購(gòu)零部件等,這樣的事務(wù),不僅是跨越系統(tǒng)內(nèi)各個(gè)管理域的、而且是跨越不同系統(tǒng)的事務(wù)。由此可見(jiàn),EcPerf模擬了一個(gè)復(fù)雜的實(shí)際電子商務(wù)應(yīng)用。

3.5 應(yīng)用架構(gòu)

與供應(yīng)商的交互事務(wù),使用Java Servlet技術(shù)來(lái)實(shí)現(xiàn),稱為Supplier Emulator,部署到不同的機(jī)器上。Supplier Emulator模擬系統(tǒng)向供應(yīng)商發(fā)送零部件采購(gòu)單,以及收到零部件的交互事務(wù)。Supplier Emulator從供應(yīng)鏈管理域的Buye6es會(huì)話Bean接收定單,經(jīng)過(guò)一定時(shí)間的定單處理(睡眠一段時(shí)間,時(shí)間的長(zhǎng)度是定貨到發(fā)貨的平均時(shí)間),然后把訂購(gòu)的零部件發(fā)送給RreceiverSes會(huì)話Bean,圖2描述了各個(gè)軟件模塊的關(guān)系。

工作負(fù)載由一個(gè)多線程Java程序(EcPerf Driver)來(lái)生成。EcPerf Driver可以在多個(gè)客戶端機(jī)器上運(yùn)行,模仿多用戶的并發(fā)訪問(wèn)。數(shù)據(jù)的持久化通過(guò)EJB技術(shù)的實(shí)體Bean來(lái)實(shí)現(xiàn),系統(tǒng)持兩種持久化方法,包括BMP(Bean MaIlaged Persistency)和CMP(Container Managed Persistency)。

圖2 Supplier Emulator的交互

通過(guò)沒(méi)置事務(wù)導(dǎo)入速率(Transaction In脅tion Rate),指定每秒鐘負(fù)載牛成器生成的新定單數(shù)量,以及每秒種在制造管理域安排生產(chǎn)的工作單數(shù)量。性能以每分種執(zhí)行的商業(yè)操作來(lái)進(jìn)行表示Bbops/min(Benchmark Business Opemtions per Minute),分別對(duì)客戶管理域和制造域每分鐘完成的操作數(shù)量進(jìn)行度量,然后加權(quán)汁算出來(lái)。

4 測(cè)試與優(yōu)化

測(cè)試套件以J2EE技術(shù)(EJB)來(lái)實(shí)現(xiàn),部署到測(cè)試系統(tǒng)上。測(cè)試系統(tǒng)的硬件和軟件配置如圖3所示。

圖3 測(cè)試系統(tǒng)的軟件和硬件配置

對(duì)J2EE電子商務(wù)系統(tǒng)進(jìn)行優(yōu)化,有不同的設(shè)計(jì)模式可以遵循。我們把討論的重點(diǎn)放在數(shù)據(jù)的持久化、對(duì)象緩存、以及數(shù)據(jù)庫(kù)連接的緩沖池管理等幾個(gè)關(guān)鍵問(wèn)題上,即對(duì)數(shù)據(jù)存取進(jìn)行優(yōu)化。

發(fā)布:2007-04-24 14:30    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:
南寧OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普南寧OA快博其他應(yīng)用

南寧OA軟件 南寧OA新聞動(dòng)態(tài) 南寧OA信息化 南寧OA快博 南寧OA行業(yè)資訊 南寧軟件開(kāi)發(fā)公司 南寧門禁系統(tǒng) 南寧物業(yè)管理軟件 南寧倉(cāng)庫(kù)管理軟件 南寧餐飲管理軟件 南寧網(wǎng)站建設(shè)公司