Tástáil Luchtaigh API Le Locust

Tástáil Luchtaigh API Le Locust

Tástáil Lódála API Le Locust: Intro

Is dócha go raibh tú sa chás seo roimhe seo: scríobhann tú cód a dhéanann rud éigin, críochphointe mar shampla. Déanann tú do chríochphointe a thástáil le Fear an Phoist nó Insomnia, agus oibríonn gach rud go breá. Cuireann tú an críochphointe ar aghaidh chuig an bhforbróir ar thaobh an chliaint, a ídíonn an API agus imscarann ​​sé an t-iarratas. Ach ansin, teipeann ar an API nuair a úsáideann na húsáideoirí an app.

Féadann sé seo a bheith ina staid an-chrónach le bheith ann, gan trácht ar chostasach do ghnó. Sin an fáth a ndéanann forbróirí bogearraí tástálacha éagsúla ar chórais bogearraí chun a chinntiú go bhfeidhmíonn siad mar a bhíothas ag súil leo. Níl APIanna difriúil ar bith. Roimh imscaradh, ba cheart duit tástálacha feidhmíochta agus tástálacha slándála a dhéanamh ar a laghad.

Is féidir tástálacha feidhmíochta a ghrúpáil i dtástálacha feidhmiúlachta agus i dtástálacha ualaigh. Is gnách go n-úsáideann tú Postman nó Insomnia le tástálacha feidhmiúlachta. Cinntíonn siad go bhfeidhmíonn do API mar a bhfuil súil agat. Ar an láimh eile, tá imní níos mó ar thástálacha ualaigh maidir le conas a fheidhmíonn do API le húsáid fíor-domhan agus buaicualach, agus is é sin a bhfuil an t-alt seo faoi. Breathnaímid ar thástálacha ualaigh níos mine.

Cad is Tástáil Ualach API ann?

Is cineál tástála é tástáil ualaigh API a úsáideann forbróirí chun gnáth-ualach agus buaic-ualach ar chríochphointí a insamhail. Ligeann tástáil den chineál seo d’fhorbróirí feidhmíocht fhíordhomhanda API a mheas sula n-imscartar é. Cabhraíonn sé leo uasacmhainneacht oibriúcháin an chórais a shainaithint, scrogaill más ann dóibh, agus díghrádú feidhmíochta. De ghnáth déantar tástálacha ualaigh API trí úsáideoirí fíorúla a chruthú agus ansin iad a úsáid chun feidhmiúlacht an API a thástáil i gcomhthráth. 

Tomhaiseann tástálacha ualaigh API méadracht amhail am freagartha, úsáideoirí comhthráthacha, rátaí tréchuir, leibhéil úsáide acmhainne, Meán-Am Idir Teip (MTBF), Meán-Am go Teip (MTTF), agus mar sin de. Is féidir na méadrachtaí seo go léir a úsáid chun a chinneadh cé chomh maith agus atá ag éirí leis an API.

Cineálacha Tástála Ualach

Tá cineálacha éagsúla tástála ualaigh ann, gach ceann lena chásanna úsáide. Déanaimis féachaint ar chuid acu.

Tástáil Luchtaithe: Is é seo an fhoirm bhunúsach de thástáil ualaigh. Úsáidtear é chun feidhmíocht córais a mheas (sa chás seo, API) faoi ghnáth-ualach agus buaicualach a bhfuiltear ag súil leis.

Tástáil Strus: Úsáidtear é seo chun feidhmíocht chórais faoi ualach an-trom a mheas. Is é sprioc na tástála seo féachaint an dtagann córas ar ais tar éis teipe, agus cé chomh fada a thógann sé é sin a dhéanamh. De ghnáth déantar an t-ualach a ardú go mall go dtí go sáraíonn sé cumais an chórais.

Tástáil Spike: Tá sé seo beagán cosúil le tástáil struis, ach amháin go gcuirtear ualach trom i bhfeidhm go tobann, seachas é a rampáil suas go mall. Léiríonn an cineál tástála seo cad a tharlaíonn nuair a bhíonn spike tobann i do mheánlíon úsáideoirí nó cuairteoirí, nó nuair a bhíonn ionsaí DDOS ar do chóras.

Tástáil Soak: Tá an tástáil seo murab ionann agus na cinn eile thuas. Cuireann sé do chóras faoi 80% (nó timpeall air) den ghnáthualach agus fágann sé ag rith ar feadh tréimhse fada, abair 12 go 14 uair an chloig. Cinneann an cineál seo tástála cé chomh hiontaofa agus atá córas le himeacht ama.

Luchtaigh Tástáil Do APIs Le Locust

Tá rochtain ag forbróirí ar roghanna éagsúla chun a gcuid APIanna a thástáil ualaigh. Is iad na huirlisí tástála ualaigh coitianta ná Gatling, JMeter, agus Locust. Beimid ag díriú ar Locust san Airteagal seo.

