新四季網

監控web應用程式性能的方法、系統和web伺服器的製作方法

2023-06-08 11:24:46 2

專利名稱:監控web應用程式性能的方法、系統和web伺服器的製作方法
技術領域:
本申請涉及一種監控技木,尤其涉及一種監控web應用程式性能的方法、系統和web伺服器。
背景技術:
一般HTTP (HyperText Markup Language,超文本置標語言)請求響應的耗時包括三部分1、發送請求時在網絡上消耗的時間;2、web程序處理http請求所消耗的時間;3、網絡傳輸響應內容的時間。當用戶反饋系統響應速度較慢的時候,一般維護人員都先檢查系統的各項指標以及應用的日誌。但是在採用集群方式部署的環境下,維護人員很難定位用戶反映的有性能問題的請求是由哪臺伺服器處理的,這樣就無法去檢查伺服器的各項監控指標。即使維護人員定位到了處理請求的伺服器,但是由於系統在高並發的環境下一段時間內會產生大量相同URL的請求日誌,這樣也將無法使維護人員準確的定位到出現性能問題的請求日誌。目前業界為了定位和分析web應用程式性能通用的手段是為系統添加各種監控,主要使用的監控方案有兩種方案一伺服器端性能日誌該方案的主要方式是在伺服器端的日誌中記錄處理每個請求的耗時以便日後從日誌中分析問題。一種實現方式如下在Apache配置類似如下日誌格式LogFormat;/ % h % u % t\'r % r\'r %> s % h\ ,r % {User-Agent} i \ " %D" combined以上日誌格式的含義請參考http://httpd. apache, org/docs/2. 0/mod/mod_log_conf ig. html#customlog其中最重要的是D」這個表示處理此次請求所用的時間,単位微秒。收集各臺伺服器上的訪問日誌,查找耗時較多的URL為後續性能優化提供依據。方案ニ 模擬客戶端請求監控該方案是使用程序模擬瀏覽器向系統發送請求,並記錄響應時間以便跟蹤分析問題。實現方式如下使用wget或httpclient等工具訪問某些URL,記錄伺服器的響應時間。分析記錄的日誌,查找耗時較多的URL為後續性能優化提供依據。因為方案一是在伺服器端記錄請求的響應時間,在集群部署的情況下用戶的請求是隨機發送到集群中的某臺伺服器上去處理。這樣就有ー個缺陷是無法定位到用戶請求發送到哪臺伺服器上,這種情況下當在用戶反映系統響應慢的時候,系統維護人員無法定位到具體的伺服器,此外除了定位具體機器有困難,在一臺機器上,對用戶短時間的類似操作也較難定位哪一條日誌,因此也就難以有效監控web應用程式性能。因為方案ニ是在客戶端模擬用戶請求的方式來監控web應用程式性能,因此監控效果不佳,具體表現為I、這個監控的客戶端部署在哪裡?如果用戶是分布在全國各地的,全國各地的網絡狀況都是不一樣的。這樣的監控即使是多處布點也不能完全反映代表各地的網絡情況。2、這種監控程序往往不能完全模擬用戶對系統的操作。首先,一個系統可能對用戶開放幾個到幾十上百的功能,監控程序很難將每個功能都模擬一遍。其次,很多功能這種監控程序無法模擬,比如電子商務中的在線下訂單、在線支付等應用服務。現有技術中,難以有效監控web應用程式性能或者監控效果不佳,對於該問題,目前尚未提出有效解決方案。

