Deuchainn luchdachadh API le Locust

Deuchainn luchdachadh API le Locust

Deuchainn luchdachadh API le Locust: Intro

Is dòcha gu bheil thu air a bhith san t-suidheachadh seo roimhe: bidh thu a’ sgrìobhadh còd a nì rudeigin, puing crìochnachaidh mar eisimpleir. Bidh thu a’ dèanamh deuchainn air a’ phuing crìochnachaidh agad a’ cleachdadh Postman no Insomnia, agus bidh a h-uile dad ag obair gu math. Bidh thu a’ toirt seachad a’ phuing crìochnachaidh don leasaiche taobh teachdaiche, a bhios an uairsin ag ithe an API agus a’ cleachdadh an tagraidh. Ach an uairsin, bidh an API a 'fàilligeadh nuair a chleachdas luchd-cleachdaidh an aplacaid.

Faodaidh seo a bhith na shuidheachadh fìor dhuilich a bhith ann, gun luaidh air cosgail airson gnìomhachas. Sin as coireach gum bi luchd-leasachaidh bathar-bog a’ dèanamh diofar dheuchainnean air siostaman bathar-bog gus dèanamh cinnteach gu bheil iad a’ coileanadh mar a bhiodh dùil. Chan eil APIan eadar-dhealaichte. Mus tèid a chleachdadh, bu chòir dhut co-dhiù deuchainnean coileanaidh agus deuchainnean tèarainteachd a dhèanamh.

Faodar deuchainnean coileanaidh a chruinneachadh ann an deuchainnean gnìomh agus deuchainnean luchdan. Is e deuchainnean gnìomh mar as àbhaist dhut Postman no Insomnia a chleachdadh. Bidh iad a’ dèanamh cinnteach gu bheil an API agad ag obair mar a bhiodh dùil agad. Air an làimh eile, tha deuchainnean luchdaidh nas iomagaineach mu mar a bhios an API agad a’ coileanadh le cleachdadh fìor san t-saoghal agus luchdan as àirde, agus is ann mu dheidhinn sin a tha an artaigil seo. Bheir sinn sùil nas mionaidiche air deuchainnean luchdan.

Dè a th’ ann an deuchainn luchdachadh API?

Is e seòrsa de dheuchainn luchd-leasachaidh a th’ ann an deuchainn luchdan API a bhios luchd-leasachaidh a’ cleachdadh gus atharrais a dhèanamh air an luchd àbhaisteach agus as àirde air puingean crìochnachaidh. Leigidh an seòrsa deuchainn seo le luchd-leasachaidh measadh a dhèanamh air coileanadh fìor API san t-saoghal mus tèid a chuir a-steach. Bidh e gan cuideachadh a’ comharrachadh an comas obrachaidh as àirde a tha aig siostam, botail ma tha gin ann, agus ìsleachadh coileanaidh. Mar as trice bidh deuchainnean luchdan API air an dèanamh le bhith a’ cruthachadh luchd-cleachdaidh brìgheil agus an uairsin gan cleachdadh gus gnìomhachd an API a dhearbhadh aig an aon àm. 

Bidh deuchainnean luchdan API a’ tomhas metrics leithid ùine freagairt, luchd-cleachdaidh co-aontach, ìrean trochur, ìrean cleachdadh ghoireasan, Àm Meadhanach Eadar Fàilligeadh (MTBF), Ùine Meadhain gu Fàiligeadh (MTTF), agus mar sin air adhart. Faodar na meatrach sin uile a chleachdadh gus faighinn a-mach dè cho math ‘s a tha an API a’ dèanamh.

Seòrsa de dheuchainnean luchdadh a-nuas

Tha grunn sheòrsaichean de dheuchainnean luchd ann, gach fear le a chùisean cleachdaidh. Bheir sinn sùil air cuid dhiubh.

Deuchainn luchdaidh: Is e seo am foirm bunaiteach de dheuchainn luchd. Tha e air a chleachdadh gus coileanadh siostam a mheasadh (sa chùis seo, API) fo luchd àbhaisteach agus an luchd as àirde a thathar an dùil.

