1.發(fā)送請(qǐng)求的數(shù)據(jù)量大概有多大沧卢?
述職答辯的時(shí)候被問(wèn)到這樣一個(gè)問(wèn)題,雖然知道怎么算醉者,但不得不承認(rèn)對(duì)這一塊的原理、周邊的配置了解得并不深刻披诗。
數(shù)據(jù)量的計(jì)算:取mysql命令show table status返回的Avg_row_length的字節(jié)數(shù)(我發(fā)送的數(shù)據(jù)是運(yùn)力數(shù)據(jù)撬即,每次請(qǐng)求發(fā)送的數(shù)據(jù)量和數(shù)據(jù)表中對(duì)應(yīng)的記錄基本一致,即:商圈呈队,日期剥槐,每個(gè)時(shí)段下的運(yùn)力計(jì)劃人數(shù))
延時(shí)的問(wèn)題:1.對(duì)方接收的數(shù)據(jù)量有多大?2.能處理的qps是多少宪摧?
對(duì)方接收的數(shù)據(jù)量有多大粒竖?
首先,接收的數(shù)據(jù)量與協(xié)議無(wú)關(guān)几于,HTTP 協(xié)議從未規(guī)定 GET/POST 的請(qǐng)求長(zhǎng)度限制是多少蕊苗。
其次,請(qǐng)求長(zhǎng)度限制是由瀏覽器和 web 服務(wù)器決定和設(shè)置的沿彭,各種瀏覽器和 web 服務(wù)器的設(shè)定均不一樣朽砰,這依賴(lài)于各個(gè)瀏覽器廠(chǎng)家的規(guī)定或者可以根據(jù) web 服務(wù)器的處理能力來(lái)設(shè)定。
我們采用的web服務(wù)器是nginx喉刘,可查看nginx.conf的配置文件瞧柔,對(duì)header、body的大小進(jìn)行了設(shè)置睦裳,線(xiàn)上如下:
server_names_hash_bucket_size 128;
client_header_buffer_size 4k;
large_client_header_buffers 4 32k;
client_max_body_size 32m;
client_body_buffer_size 512k;
2.能處理的qps是多少造锅?
首先,qps指標(biāo)通過(guò)壓測(cè)得出比較科學(xué)廉邑,如果是新系統(tǒng)哥蔚,沒(méi)有經(jīng)過(guò)壓測(cè),可以通過(guò)接口的響應(yīng)時(shí)間大概估算一下(比如接口響應(yīng)時(shí)間是200ms鬓催,那么1s內(nèi)能處理5個(gè)請(qǐng)求肺素,qps是5)。
在與別人對(duì)接時(shí)宇驾,詢(xún)問(wèn)一下接口的qps和響應(yīng)時(shí)間倍靡,以便于判斷自身系統(tǒng)設(shè)計(jì)。比如應(yīng)該設(shè)計(jì)成同步還是異步课舍,當(dāng)?shù)谌讲环€(wěn)定時(shí)如何采取降級(jí)措施塌西,比如加開(kāi)關(guān)等他挎。