發明內容
本申請的主要目的是提供一種監控web應用程式性能的方法、系統和web伺服器,以解決現有技術中難以有效監控web應用程式性能或者監控效果不佳的問題。 為了實現上述目的,根據本申請的ー個方面,提供了一種監控web應用程式性能的方法。本申請的監控web應用程式性能的方法包括web伺服器在向應用伺服器轉發客戶端請求後,接收應用伺服器執行應用程式邏輯後返回給所述客戶端的響應內容,並為所述客戶端請求分配客戶端請求標識,然後,將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中,將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端,接收所述客戶端對應地提交的所述標識和通過所述頁面獲取的web應用程式性能反饋信息,然後將所述標識和所述web應用程式性能反饋信息對應地保存在資料庫中;分析裝置接收所述web應用程式性能反饋頁面獲取的反饋信息,在所述資料庫中搜索該反饋信息對應的客戶端請求標識,在所述日誌中查詢該客戶端請求標識對應的響應時間,並在該響應時間大於預設值的情況下輸出該響應時間對應的應用伺服器的網絡地址或輸出報m樣自
目 I R ノ K、ο進ー步地,將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端包括在作為所述響應內容的HTML代碼中記錄所述標識以及所述代碼,再將所述HTML代碼發送給所述客戶端。進ー步地,所述web應用程式性能反饋頁面中包含用於接收web應用程式性能反饋信息的表単。進ー步地,將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中之後,所述方法還包括從所述日誌中查找大於預設時間值的所述響應時間,確定查找到的所述響應時間對應的應用伺服器的網絡地址然後輸出該網絡地址。為了實現上述目的,根據本申請的另一方面,提供了ー種web伺服器。本申請的web伺服器包括第一接收模塊,用於接收應用伺服器對客戶端請求的響應;分配模塊,用於為所述客戶端請求分配客戶端請求標識;保存模塊,用於將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中;第一發送模塊,用於將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端;第二接收模塊,用於接收所述客戶端通過所述頁面獲取並發送的web應用程式性能反饋信息以及對應該反饋信息發送的客戶端請求標識;第二發送模塊,用於將所述反饋信息和所述標識對應地發送至資料庫。為了實現上述目的,根據本申請的又一方面,提供了一種監控web應用程式性能的系統。本申請的監控web應用程式性能的系統包括web伺服器和分析裝置,其中web伺服器,用於在向應用伺服器轉發客戶端請求後,接收應用伺服器執行應用程式邏輯後返回給所述客戶端的響應內容,並為所述客戶端請求分配客戶端請求標識,然後,將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中,將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端,接收所述客戶端通過所述頁面獲取的web應用程式性能反饋信息,然後將所述標識和所述web應用程式性能反饋信息對應地保存在資料庫中;分析裝置,用於接收所述web應用程式性能反饋頁面獲取的反饋信息,在所述資料庫中搜索該反饋信息對應的客戶端請求標識,在所述日誌中查詢該客戶端請求標識對應的響應時間,並在該響應時間大於預設值的情況下輸出該響應時間對應的應用伺服器的網絡地址或輸出報警信息。進ー步地,所述web伺服器包括第一接收模塊,用於接收應用伺服器對客戶端請求的響應;分配模塊,用於為所述客戶端請求分配客戶端請求標識;保存模塊,用於將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中;第一發送模塊,用於將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端;第二接收模塊,用於接收所述客戶端通過所述頁面獲取的web應用程式性能反饋信息以及對應該反饋信息發送的客戶端請求標識;第二發送模塊,用於將所述反饋信息和所述標識對應地發送給資料庫。進ー步地,所述第一發送模塊還用於在作為所述響應內容的HTML代碼中記錄所述標識以及所述代碼,再將所述HTML代碼發送給所述客戶端。進ー步地,所述分析裝置包括接收模塊,用於接收所述web應用程式性能反饋頁面獲取的反饋信息;捜索模塊,用於在所述資料庫中搜索該反饋信息對應的客戶端請求標識;查詢模塊,用於在所述日誌中查詢所述搜索模塊搜索到的客戶端請求標識對應的響應時間;分析輸出模塊,用於在所述查詢模塊查詢到的響應時間大於預設值的情況下輸出該響應時間對應的應用伺服器的網絡地址。進ー步地,所述分析裝置包括查找模塊,用於從所述日誌中查找大於預設時間值的所述響應時間,並且確定該響應時間所對應的應用伺服器的網絡地址;提示模塊,用於輸出所述查找模塊確定的網絡地址。根據本申請的技術方案,為每個發往伺服器的請求都設置ー個唯一的標識,這個標識在伺服器端會記錄到日誌、資料庫等介質中。同時發往客戶端的響應中在HTML內容或者HTTP頭信息(HTTP Headers)中會添加此唯一的標識,這樣就將用戶的請求和伺服器端 的日誌記錄進行了一一對應。當用戶需要反饋系統的性能問題的時候,用戶提交的反饋表單會將用戶發出的對應操作的唯一標識發送給伺服器並記錄到資料庫中。系統的維護人員可以根據用戶反饋的唯一的標識搜索伺服器的上的日誌從而定位到有問題的伺服器。採用本申請實施例的技術方案後用戶的每個請求都會被設置ー個唯一的標識。用戶所有的操作的響應時間都會被記錄到日誌中。這樣就解決了如何全面監控用戶請求的問題。另外,本申請實施例的技術方案完全是在用戶進行系統的真實操作時進行監控。這樣可以真實記錄系統的響應時間,從而能分析出系統的性能問題是否是因為用戶當地網絡問題導致,解決了如何真實反映用戶所處的網絡環境的問題。因此,採用本申請實施例的技術方案,能夠有效監控web應用程式性能,獲得較佳的監控效果。