Is uirlis tástála ualaigh foinse oscailte é Locust atá bunaithe ar python a úsáideann cuideachtaí is fearr ar nós Google, Microsoft, agus Riot Games chun a gcuid APIanna a thástáil. San Airteagal seo, taispeánfaimid conas tástáil API a luchtú. 

Don rang teagaisc seo, beidh mé ag cruthú API simplí le Flask. Is féidir leat leanúint liomsa nó díreach do API a chruthú le Nód, nó cibé creat a bhfuil tú compordach leis.

Riachtanais

Python 3

Socrú & Suiteáil

Ar dtús, ní mór duit timpeallacht fhíorúil a chur ar bun ar do ríomhaire ionas nach ndéanann tú praiseach de do thimpeallacht domhanda Python. Chun é sin a dhéanamh, rith na horduithe seo a leanas. Tabhair faoi deara go mbaineann na horduithe seo le teirminéal Windows.

tionscadal $ mkdir

cosán $ cd /d \ go \ tionscadal

$ python -m venv venv

$ venv\Scripts\gníomhachtaigh

 

Ar dtús, chruthaigh muid a tionscadal eolaire. Ansin d'athraigh muid ár n-eolaire reatha go tionscadal. Chruthaigh muid agus chuireamar i ngníomh timpeallacht fhíorúil do Python taobh istigh den eolaire sin. 

Anois, beidh muid ag dul ar aghaidh go dtí a shuiteáil Fleascán(úsáidfimid é chun na críochphointí a chruthú le tástáil ualach orthu) agus Locust féin. 

 

Chun Fleascán a shuiteáil, rith. Bí cinnte go bhfuil tú sa tionscadal áit ar chruthaigh tú timpeallacht fhíorúil.

$pip fleascán a shuiteáil

 

Chun Locust a shuiteáil, rith

$ pip shuiteáil locust

 

Nuair a bheidh sé sin déanta, clóscríobh na horduithe seo a leanas. Bí cinnte go bhfuil tú i do tionscadal eolaire nuair a dhéanann tú é seo.

$ cóip nul __init__.py

$ mkdir app

$ copy nul app\app.py

$ cóip nul app\__init__.py

 

Cruthaíonn an t-ordú seo roinnt comhad a úsáidfimid chun ár gcríochphointí a chruthú ag baint úsáide as Flask. Is féidir leat na comhaid seo a chruthú freisin ag baint úsáide as do thaiscéalaí comhad dála an scéil. Ach cad é an spraoi atá ann? Nuair a bheidh sé sin déanta agat, cóipeáil an cód thíos isteach app.py

ó allmhairiú fleascán Flask, jsonify, request

aip = Fleascán (__ainm__)

car_models = [

  { 'branda': 'Tesla', 'múnla': 'Samhail S' }

]

 

eitleán_models = [

  { 'branda': 'Boeing', 'múnla': '747' }

]

 

@app.route ('/carranna')

def get_cars():

  seol ar ais jsonify(car_models)

@app.route('/eitleáin')

def get_planes():

  seol ar ais jsonify(plane_models)

má tá __name__ == '__main__':

    app.run(debug=Fíor)  

 

Tá modh sa chód thuas faigh_carranna a úsáidtear chun liosta brandaí gluaisteán agus a gcuid samhlacha a fháil, agus eitleáin a fháil a úsáidtear chun liosta de bhrandaí eitleáin agus a gcuid samhlacha a fháil. Chun an críochphointe seo a lódáil, ní mór dúinn app.py a rith. Chun é sin a dhéanamh, rith an t-ordú thíos.

cosán $ python\go\app.py

Nuair a ritheann tú é sin, ba cheart duit rud éigin mar seo a fheiceáil:

Tástáil Luchtaithe API 1

Má chóipeáil tú an URL ón teirminéal agus clóscríobh gluaisteáin or planes tar éis an /, ba cheart go mbeifeá in ann na sonraí a fheiceáil ann. Mar sin féin, is é ár gcuspóir an críochphointe a thástáil le locust, ní leis an mbrabhsálaí. Mar sin déanaimis é sin. Rith an t-ordú seo a leanas i bhfréamh do tionscadal eolaire.

 

$ cóip nul locust_test.py

 

Cruthaíonn sé seo comhad 'locust_test.py' i bhfréamh do tionscadal eolaire. Nuair a bheidh sé sin déanta agat, oscail an comhad agus greamaigh an cód thíos. Míneoimid go luath é.

 

am allmhairithe

ó locust allmhairiú HttpUser, tasc, idir

 