Deuchainn Strus: Tha seo air a chleachdadh gus measadh a dhèanamh air coileanadh siostam fo luchdan trom. Is e amas na deuchainn seo faicinn a bheil siostam a’ faighinn air ais às deidh fàiligeadh, agus dè cho fada ’s a bheir e sin a dhèanamh. Mar as trice bidh an luchd air a thogail suas gu slaodach gus an tèid e thairis air comasan an t-siostaim.

Deuchainn spike: Tha seo beagan coltach ri deuchainn cuideam, ach a-mhàin gu bheil luchdan trom air an cur an sàs gu h-obann, an àite a bhith ga rampadh suas gu slaodach. Tha an seòrsa deuchainn seo a’ riochdachadh na thachras nuair a tha spìc obann anns an àireamh chuibheasach de luchd-cleachdaidh no luchd-tadhail agad, no nuair a tha ionnsaigh DDOS air an t-siostam agad.

Deuchainn Soak: Tha an deuchainn seo eu-coltach ris an fheadhainn eile gu h-àrd. Bidh e a’ cur do shiostam fo 80% (no às a sin) de luchd àbhaisteach agus ga fhàgail a’ ruith airson ùine fhada, can 12 gu 14 uairean. Bidh an seòrsa deuchainn seo a’ dearbhadh dè cho earbsach sa tha siostam thar ùine.

Luchdaich a’ dèanamh deuchainn air na APIan agad le Locust

Tha cothrom aig luchd-leasachaidh air grunn roghainnean airson a bhith a’ dèanamh deuchainn air na APIan aca. Is e cuid de dh’ innealan deuchainn luchdan cumanta Gatling, JMeter, agus Locust. Bidh sinn a’ cur fòcas air Locust san artaigil seo.

Tha Locust na inneal deuchainn luchdan stòr fosgailte stèidhichte air python a bhios prìomh chompanaidhean leithid Google, Microsoft, agus Riot Games a’ cleachdadh gus na APIan aca a dhearbhadh. San artaigil seo, seallaidh sinn mar a nì thu deuchainn air API. 

Airson an oideachadh seo, bidh mi a’ cruthachadh API sìmplidh le Flask. Faodaidh tu leantainn còmhla rium no dìreach an API agad a chruthachadh le Node, no ge bith dè am frèam a tha thu comhfhurtail leis.

riatanasan

Python 3

Suidhich & stàladh

An toiseach, feumaidh tu àrainneachd bhrìgheil a stèidheachadh air do PC gus nach cuir thu dragh air an àrainneachd Python cruinne agad. Gus sin a dhèanamh, ruith na h-òrdughan a leanas. Thoir an aire gu bheil na h-òrdughan seo a’ buntainn ri inneal-crìochnachaidh Windows.

pròiseact $ mkdir

$ cd /d slighe \ gu \ pròiseact

$ python -m venv venv

$ venv\Sgriobt\ cuir an gnìomh

 

An toiseach, chruthaich sinn a phròiseact eòlaire. An uairsin dh’ atharraich sinn an eòlaire gnàthach againn gu phròiseact. An uairsin chruthaich sinn agus chuir sinn an gnìomh àrainneachd bhrìgheil airson Python taobh a-staigh an eòlaire sin. 

A-nis, gluaisidh sinn air adhart gu stàladh Flasg(cleachdaidh sinn e gus na puingean crìochnachaidh a chruthachadh airson deuchainn luchdan) agus Locust fhèin. 

 

Gus Flask a stàladh, ruith. Dèan cinnteach gu bheil thu anns an phròiseact far an do chruthaich thu àrainneachd bhrìgheil.

$pip stàlaich am flasg

 

Gus Locust a stàladh, ruith

$pip stàlaich locust

 

Aon uair ‘s gu bheil sin deiseil, cuir a-steach na h-òrdughan a leanas. Dèan cinnteach gu bheil thu ann an do làmhan phròiseact eòlaire nuair a nì thu seo.

$ lethbhreac nul __init__.py

$ mkdir app

$ lethbhreac nul app\app.py

$ lethbhreac nul app\__init__.py

 