說明書附圖用來提供對本申請的進一歩理解,構成本申請的一部分,本申請的示意性實施例及其說明用於解釋本申請,並不構成對本申請的不當限定。在附圖中圖I是與本申請實施例有關的ー種網絡結構的示意圖;圖2是根據本申請實施例的監控web應用程式性能的方法在web伺服器上執行的流程示意圖;
圖3是根據本申請實施例的監控web應用程式性能的方法在客戶端執行的流程示意圖;圖4是根據本申請實施例的監控web應用程式性能的方法的整體流程的示意圖;圖5是根據本申請實施例的網絡維護人員進行系統分析的主要流程的示意圖;圖6是根據本申請實施例的監控web應用程式性能的裝置的示意圖;圖7是根據本申請實施例的監控web應用程式性能的另ー種裝置的示意圖;圖8是根據本申請實施例的監控web應用程式性能的系統的示意圖。
具體實施例方式需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。下面將參考附圖並結合實施例來詳細說明本申請。圖I是與本申請實施例有關的ー種網絡結構的示意圖。如圖I所示,多個客戶端11通過Internet網絡12和防火牆13與負載均衡設備14連接,多個應用伺服器15也通過web伺服器16與負載均衡設備14連接。應用伺服器15和web伺服器16可以部署在同一臺計算機中。基於類似於圖I所示的網絡,用戶通過網際網路訪問部署在某個IDC(網際網路數據中心)機房的web服務。由於全國甚至是全球範圍內各地的網絡環境千差萬別,這就導致網絡本身會嚴重影響用戶在使用web應用時的體驗。在網絡層面應用用戶體驗的主要因素是網速。從圖I也可以看出除了網際網路本身的結構非常複雜外,應用程式的部署也有一定的複雜性。一般中大規模的企業應用都會採用集群方式部署。關於此處的「集群」,簡單解釋如下參考圖1,用戶的請求先由客戶端11經由Internet網絡12、防火牆13發送到負載均衡設備14,由負載均衡設備14通過一定的算法將請求轉發到應用伺服器集群中的某一臺應用伺服器15上,由這臺應用伺服器15來響應用戶的請求,並將處理結果返回給客戶端11 ;處在集群裡的每臺應用伺服器15都是對等的關係,每臺應用伺服器15都是互為備份,任何一臺或者幾臺伺服器出現故障都不會影響整個集群為用戶正常提供服務。當web應用出現性能問題時最直接的表現就是打開網頁的速度很慢,當出現這種問題時對於系統的維護或開發人員來說首先需要定位出現此問題是否是由於應用程式的性能問題導致的。「打開網頁的速度很慢」也就是系統響應的速度慢。一般HTTP請求響應的時間包括兩部分I、web程序處理http請求所消耗的時間。當程序存在缺陷或者設計方案不合理的時候就有可能導致程序在處理用戶請求的時候會有較大的時間消耗。還有ー種可能是集群中的某些伺服器由於硬體故障或者訪問壓力的増加也可能導致用戶請求處理耗時較大。2、網絡傳輸請求和響應內容時消耗的時間。由於用戶使用的網絡的帶寬等因素的影響不同網絡條件下的用戶對同一程序的同一功能的使用感受會有很大的區別。對於這個原因引起的系統響應慢的問題,一般可以通過改善網絡條件解決。從以上的分析可以看出,當系統的維護人員接到用戶關於性能問題的反饋時,首先需要定位問題出現在哪裡,這裡需要考慮兩方面的問題,首先,需要定位導致響應慢的問題是由於用戶的網絡環境問題還是程序本身的性能問題;其次,如果是程序的問題需要定 位當時處理用戶請求的那臺伺服器,然後再結合一些硬體的監控以及程序的日誌再來分析和解決程序的性能問題。圖2是根據本申請實施例的監控web應用程式性能的方法在web伺服器上執行的流程示意圖。如圖2所示,web伺服器在將客戶端的客戶端請求轉發至應用伺服器,並由後者處理該請求之後,web伺服器主要執行以下步驟步驟S21 :接收應用伺服器對客戶端請求的響應。步驟S22 :為客戶端請求分配客戶端請求標識。步驟S221 :將應用伺服器的網絡地址、應用伺服器對客戶端請求的響應時間、以及客戶端請求標識三者相對應地保存在日誌中。步驟S222 :將所述響應、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給提出客戶端請求的客戶端設備。步驟S221和步驟S222可以同步進行,也可以先執行步驟S222,再執行步驟S221。客戶端在收到上述的用於呈現web應用程式性能反饋頁面的代碼後,運行該代碼即在輸出裝置例如顯示器上呈現上述頁面,其中包含性能反饋表單,該表單中提示用戶填寫對於頁面性能反饋的評價,包括頁面打開的速度,以及頁面的其他表現。步驟S23 :接收客戶端提交的信息。這裡的信息包括步驟S22中的客戶端請求標識,以及web應用程式性能反饋頁面獲取的反饋信息,並且由客戶端對應地一井保存在資料庫中。在步驟S23之後由分析裝置(所述分析裝置可以是內置於web伺服器中的功能模塊,也可以是獨立於web伺服器,具有分析功能的獨立伺服器或其他計算裝置)繼續執行以下步驟步驟S24:在資料庫中捜索該反饋信息對應的客戶端請求標識,在日誌中查詢該客戶端請求標識對應的響應時間。步驟S25 :判斷步驟S24中查詢得到的響應時間是否大於預設值,若是,則進入步驟S26,否則返回步驟S24。步驟S26 :輸出步驟S24中查詢得到的響應時間對應的應用伺服器的網絡地址或輸出報警信息。在步驟S26之後,網絡管理人員能夠獲得響應較慢(大於預設值)的應用伺服器的網絡地址,網絡管理人員可以調取該應用伺服器的所有響應時間以進行分析;另外在步驟S26中也可以同時輸出步驟S24中查詢得到的響應時間供網絡管理人員參考。另一方面,根據步驟S23中收到的客戶端提交的信息,可以得知用戶認為哪些服務響應較慢。通過對比用戶指出的服務響應速度和應用伺服器的實際響應時間,就能夠確定是應用伺服器本身響應較慢還是用戶使用的網絡的性能不佳。圖3是根據本申請實施例的監控web應用程式性能的方法在客戶端執行的流程示意圖,主要包括如下步驟
步驟S31 :向web伺服器發送客戶端請求。步驟S33 :接收web伺服器對所述客戶端請求的響應。本步驟的響應中包含客戶端請求的標識和用於呈現web應用程式性能反饋頁面的代碼。步驟S35 :根據所述響應呈現所述反饋頁面。在本步驟中,反饋頁面是否呈現也可以由用戶決定,用戶需要提交性能反饋時候可以通過頁面的按鈕或者快捷鍵觸發從而打開反饋頁面。步驟S37 :通過呈現的反饋頁面獲取web應用程式性能反饋信息。步驟S39 :將所述請求標識和獲取的反饋信息對應地發送給提供web應用的應用伺服器。將圖2和圖3所示的流程結合,可以得到圖4所示的流程,圖4是根據本申請實施例的監控web應用程式性能的方法的整體流程的示意圖。步驟S23中的資料庫可以和分析裝置設置在同一計算機中,圖4示出了這種情形。在實際的網絡系統中,可以將web伺服器和應用伺服器部署在同一臺計算機內,也可以分別部署在不同計算機內,這些計算機可以共享同一個資料庫,該資料庫在這裡主要用於存儲圖2和圖3中涉及的數據,例如應用伺服器的網絡地址、應用伺服器對客戶端請求的響應時間、以及客戶端請求標識等。根據圖4所示的流程,用戶從客戶端發送的HTTP請求通過web伺服器的轉發後到達應用伺服器。應用伺服器處理完成HTTP請求,將響應內容發送回客戶端。返回的響應內容會經過web伺服器的過濾。在過濾過程中可在返回的HTML代碼中添加標籤,在標籤中會添加請求唯一標識(以下用UNIQUE_REQUEST_ID表示)的值。針對返回內容不是HTML代碼的AJAX調用,可以在HTTP Header中將UNIQUE_REQUEST_ID添加到新響應頭信息中。web伺服器在響應內容處理完成後記錄日誌。每一條日誌至少包括應用伺服器的網絡地址,例如URL的內容;UNIQUE_REQUEST_ID ;處理請求的伺服器耗吋。web伺服器在響應內容中加入UNIQUE_REQUEST_ID的同時還可以加入額外的js腳本。在提交反饋的時候可以觸發這個js腳本裡的功能打開反饋頁面,在反饋頁面中詢問用戶對網絡的響應速度是否滿意,用戶根據自己對於網絡服務功能的使用體驗進行判斷,在判斷結果為「是」,即用戶滿意本次網絡服務的情況下流程結束,否則用戶填寫反饋表單。用戶提交表單以後,web伺服器將UNIQUE_REQUEST_ID和反饋信息ー並保存在上述的資料庫中。在具有上述資料庫的情況下,可以由網絡維護人員按照圖5所示的流程進行系統分析。圖5是根據本申請實施例的網絡維護人員進行系統分析的主要流程的示意圖。在圖5所示的流程中,根據與用戶反饋信息一併提交的UNIQUE_REQUEST_ID查找伺服器上記錄的請求響應耗時日誌;根據日誌所在的伺服器或者日誌中記錄的信息可以確定當時處理用戶請求的具體伺服器;根據日誌中記錄的處理請求的耗時可以定位導致性能問題的原因是出自網絡原因還是程序自身問題。這裡程序自身的性能即體現了應用伺服器的性能。圖6是根據本申請實施例的監控web應用程式性能的裝置的示意圖。該裝置可以安裝在作為web伺服器和應用伺服器的計算機中。如圖6所示,監控web應用程式性能的裝置60主要包括以下模塊第一接收模塊61,用於接收應用伺服器對客戶端請求的響應;分配模塊62,用於為所述客戶端請求分配客戶端請求標識;保存模塊63,用於將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存; 發送模塊64,用於將所述響應和所述標識對應地發送給所述客戶端;第二接收模塊65,用於接收到包含有客戶端請求標識的查詢指令;客戶端反饋接收模塊66,用於接收客戶端提交的帶有請求標識的性能反饋信息並保存;輸出模塊67,用於根據所述查詢指令中的所述標識確定並輸出該標識對應的應用伺服器的網絡地址和應用伺服器對客戶端請求的響應時間。發送模塊還可以用於將所述標識添加到所述響應的HTTP消息頭中然後將所述響應發送給所述客戶端,還可以用於在所述響應的HTML代碼中記錄所述標識以及所述用於呈現web應用程式性能反饋頁面的代碼,再將所述HTML代碼發送給所述客戶端。圖7是根據本申請實施例的監控web應用程式性能的另ー種裝置的示意圖。該裝置可安裝在客戶端計算機中。如圖7所示,監控web應用程式性能的裝置70主要包括以下模塊請求模塊71,用於向web伺服器發送客戶端請求;接收模塊72,用於接收所述web伺服器對所述客戶端請求的響應,所述響應中包含所述客戶端請求的標識和用於呈現web應用程式性能反饋頁面的代碼;呈現模塊73,用於根據所述響應呈現所述反饋頁面;獲取模塊74,用於通過呈現的反饋頁面獲取web應用程式性能反饋信息;提交模塊75,用於將所述請求標識和反饋信息對應地發送給提供所述web應用的應用伺服器。圖8是根據本申請實施例的監控web應用程式性能的系統的示意圖。如圖8所示,監控web應用程式性能的系統80主要包括web伺服器81和分析裝置82。其中web伺服器81用於在向應用伺服器轉發客戶端請求後,接收應用伺服器執行應用程式邏輯後返回給所述客戶端的響應內容,並為所述客戶端請求分配客戶端請求標識,然後,將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中,將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端,接收所述客戶端通過所述頁面獲取的web應用程式性能反饋信息,然後將所述標識和所述web應用程式性能反饋信息對應地保存在資料庫中;分析裝置82用於接收所述web應用程式性能反饋頁面獲取的反饋信息,在所述資料庫中搜索該反饋信息對應的客戶端請求標識,在所述日誌中查詢該客戶端請求標識對應的響應時間,並在該響應時間大於預設值的情況下輸出該響應時間對應的應用伺服器的網絡地址或輸出報警信息。分析裝置82的一種可選結構是包括接收模塊,用於接收所述web應用程式性能反饋頁面獲取的反饋信息;捜索模塊,用於在所述資料庫中搜索該反饋信息對應的客戶端請求標識;查詢模塊,用於在所述日誌中查詢所述搜索模塊搜索到的客戶端請求標識對應的響應時間;分析輸出模塊,用於在所述查詢模塊查詢到的響應時間大於預設值的情況下輸出該響應時間對應的應用伺服器的網絡地址。分析裝置82的另ー種可選結構是包括查找模塊和提示模塊,其中查找模塊用於從日誌中查找大於預設時間值的所述響應時間,並且確定該響應時間所對應的應用伺服器的網絡地址;提示模塊用於輸出查找模塊確定的網絡地址。提示模塊也可以將查找模塊查找到的響應時間和應用伺服器的網絡地址ー並輸出。本申請實施例的技術方案可採用Apache作為web伺服器來完成(當然不僅限於Apache,其他的web伺服器如Nginx等也都可以實現)。可以在Apache上安裝mod_unique_idso為姆個web請求生產卩隹一標識並記錄到apache訪問日誌中。然後,開發ー個module作為Apache的Filter,實現修改HTML代碼的功能。a.在head部分添加標籤記 錄請求的卩隹ー標識;b.在head部分添加額外的js文件,新增的js文件主要功能是用戶可以通過事先設定的快捷鍵展現用戶問題反饋頁面,並對系統問題提供反饋功能。接下來當用戶需要反饋性能問題時觸發快捷鍵,填寫反饋表単。提交後系統會收集到用戶的反饋信息,其中包括UNIQUE_REQUEST_ID。這樣系統維護人員就可以通過這個唯一標識去分析事先記錄的Apache訪問日誌以定位性能問題出在程序本身還是網絡傳輸問題。上述具體方案能夠在解決「定位系統性能問題」這ー難題的前提下同時做到對應用程式的代碼無侵入,不需要修改或添加任何業務代碼即可實現此功能。根據本申請實施例的技術方案,為每個發往伺服器的請求都設置ー個唯一的標識,這個標識在伺服器端會記錄到日誌、資料庫等介質中。同時發往客戶端的響應中在HTML內容或者HTTP頭信息(HTTP Headers)中會添加此唯一的標識這樣就將用戶的請求和伺服器端的日誌記錄進行了一一對應。當用戶需要反饋系統的性能問題的時候,用戶提交的反饋表單會將用戶發出的對應操作的唯一標識發送給伺服器並記錄到資料庫中。系統的維護人員可能根據用戶反饋的唯一的標識搜索伺服器的上的日誌從而定位到有問題的伺服器。採用本申請實施例的技術方案後用戶的每個請求都會被設置ー個唯一的標識。用戶所有的操作的響應時間都會被記錄到日誌中。這種就解決了如何全面監控用戶請求的問題。另外,本申請實施例的技術方案完全是在用戶進行系統的真實操作時進行監控。這樣可以真實記錄系統的響應時間,從而能分析出系統的性能問題是否是因為用戶當地網絡問題導致,解決了如何真實反映用戶所處的網絡環境的問題。因此,採用本申請實施例的技術方案,能夠有效監控web應用程式性能,獲得較佳的監控效果。顯然,本領域的技術人員應該明白,上述的本申請的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者根據它們分別製作集成電路模塊,或者根據它們中的多個模塊或步驟製作成單個集成電路模塊。這樣,本申請不限制於任何特定的硬體和軟體結合。
以上所述僅為本申請的優選實施例而已,並不用於限制本申請,對於本領域的技 術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本申請的保護範圍之內。
權利要求
1.一種監控web應用程式性能的方法,其特徵在於,包括 web伺服器在向應用伺服器轉發客戶端請求後,接收應用伺服器執行應用程式邏輯後返回給所述客戶端的響應內容,並為所述客戶端請求分配客戶端請求標識,然後, 將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中, 將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端, 接收所述客戶端對應地提交的所述標識和通過所述頁面獲取的web應用程式性能反饋信息,然後將所述標識和所述web應用程式性能反饋信息對應地保存在資料庫中; 分析裝置接收所述web應用程式性能反饋頁面獲取的反饋信息,在所述資料庫中搜索該反饋信息對應的客戶端請求標識,在所述日誌中查詢該客戶端請求標識對應的響應時間,並在該響應時間大於預設值的情況下輸出該響應時間對應的應用伺服器的網絡地址或輸出報警信息。
2.根據權利要求I所述的方法,其特徵在於,將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端包括在作為所述響應內容的HTML代碼中記錄所述標識以及所述代碼,再將所述HTML代碼發送給所述客戶端。
3.根據權利要求I所述的方法,其特徵在於,所述web應用程式性能反饋頁面中包含用於接收web應用程式性能反饋信息的表單。
4.根據權利要求I所述的方法,其特徵在於,將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中之後,所述方法還包括 從所述日誌中查找大於預設時間值的所述響應時間,確定查找到的所述響應時間對應的應用伺服器的網絡地址然後輸出該網絡地址。
5.—種web伺服器,其特徵在於,包括 第一接收模塊,用於接收應用伺服器對客戶端請求的響應; 分配模塊,用於為所述客戶端請求分配客戶端請求標識; 保存模塊,用於將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中; 第一發送模塊,用於將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端; 第二接收模塊,用於接收所述客戶端通過所述頁面獲取並發送的web應用程式性能反饋信息以及對應該反饋信息發送的客戶端請求標識; 第二發送模塊,用於將所述反饋信息和所述標識對應地發送至資料庫。
6.一種監控web應用程式性能的系統,其特徵在於,包括web伺服器和分析裝置,其中web伺服器,用幹 在向應用伺服器轉發客戶端請求後,接收應用伺服器執行應用程式邏輯後返回給所述客戶端的響應內容,並為所述客戶端請求分配客戶端請求標識,然後, 將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中,將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端, 接收所述客戶端通過所述頁面獲取的web應用程式性能反饋信息,然後將所述標識和所述web應用程式性能反饋信息對應地保存在資料庫中; 分析裝置,用幹 接收所述web應用程式性能反饋頁面獲取的反饋信息,在所述資料庫中搜索該反饋信息對應的客戶端請求標識,在所述日誌中查詢該客戶端請求標識對應的響應時間,並在該響應時間大於預設值的情況下輸出該響應時間對應的應用伺服器的網絡地址或輸出報警信息。
7.根據權利要求6所述的系統,其特徵在於,所述web伺服器包括 第一接收模塊,用於接收應用伺服器對客戶端請求的響應; 分配模塊,用於為所述客戶端請求分配客戶端請求標識; 保存模塊,用於將所述應用伺服器的網絡地址、所述應用伺服器對所述客戶端請求的響應時間、以及所述客戶端請求標識三者相對應地保存在日誌中; 第一發送模塊,用於將所述響應內容、所述標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給所述客戶端; 第二接收模塊,用於接收所述客戶端通過所述頁面獲取的web應用程式性能反饋信息以及對應該反饋信息發送的客戶端請求標識; 第二發送模塊,用於將所述反饋信息和所述標識對應地發送給資料庫。
8.根據權利要求7所述的系統,其特徵在於,所述第一發送模塊還用於在作為所述響應內容的HTML代碼中記錄所述標識以及所述代碼,再將所述HTML代碼發送給所述客戶端。
9 根據權利要求6所述的系統,其特徵在於,所述分析裝置包括 接收模塊,用於接收所述web應用程式性能反饋頁面獲取的反饋信息; 捜索模塊,用於在所述資料庫中搜索該反饋信息對應的客戶端請求標識; 查詢模塊,用於在所述日誌中查詢所述搜索模塊搜索到的客戶端請求標識對應的響應時間; 分析輸出模塊,用於在所述查詢模塊查詢到的響應時間大於預設值的情況下輸出該響應時間對應的應用伺服器的網絡地址。
10.根據權利要求6所述的系統,其特徵在於,所述分析裝置包括 查找模塊,用於從所述日誌中查找大於預設時間值的所述響應時間,並且確定該響應時間所對應的應用伺服器的網絡地址; 提示模塊,用於輸出所述查找模塊確定的網絡地址。
全文摘要
本申請提供了一種監控web應用程式性能的方法、系統和web伺服器,以解決現有技術中難以有效監控web應用程式性能或者監控效果不佳的問題。該方法包括web伺服器在向應用伺服器轉發客戶端請求後,接收應用伺服器的響應內容,並為客戶端請求分配客戶端請求標識,然後將應用伺服器的網絡地址、應用伺服器對客戶端請求的響應時間、以及客戶端請求標識三者相對應地保存在日誌中,將響應內容、標識和用於呈現web應用程式性能反饋頁面的代碼對應地發送給客戶端,接收客戶端對應地提交的標識和通過頁面獲取的web應用程式性能反饋信息,然後將標識和web應用程式性能反饋信息對應地保存在資料庫中;分析裝置對保存的數據以及日誌進行分析以確定應用程式的性能。
文檔編號H04L29/08GK102684934SQ201110064820
公開日2012年9月19日 申請日期2011年3月17日 優先權日2011年3月17日
發明者何進, 餘金波 申請人:阿里巴巴集團控股有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