Aicme UserBehaviour(HttpUser):

    feithimh = idir(5, 10)

 

    @tasc

    def get_cars(féin):

        féin.client.get('/gluaisteáin')

    

    @tasc

    def get_planes(féin):

        féin.client.get('/eitleáin')

 

Is sampla bunúsach é seo de Locust a úsáid chun API a thástáil. Ar dtús, cruthaímid rang Iompar Úsáideora, ar féidir aon ainm cuí a thabhairt air ach nach mór síneadh a chur leis HttpÚsáideoir. HttpÚsáideoir an rang a thugann aire d'úsáideoirí fíorúla iolracha a chur i gcrích chun na tascanna a shonraimid sa Iompar Úsáideora rang. 

Sonraítear tasc trí mhodh a mhaisiú leis an @tasc maisitheoir. Tá feidhm againn freisin ar a dtugtar idir() a ligeann dúinn raon soicind a shonrú le fanacht roimh an gcéad tasc eile a dhéanamh. Is féidir leat a fheiceáil gur sannamar raon 5 go 10 soicind chuige sin inár gcód. 

Chun an cód a rith, déan cinnte go bhfuil tú fós i do thimpeallacht fhíorúil. Má tá an ceann a chruthaigh tú á úsáid ag an bhfreastalaí a fhreastalaíonn ar an API, oscail teirminéal nua, athraigh d'eolaire chuig do chuid tionscadal eolaire, agus gníomhachtaigh an timpeallacht fhíorúil a chruthaigh tú. Is féidir leat an t-ordú chun timpeallacht fhíorúil a ghníomhachtú thuas a fháil. Anois, cuir isteach an t-ordú thíos i do chríochfort.

 

$ locust -f locust_test.py

 

Ba cheart duit rud mar seo a fheiceáil:

Tástáil Luchtaithe API 2

De réir réamhshocraithe, tá comhéadan gréasáin locust suite ag http://localhost/8089. Má thugann tú cuairt ar an suíomh Gréasáin, ba cheart duit comhéadan mar seo a fheiceáil:

Tástáil Luchtaithe API 3

Ón gcomhéadan, is féidir linn líon na n-úsáideoirí, an ráta sceite (úsáideoirí cruthaithe in aghaidh an tsoicind), agus Óstach a shonrú. Is féidir leat seoladh d'óstach a fháil ach an teirminéal ina bhfuil an freastalaí ag rith a sheiceáil. Is é ár gcás, tá sé ag port 5000. Nuair a chliceálann tú ar Tosaigh ag snámh, beidh tú a chur i láthair leis an comhéadan thíos.

Tástáil Luchtaithe API 4

Taispeánann sé seo méadrachtaí úsáideacha éagsúla duit amhail líon na n-iarratas ar theip orthu, an meán-am le haghaidh iarratais, an t-íosmhéid ama le haghaidh iarratais, iarratais in aghaidh an tsoicind, agus mar sin de. Nuair atá tú sásta leis an méid a fheiceann tú, is féidir leat cliceáil ar an gcnaipe stop. 


Chomh maith le Staitisticí cluaisín, tá a Charts cluaisín a thaispeánann níos mó eolas i bhfoirm graif, cosúil leis an íomhá thíos.

iomlán na n-iarratas in aghaidh an tsoicind graf, graf am freagartha, agus líon na n-úsáideoirí graf, breactha go léir in aghaidh an ama. Ag baint úsáide as na graif, is féidir leat a chinneadh cé mhéad úsáideoir atá inghlactha ar feadh aga freagartha seasta, nó is féidir leat do chairteacha a bhreathnú ar feadh aga freagartha seasta in ainneoin go bhfuil méadú ag teacht ar líon na n-úsáideoirí, agus léargais eile mar sin. Más mian leat iad seo a roinnt stats le duine eile, is féidir leat tuairisc a íoslódáil ó na Íoslódáil Sonraí Tab.

A chur i gcrích...

Is gníomhaíocht ríthábhachtach i do phróiseas forbartha í an tástáil ualaigh ar do API, mar sin déan cinnte go bhfuil sé ionchorpraithe i do thimthriall dearaidh. Dála an scéil, is féidir leat cineálacha tástála ualaigh eile a dhéanamh freisin trí na luachanna maidir le líon na n-úsáideoirí agus an ráta sceite a athrú. 

Más mian leat triail spíc a dhéanamh, sonraigh luach mór (abair 2000) do líon na n-úsáideoirí, agus ansin luach chomh mór do do ráta sceite (500 mar shampla). Ciallaíonn sé seo go mbeadh gach 4 úsáideoir cruthaithe agat i gceann 2000 soicind agus go mbeadh rochtain agat ar do chríochphointí. Beidh tástáil struis cosúil leis, ach beidh luach i bhfad níos ísle ar an ráta sceite. Chun a fháil amach cad is féidir leat a dhéanamh, seiceáil amach an Locust doiciméadú