Bidh an àithne seo a’ cruthachadh cuid de fhaidhlichean a chleachdas sinn gus na puingean crìochnachaidh againn a chruthachadh a’ cleachdadh Flask. Faodaidh tu cuideachd na faidhlichean sin a chruthachadh a’ cleachdadh an rannsachair faidhle agad leis an t-slighe. Ach dè an spòrs a th’ ann an sin? Aon uair ‘s gu bheil thu air sin a dhèanamh, dèan lethbhreac den chòd gu h-ìosal a-steach app.py

from flask import Flask, jsonify, request

app = Flasg (__name__)

car_models = [

  { 'brand': 'Tesla', 'modail': 'Modail S' }

]

 

plèana_models = [

  { 'brand': 'Boeing', 'model': '747' }

]

 

@app.route ('/càraichean')

def get_cars():

  tilleadh jsonify(car_models)

@app.route ('/planes')

def get_planes():

  till jsonify(plane_models)

ma tha __name__ == '__main__':

    app.run(debug=Fìor)  

 

Tha modh anns a’ chòd gu h-àrd faigh_càraichean cleachdadh gus liosta fhaighinn de bhrandan chàraichean agus na modailean aca, agus faigh_planes chleachdadh gus liosta fhaighinn de bhranndan itealain agus na modailean aca. Gus an luchdaich sinn deuchainn air a’ phuing crìochnachaidh seo, feumaidh sinn app.py a ruith. Gus sin a dhèanamh ruith an òrdugh gu h-ìosal.

slighe $ python\gu\app.py

Cho luath ‘s a ruitheas tu sin, bu chòir dhut rudeigin mar seo fhaicinn:

Deuchainn luchdachadh API 1

Ma nì thu lethbhreac den URL bhon cheann-uidhe agus dèan seòrsa càraichean or plèanaichean às deidh an /, bu chòir dhut a bhith comasach air an dàta fhaicinn an sin. Ach, is e ar n-amas deuchainn a dhèanamh air a’ phuing crìochnachaidh le locust, chan ann leis a’ bhrobhsair. Mar sin dèanamaid sin. Ruith an àithne a leanas ann am freumh do phròiseact eòlaire.

 

$ lethbhreac nul locust_test.py

 

Cruthaichidh seo faidhle 'locust_test.py' ann am freumh do phròiseact eòlaire. Aon uair ‘s gu bheil thu air sin a dhèanamh, fosgail am faidhle agus cuir a-steach an còd gu h-ìosal. Bidh sinn ga mhìneachadh a dh’ aithghearr.

 

ùine in-mhalairt

bho locust import HttpUser, tasg, eadar

 

Giùlan cleachdaiche clas(HttpUser):

    wait_time = eadar (5, 10)

 

    @tasc

    def get_cars(fèin):

        self.client.get ('/ càraichean')

    

    @tasc

    def get_planes(fèin):

        self.client.get ('/planes')

 

Is e seo eisimpleir bunaiteach de bhith a’ cleachdadh Locust gus API a luchdachadh. An toiseach, bidh sinn a’ cruthachadh clas Giùlan cleachdaiche, a dh’fhaodar ainm iomchaidh sam bith a thoirt ach a dh’fheumas leudachadh Http Cleachdaiche. Http Cleachdaiche an clas a bhios a’ gabhail cùram de bhith a’ toirt air ioma-chleachdaiche mas-fhìor a bhith a’ coileanadh nan gnìomhan a tha sinn a’ sònrachadh anns an Giùlan cleachdaiche clas. 

Tha gnìomh air a shònrachadh le bhith a’ sgeadachadh modh leis an @tasc sgeadaiche. Tha gnìomh againn ris an canar cuideachd eadar () a leigeas leinn raon diogan a shònrachadh airson feitheamh mus cuir sinn an ath ghnìomh gu buil. Chì thu gun do shònraich sinn raon de 5 gu 10 diogan airson sin nar còd. 

