資源描述:
《web服務(wù)的性能分析及優(yōu)化》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、Web服務(wù)的性能分析及優(yōu)化摘要:、Sun的JavaRMI、CORBA)相比,性能具有一定的差距,最為突出的問題是L的數(shù)據(jù)傳輸格式在給L格式的。由于及其他協(xié)議之間進行轉(zhuǎn)換,從而使L的統(tǒng)一消息交換機制的基礎(chǔ)之上,影響L消息的處理機制。因此,服務(wù)傳輸時間(即請求從客戶端到達服務(wù)端和響應(yīng)從服務(wù)端到達客戶端所用的時間)和XML消息處理時間(即XML解析、服務(wù)調(diào)用以及最后的應(yīng)答消息編碼所花的時間)是影響L文本格式的協(xié)議,XML雖然可讀性比較好,但是比一進制實現(xiàn)的協(xié)議需要更多的帶寬、更大存儲能力和更長的處理時間,在很
2、大程度上降低了Web服務(wù)的性能。此外,缺乏緩存或低效率緩存、低效的狀態(tài)處理錯誤的使用線程、繁瑣的調(diào)用等問題都會加劇Web服務(wù)性能問題的嚴重性?! ∪?、Web服務(wù)的性能優(yōu)化 第一,緩存技術(shù)。緩存(Cache)在計算機科學領(lǐng)域指的是一些數(shù)據(jù)副本的集合。當原始數(shù)據(jù)訪問速度較慢時,可以通過使用在高速存儲區(qū)域中保存原始數(shù)據(jù)的常用數(shù)據(jù)副本,從而提升訪問速度。常見的硬盤緩存、CPU緩存、X頁緩存等都是緩存概念的應(yīng)用。由數(shù)據(jù)庫驅(qū)動的We摘要:、Sun的JavaRMI、CORBA)相比,性能具有一定的差距,最為
3、突出的問題是L的數(shù)據(jù)傳輸格式在給L格式的。由于及其他協(xié)議之間進行轉(zhuǎn)換,從而使L的統(tǒng)一消息交換機制的基礎(chǔ)之上,影響L消息的處理機制。因此,服務(wù)傳輸時間(即請求從客戶端到達服務(wù)端和響應(yīng)從服務(wù)端到達客戶端所用的時間)和XML消息處理時間(即XML解析、服務(wù)調(diào)用以及最后的應(yīng)答消息編碼所花的時間)是影響L文本格式的協(xié)議,XML雖然可讀性比較好,但是比一進制實現(xiàn)的協(xié)議需要更多的帶寬、更大存儲能力和更長的處理時間,在很大程度上降低了Web服務(wù)的性能。此外,缺乏緩存或低效率緩存、低效的狀態(tài)處理錯誤的使用線程、繁瑣的調(diào)用
4、等問題都會加劇Web服務(wù)性能問題的嚴重性?! ∪eb服務(wù)的性能優(yōu)化 第一,緩存技術(shù)。緩存(Cache)在計算機科學領(lǐng)域指的是一些數(shù)據(jù)副本的集合。當原始數(shù)據(jù)訪問速度較慢時,可以通過使用在高速存儲區(qū)域中保存原始數(shù)據(jù)的常用數(shù)據(jù)副本,從而提升訪問速度。常見的硬盤緩存、CPU緩存、X頁緩存等都是緩存概念的應(yīng)用。由數(shù)據(jù)庫驅(qū)動的Web應(yīng)用程序中,那些經(jīng)常被調(diào)用的并且對實時性要求不是很高的服務(wù),使用緩存技術(shù)是一個十分有效的提高性能的方法。.平臺的L編碼的,而XML文檔其實就是文本文檔。因此,SOAP消息也
5、能夠看作一個文本流。假如采用壓縮文本流的方法將會大大提高X絡(luò)傳輸?shù)男剩p少傳輸?shù)臄?shù)據(jù)量,加速SOAP消息傳輸),從而也達到對實現(xiàn)異步調(diào)用Web服務(wù)。即通過創(chuàng)建一個新的線程來執(zhí)行新的Web服務(wù)請求,這對程序的主線程不會產(chǎn)生影響。 常規(guī)的服務(wù)器端同步Web方法:當從同步Web方法返回時,將發(fā)送對該方法的響應(yīng)。如果需要較長的時間來完成清求,則處理請求的線程會一直被占用,直到方法調(diào)用結(jié)束。服務(wù)器端為響應(yīng)多個請求,可能會建立多個線程,這樣可能會很快耗光系統(tǒng)資源。為了解決這個問題,就要考慮使用線程池技術(shù)。.運行
6、時提供了線程池的實現(xiàn)。對于異步方法調(diào)用由系統(tǒng)將方法提交給線程池,由線程池中的線程執(zhí)行。線程完成任務(wù)后,線程不會自行銷毀,而是以掛起狀態(tài)返回線程池。應(yīng)用程序每次向線程池發(fā)出請求,線程池會將掛起的線程激活并執(zhí)行任務(wù),而不會創(chuàng)建新線程。當然,在一個復(fù)雜的應(yīng)用程序中,用戶也許會同時請求多個Web服務(wù),這時就得創(chuàng)建并控制多個線程。 綜上,客戶端的異步調(diào)用實現(xiàn)了請求和接收異步通信,解決了客戶端線程阻塞的問題。既滿足了調(diào)用多個Web服務(wù)的要求,又減少了響應(yīng)時間。而服務(wù)器端的線程池技術(shù)也很好地解決了服務(wù)器端同步Web
7、方法的問題。當然,多線程的控制雖然可以實現(xiàn)很好的應(yīng)用程序,但難度是比較大的,而且很容易引起異常?! ∷?、結(jié)束語 隨著電了商務(wù)、電了政務(wù)的迅速崛起,基于Web服務(wù)的應(yīng)用模式己經(jīng)成為主流架構(gòu),同時這也對Web服務(wù)的服務(wù)質(zhì)量(QoS,如服務(wù)的可用性、功效性和性能等)提出了更高的要求。本文在對Web服務(wù)的性能進行分析的基礎(chǔ)上,針對Web服務(wù)的額外性能開銷問題,以.平臺為例,討論了使用緩存技術(shù)、SOAP壓縮技術(shù)和異步Web技術(shù)等策略在Web服務(wù)性能優(yōu)化中的應(yīng)用。Web服務(wù)性能優(yōu)化本身就是一個復(fù)雜的議題。除了
8、采用上述幾種優(yōu)化的方法,還必須多方面地考慮優(yōu)化的問題,從系統(tǒng)設(shè)計到部署實現(xiàn)都需要考慮如何優(yōu)化改善其性能。如在Web服務(wù)接口設(shè)計時要充分考慮服務(wù)的粒度,配套開發(fā)工具(如ADO.、數(shù)據(jù)庫優(yōu)化)的優(yōu)化?! 。▎挝唬汉惫I(yè)大學計算機學院) 【