1. 查看注冊(cè)的報(bào)表并發(fā)數(shù)
您購(gòu)買FineReport軟件時(shí)都會(huì)選擇并發(fā)數(shù)的數(shù)量,比如:5個(gè)并發(fā),10個(gè)并發(fā)或者無(wú)限并發(fā)等等,那么如何查看自己的并發(fā)數(shù)呢?
打開(kāi)FR管理系統(tǒng)(op=fr_platform),選擇平臺(tái)管理>注冊(cè)信息>版本信息,然后會(huì)顯示您的注冊(cè)信息,其中包括并發(fā)IP數(shù)。
2. 報(bào)表并發(fā)數(shù)的原理
2.1 并發(fā)的意義
如購(gòu)買的并發(fā)數(shù)是5,就好像服務(wù)器只有五個(gè)接口,如果五個(gè)接口同時(shí)被占用,其他的人就無(wú)法連接到服務(wù)器了,會(huì)得到服務(wù)器返回的信息address pool is full。
此時(shí)其他的人想要連接上報(bào)表服務(wù)器查看報(bào)表,之前的5個(gè)人之中就必須要有人退出這個(gè)接口才行。
注:這里的5個(gè)人就是5個(gè)不同的IP,即并發(fā)數(shù)指同時(shí)有幾個(gè)IP可以訪問(wèn)報(bào)表系統(tǒng)。
2.2 什么時(shí)候算入并發(fā)
一個(gè)用戶上午訪問(wèn)了服務(wù)上的某個(gè)報(bào)表進(jìn)行填報(bào),填了一部分突然有事離開(kāi)了,下午回來(lái)繼續(xù)填,然后提交并關(guān)閉了瀏覽器。那么這個(gè)用戶從上午開(kāi)始填報(bào)到下午填報(bào)成功這段時(shí)間都占用了服務(wù)器的一個(gè)連接,始終占著一個(gè)并發(fā)。
這也許和有些系統(tǒng)如淘寶網(wǎng)不同,這些系統(tǒng)如果用戶長(zhǎng)時(shí)間不操作,會(huì)自動(dòng)退出,再次操作時(shí)需要重新登錄。而FR中,為了避免上述填報(bào)填了一半離開(kāi)的情況,只要瀏覽器開(kāi)著,客戶端每40秒就會(huì)通知服務(wù)器“i am alive”,保證連接不斷開(kāi)。
2.3 什么時(shí)候退出并發(fā)
如上用戶填報(bào)完后關(guān)閉了瀏覽器,那么這個(gè)用戶就退出了連接。退出連接有兩種情況:
一種是正常情況:用戶關(guān)閉瀏覽器,此時(shí)瀏覽器會(huì)通知報(bào)表服務(wù)器請(qǐng)求斷開(kāi),這個(gè)時(shí)候服務(wù)器就收回了這個(gè)連接,給其他人使用。
另一種是非正常情況:比如斷電自動(dòng)關(guān)機(jī)等導(dǎo)致瀏覽器非正常關(guān)閉時(shí),瀏覽器就不會(huì)每隔40秒通知服務(wù)器“i am alive”,也沒(méi)有通知服務(wù)器要斷開(kāi)連接。這個(gè)時(shí)候報(bào)表服務(wù)器等了一分鐘都沒(méi)有收到任何信息,就判斷出這個(gè)用戶發(fā)生故障了,自動(dòng)把這個(gè)連接收回來(lái)。
2.4 并發(fā)數(shù)滿了怎么辦
如果服務(wù)器的5個(gè)接口同時(shí)被不同的用戶占用著,那么其他的人訪問(wèn)報(bào)表的時(shí)候,就會(huì)收到報(bào)表服務(wù)器發(fā)過(guò)來(lái)的信息address pool is full,這時(shí)可以過(guò)段時(shí)間再訪問(wèn)報(bào)表。
因此在購(gòu)買并發(fā)數(shù)時(shí)一定要根據(jù)同時(shí)在線的最大用戶數(shù)來(lái)決定并發(fā)數(shù)的多少。
3. 并發(fā)相關(guān)概念
在實(shí)際的性能測(cè)試中,會(huì)經(jīng)常接觸到與“并發(fā)數(shù)”相關(guān)的概念,包括“并發(fā)用戶數(shù)”、“系統(tǒng)用戶數(shù)”和“同時(shí)在線用戶數(shù)”,下面用一個(gè)實(shí)際的例子來(lái)說(shuō)明它們之間的差別。
如一個(gè)OA系統(tǒng),該系統(tǒng)有2000個(gè)使用用戶,即可能使用該系統(tǒng)的用戶總數(shù)是2000名,這個(gè)就是系統(tǒng)用戶數(shù);
在這2000人中,最高峰會(huì)有500人同時(shí)在線,這個(gè)就是同時(shí)在線用戶數(shù),或者說(shuō)是業(yè)務(wù)并發(fā)數(shù)、并發(fā)用戶數(shù)
在這500人中,在某個(gè)時(shí)間點(diǎn)上,40%的用戶在較有興致地看系統(tǒng)公告(注意:“看”這個(gè)動(dòng)作是不會(huì)對(duì)服務(wù)端產(chǎn)生任何負(fù)擔(dān)的),20%的用戶在填寫復(fù)雜的表格(對(duì)用戶填寫的表格來(lái)說(shuō),只有在“提交”的時(shí)刻才會(huì)向服務(wù)端發(fā)送請(qǐng)求,填寫過(guò)程是不對(duì)服務(wù)端構(gòu)成壓力的),20%的部分用戶在發(fā)呆(也就是什么也沒(méi)有做),剩下的20%用戶在不停地從一個(gè)頁(yè)面跳轉(zhuǎn)到另一個(gè)頁(yè)面,那么真正給服務(wù)器造成壓力的只有最后的20%用戶。
因此,實(shí)際情況下服務(wù)器實(shí)際承受的壓力不只取決于業(yè)務(wù)并發(fā)用戶數(shù),還取決于用戶的業(yè)務(wù)場(chǎng)景。
了解Java報(bào)表工具就從這里開(kāi)始