Gus an còd a ruith, dèan cinnteach gu bheil thu fhathast san àrainneachd bhrìgheil agad. Ma tha am fear a chruthaich thu ga chleachdadh leis an fhrithealaiche a tha a’ frithealadh an API, fosgail inneal-crìochnachaidh ùr, atharraich an eòlaire agad gu do chlàr phròiseact eòlaire, agus cuir an gnìomh an àrainneachd bhrìgheil a chruthaich thu. Gheibh thu an àithne airson àrainneachd bhrìgheil a chuir an gnìomh gu h-àrd. A-nis, cuir a-steach an àithne gu h-ìosal anns a’ chrìoch agad.

 

$ locust -f locust_test.py

 

Bu chòir dhut rud mar seo fhaicinn:

Deuchainn luchdachadh API 2

Gu gnàthach, tha eadar-aghaidh lìn locust suidhichte aig http://localhost/8089. Ma thadhlas tu air an làrach-lìn, bu chòir dhut eadar-aghaidh mar seo fhaicinn:

Deuchainn luchdachadh API 3

Bhon eadar-aghaidh, is urrainn dhuinn an àireamh de luchd-cleachdaidh a shònrachadh, ìre sìolachaidh (luchd-cleachdaidh air an cruthachadh gach diog), agus Host. Gheibh thu seòladh an aoigh agad le bhith a’ sgrùdadh a’ cheann-uidhe far a bheil am frithealaiche a’ ruith. Anns a 'chùis againn, tha e aig port 5000. Nuair a phutas tu air adhart Tòisich air snàmh, gheibh thu an eadar-aghaidh gu h-ìosal.

Deuchainn luchdachadh API 4

Tha seo a’ sealltainn grunn mheatairean feumail dhut leithid an àireamh de dh’ iarrtasan a dh’ fhàillig, an ùine chuibheasach airson iarrtas, an ùine as lugha airson iarrtas, iarrtasan gach diog, agus mar sin air adhart. Aon uair ‘s gu bheil thu riaraichte leis na chì thu, faodaidh tu briogadh air a’ phutan stad. 


A bharrachd air an sin staitistig tab, tha a clàran tab a sheallas barrachd fiosrachadh ann an cruth graf, mar an dealbh gu h-ìosal.

Tha iomlan iarrtasan gach diog graf, graf ùine freagairt, agus àireamh de luchd-cleachdaidh graf, uile air an dealbhadh an aghaidh ùine. Le bhith a’ cleachdadh nan grafaichean, faodaidh tu faighinn a-mach cia mheud neach-cleachdaidh a tha iomchaidh airson ùine freagairt stèidhichte, no faodaidh tu na clàran agad fhaicinn airson ùine freagairt seasmhach a dh’ aindeoin àireamh luchd-cleachdaidh a tha a’ sìor fhàs, agus seallaidhean eile mar sin. Ma tha thu airson iad seo a roinn Stats le cuideigin eile, faodaidh tu aithisg a luchdachadh sìos bhon Luchdaich sìos dàta tab.

Gus crìochnachadh ...

Tha deuchainn luchdan air an API agad na ghnìomhachd deatamach sa phròiseas leasachaidh agad, mar sin dèan cinnteach gu bheil e air a thoirt a-steach don chuairt dealbhaidh agad. Co-dhiù, faodaidh tu cuideachd seòrsachan deuchainn luchd eile a dhèanamh le bhith ag atharrachadh luachan an àireamh de luchd-cleachdaidh agus an ìre sìolachaidh. 

Ma tha thu airson deuchainn spìc a dhèanamh, sònraich luach mòr (can 2000) airson an àireamh de luchd-cleachdaidh, agus an uairsin luach a cheart cho mòr airson an ìre sìolachaidh agad (500 mar eisimpleir). Tha seo a’ ciallachadh, ann an 4 diogan, gum biodh a h-uile neach-cleachdaidh 2000 agad air an cruthachadh agus faighinn gu na puingean crìochnachaidh agad. Bidh deuchainn cuideam coltach ris, ach le luach mòran nas ìsle airson ìre sìolachaidh. Gus faighinn a-mach dè as urrainn dhut a dhèanamh, thoir sùil air an Locust sgrìobhainnean