የኤፒአይ ጭነት ሙከራ ከአንበጣ ጋር

የኤፒአይ ጭነት ሙከራ ከአንበጣ ጋር

የኤፒአይ ጭነት ሙከራ በአንበጣ፡ መግቢያ

ምናልባት በዚህ ሁኔታ ውስጥ ኖት ይሆናል፡ የሆነ ነገር የሚያደርግ ኮድ ይጽፋሉ፣ ለምሳሌ የመጨረሻ ነጥብ። ፖስትማን ወይም እንቅልፍ ማጣትን በመጠቀም የመጨረሻ ነጥብዎን ይፈትሻል፣ እና ሁሉም ነገር በትክክል ይሰራል። የመጨረሻውን ነጥብ ለደንበኛ-ጎን ገንቢ ያስተላልፉታል፣ እሱም ከዚያ ይበላል። ኤ ፒ አይ እና ማመልከቻውን ያሰማራል። ግን ከዚያ ተጠቃሚዎቹ መተግበሪያውን ሲጠቀሙ ኤፒአይ አይሳካም።

ይህ ለንግድ ስራ ውድ መሆኑን ሳንጠቅስ በጣም የሚያበሳጭ ሁኔታ ሊሆን ይችላል። ለዚህም ነው የሶፍትዌር ገንቢዎች የሚጠበቀውን ያህል እንዲሰሩ ለማድረግ በሶፍትዌር ሲስተሞች ላይ የተለያዩ ሙከራዎችን ያካሂዳሉ። ኤፒአይዎች ከዚህ የተለዩ አይደሉም። ከመሰማራቱ በፊት፣ ቢያንስ የአፈጻጸም ሙከራዎችን እና የደህንነት ሙከራዎችን ማድረግ አለቦት።

የአፈጻጸም ሙከራዎች ወደ የተግባር ሙከራዎች እና የጭነት ሙከራዎች ሊመደቡ ይችላሉ። የተግባር ፈተናዎች ብዙውን ጊዜ ፖስትማን ወይም እንቅልፍ ማጣት የሚጠቀሙባቸው ናቸው። የእርስዎ ኤፒአይ እርስዎ እንደሚጠብቁት እንደሚሰራ ያረጋግጣሉ። የመጫኛ ሙከራዎች፣ በሌላ በኩል፣ የእርስዎ ኤፒአይ በእውነተኛው ዓለም አጠቃቀም እና ከፍተኛ ጭነት እንዴት እንደሚሰራ የበለጠ ያሳስባቸዋል፣ እና ይህ መጣጥፍ ስለዚያ ነው። የጭነት ሙከራዎችን በበለጠ ዝርዝር እንመልከት.

የኤፒአይ ጭነት ሙከራ ምንድነው?

የኤፒአይ ጭነት ሙከራ ገንቢዎች መደበኛ እና ከፍተኛ ጭነት በመጨረሻ ነጥብ ላይ ለማስመሰል የሚጠቀሙበት የሙከራ አይነት ነው። ይህ ዓይነቱ ሙከራ ገንቢዎች የኤፒአይ ከመሰማራታቸው በፊት የገሃዱ ዓለም አፈጻጸምን እንዲገመግሙ ያስችላቸዋል። ከፍተኛውን የስርዓተ ክወና አቅም፣ ማነቆዎች ካሉ እና የአፈጻጸም ውድቀትን እንዲለዩ ይረዳቸዋል። የኤፒአይ ጭነት ሙከራዎች ብዙውን ጊዜ የሚከናወኑት ምናባዊ ተጠቃሚዎችን በመፍጠር እና ከዚያም በተመሳሳይ ጊዜ የኤፒአይን ተግባር ለመፈተሽ ነው። 

የኤፒአይ ጭነት ፈተናዎች እንደ የምላሽ ጊዜ፣ ተመሳሳይ ተጠቃሚዎች፣ የፍጆታ ተመኖች፣ የሀብት አጠቃቀም ደረጃዎች፣ በውድቀት መካከል ያለው አማካኝ ጊዜ(MTBF)፣ የመክሸፍ ጊዜ (MTTF) እና የመሳሰሉትን የመሳሰሉ መለኪያዎችን ይለካሉ። እነዚህ ሁሉ መለኪያዎች ኤፒአይ ምን ያህል ጥሩ እየሰራ እንደሆነ ለመወሰን ጥቅም ላይ ሊውል ይችላል።

የጭነት ሙከራ ዓይነቶች

ብዙ አይነት የጭነት መሞከሪያዎች አሉ, እያንዳንዱም የአጠቃቀም ሁኔታዎች አሉት. ጥቂቶቹን እንይ።

የመጫን ሙከራ፡- ይህ የመጫኛ ሙከራ መሰረታዊ ቅርጽ ነው. በመደበኛ ጭነት እና በሚጠበቀው ከፍተኛ ጭነት ስር ያለውን የስርዓት አፈጻጸም ለመገምገም ስራ ላይ ይውላል(በዚህ አጋጣሚ ኤፒአይ)።

የጭንቀት ሙከራ; ይህ በጣም ከባድ በሆነ ጭነት ውስጥ ያለውን ስርዓት አፈጻጸም ለመገምገም ይጠቅማል. የዚህ ፈተና ግብ ስርዓቱ ከሽንፈት በኋላ ቢያገግም እና ይህን ለማድረግ ምን ያህል ጊዜ እንደሚወስድ ማየት ነው። ጭነቱ ብዙውን ጊዜ የስርዓቱን አቅም እስኪያልፍ ድረስ በዝግታ ይጨምራል።

የስፓይክ ሙከራ ይህ ከጭንቀት ሙከራ ጋር ትንሽ ይመሳሰላል፣ ከባድ ጭነት በድንገት ካልተተገበረ፣ በተቃራኒው ቀስ ብሎ ከፍ ማድረግ። ይህ ዓይነቱ ሙከራ በአማካኝ የተጠቃሚዎችዎ ወይም የጎብኝዎችዎ ቁጥር ላይ ድንገተኛ ጭማሪ ሲኖር ወይም በስርዓትዎ ላይ የ DDOS ጥቃት ሲከሰት ምን እንደሚሆን ይወክላል።

የመርከስ ሙከራ; ይህ ፈተና ከላይ ከተጠቀሱት ሁሉ የተለየ ነው። የእርስዎን ስርዓት ከመደበኛው ጭነት ከ80%(ወይም በዚያው) በታች ያደርገዋል እና ለረጅም ጊዜ እንዲሰራ ያደርገዋል ከ12 እስከ 14 ሰአታት ይበሉ። የዚህ ዓይነቱ ሙከራ ስርዓቱ በጊዜ ሂደት ምን ያህል አስተማማኝ እንደሆነ ይወስናል.

የእርስዎን ኤፒአይዎች በአንበጣ መሞከርን ይጫኑ

ገንቢዎች ኤፒአይዎቻቸውን ለመጫን የተለያዩ አማራጮችን ማግኘት ይችላሉ። አንዳንድ የተለመዱ የጭነት መሞከሪያ መሳሪያዎች Gatling፣ JMeter እና Locust ናቸው። በዚህ ጽሑፍ ውስጥ በአንበጣ ላይ እናተኩራለን.

አንበጣ እንደ ጎግል፣ ማይክሮሶፍት እና ሪዮት ጨዋታዎች ባሉ ታላላቅ ኩባንያዎች ኤፒአይዎቻቸውን ለመፈተሽ የሚጠቀሙበት በፓይቶን ላይ የተመሰረተ የክፍት ምንጭ ጭነት መሞከሪያ መሳሪያ ነው። በዚህ ጽሑፍ ውስጥ ኤፒአይን እንዴት እንደሚጫኑ እናሳያለን. 

ለዚህ አጋዥ ስልጠና ከፍላስክ ጋር ቀላል ኤፒአይ እፈጥራለሁ። ከእኔ ጋር መከተል ወይም የእርስዎን ኤፒአይ በኖድ መፍጠር ወይም የትኛውንም አይነት መዋቅር መፍጠር ይችላሉ።

መስፈርቶች

ዘንዶ 3

ማዋቀር እና ጭነት

በመጀመሪያ፣ የእርስዎን ዓለም አቀፍ የፓይዘን አካባቢ እንዳያበላሹ በፒሲዎ ላይ ምናባዊ አካባቢን ማዘጋጀት ያስፈልግዎታል። ይህንን ለማድረግ የሚከተሉትን ትዕዛዞችን ያሂዱ. እነዚህ ትዕዛዞች በዊንዶውስ ተርሚናል ላይ እንደሚተገበሩ ልብ ይበሉ።

$ mkdir ፕሮጀክት

$ cd /d መንገድ \ ወደ ፕሮጀክት

$ python -m venv venv

$ venv\Scripts\አግብር

 

በመጀመሪያ, እኛ ፈጠርን ፕሮጀክት ማውጫ. ከዚያ የአሁኑን ማውጫ ወደሚለው ቀይረነዋል ፕሮጀክት. ከዚያ በኋላ በዚያ ማውጫ ውስጥ ለፓይዘን ምናባዊ አካባቢን ፈጠርን እና አነቃን። 

አሁን ወደ መጫኑ እንቀጥላለን ፋክስ(የሚጫኑትን የመጨረሻ ነጥቦችን ለመፍጠር እንጠቀማለን) እና አንበጣ በራሱ. 

 

Flask ን ለመጫን ያሂዱ። በ ውስጥ መሆንዎን ያረጋግጡ ፕሮጀክት ምናባዊ አካባቢን የፈጠሩበት.

$ pip መጫኛ ብልጭታ

 

አንበጣን ለመጫን ሩጡ

$ pip ጫን አንበጣ

 

አንዴ እንደጨረሰ የሚከተሉትን ትዕዛዞችን ይተይቡ። በእርስዎ ውስጥ መሆንዎን ያረጋግጡ ፕሮጀክት ይህንን ሲያደርጉ ማውጫ.

$ ቅጂ nul __init__.py

$ mkdir መተግበሪያ

$ ቅጂ nul መተግበሪያ\app.py

$ ቅጂ nul መተግበሪያ \__init__.py

 

ይህ ትእዛዝ ፍላስክን ተጠቅመን የመጨረሻ ነጥቦቻችንን ለመፍጠር የምንጠቀምባቸውን አንዳንድ ፋይሎች ይፈጥራል። በነገራችን ላይ የእርስዎን ፋይል አሳሽ በመጠቀም እነዚህን ፋይሎች መፍጠር ይችላሉ። ግን በዚህ ውስጥ ምን አስደሳች ነገር አለ? አንዴ እንደጨረሱ ከታች ያለውን ኮድ ወደ ውስጥ ይቅዱ መተግበሪያ.ፒ

ከፍላስክ ማስመጣት Flask, jsonify, request

መተግበሪያ = ፍላሽ (__ስም__)

የመኪና_ሞዴሎች = [

  {'ብራንድ'፡ 'ቴስላ'፣ 'ሞዴል'፡ 'ሞዴል ኤስ' }

]

 

አውሮፕላን_ሞዴሎች = [

  {'ብራንድ'፡ 'ቦይንግ'፣ 'ሞዴል'፡ '747'}

]

 

@app.route('/መኪናዎች')

የመኪና መኪናዎች ()

  ተመለስ jsonify(የመኪና_ሞዴሎች)

@app.route('/planes')

def get_planes():

  ተመለስ jsonify(የአውሮፕላን_ሞዴሎች)

__name__ == '__ main__' ከሆነ ፦

    app.run(debug=እውነት)  

 

ከላይ ያለው ኮድ አንድ ዘዴ ይዟል መኪና አግኝ የመኪና ብራንዶችን እና ሞዴሎቻቸውን ዝርዝር ለማግኘት ያገለግል ነበር። አውሮፕላኖችን አግኝ የአውሮፕላን ብራንዶችን እና ሞዴሎቻቸውን ዝርዝር ለማግኘት ያገለግል ነበር። ይህንን የመጨረሻ ነጥብ እንድንጭን app.pyን ማስኬድ አለብን። ይህንን ለማድረግ ከዚህ በታች ያለውን ትዕዛዝ ያሂዱ.

$ python መንገድ \ ወደ app.py

አንዴ ከሮጡ እንደዚህ ያለ ነገር ማየት አለብዎት

የኤፒአይ ጭነት ሙከራ 1

ዩአርኤሉን ከተርሚናል ከገለበጡ እና ከተተይቡ መኪኖች or አውሮፕላኖች ከ / በኋላ, ውሂቡን እዚያ ማየት መቻል አለብዎት. ሆኖም ግባችን የመጨረሻ ነጥቡን በአሳሽ ሳይሆን በአንበጣ መሞከር ነው። ስለዚህ እንደዚያ እናድርገው. የሚከተለውን ትዕዛዝ በእርስዎ ሥሩ ውስጥ ያሂዱ ፕሮጀክት ማውጫ.

 

$ nul locust_test.py ቅዳ

 

ይህ በእርስዎ ስር ውስጥ 'locust_test.py' ፋይል ይፈጥራል ፕሮጀክት ማውጫ. አንዴ እንደጨረሱ ፋይሉን ይክፈቱ እና ከታች ባለው ኮድ ውስጥ ይለጥፉ። በአጭር ጊዜ ውስጥ እናብራራለን.

 

የማስመጣት ጊዜ

ከአንበጣ ማስመጣት HttpUser፣ ተግባር፣ መካከል

 

ክፍል የተጠቃሚ ባህሪ(HttpUser):

    የጥበቃ ጊዜ = በ (5, 10) መካከል

 

    @ ተግባር

    የመኪና መኪና (ራስ)

        self.client.get('/ መኪናዎች)

    

    @ ተግባር

    def get_planes(በራስ)::

        self.client.get('/planes')

 

ይህ ኤፒአይን ለመሞከር አንበጣን የመጠቀም መሰረታዊ ምሳሌ ነው። በመጀመሪያ ክፍል እንፈጥራለን የተጠቃሚ ባህሪ, ማንኛውም ተገቢ ስም ሊሰጠው ይችላል ነገር ግን ማራዘም አለበት ኤችቲቲፒ ተጠቃሚ። ኤችቲቲፒ ተጠቃሚ በ ውስጥ የገለጽናቸው ተግባራትን ለማከናወን ብዙ ምናባዊ ተጠቃሚዎችን በቅጽበት የሚንከባከበው ክፍል ነው። የተጠቃሚ ባህሪ ክፍል. 

አንድ ተግባር ከ ጋር አንድ ዘዴን በማስጌጥ ይገለጻል @ ተግባር ማስጌጫ. የሚባል ተግባርም አለን። መካከል() ቀጣዩን ስራ ከመስራታችን በፊት የምንጠብቀውን የሰከንዶች ክልል እንድንገልጽ ያስችለናል። በእኛ ኮድ ውስጥ ለዚያ ከ 5 እስከ 10 ሰከንድ ክልል እንደመደብን ማየት ይችላሉ. 

ኮዱን ለማስኬድ አሁንም በምናባዊ አካባቢዎ ውስጥ እንዳሉ ያረጋግጡ። የፈጠርከው ኤፒአይ በሚያገለግለው አገልጋይ እየተጠቀመበት ከሆነ አዲስ ተርሚናል ይክፈቱ፣ ማውጫዎን ወደ እርስዎ ይቀይሩት። ፕሮጀክት ማውጫ፣ እና እርስዎ የፈጠሩትን ምናባዊ አካባቢን ያግብሩ። ከዚህ በላይ ምናባዊ አካባቢን ለማንቃት ትዕዛዙን ማግኘት ይችላሉ። አሁን በተርሚናልዎ ውስጥ ከታች ያለውን ትዕዛዝ ያስገቡ።

 

$ አንበጣ -f አንበጣ_test.py

 

አንድ እንደዚህ ያለ ነገር ማየት አለብዎት:

የኤፒአይ ጭነት ሙከራ 2

በነባሪ የአንበጣ ድር በይነገጽ በ http://localhost/8089 ላይ ይገኛል። ድህረ ገጹን ከጎበኙ፣ እንደዚህ አይነት በይነገጽ ማየት አለቦት፡-

የኤፒአይ ጭነት ሙከራ 3

ከበይነገጽ፣ የተጠቃሚዎችን ብዛት፣ የወለድ መጠን (ተጠቃሚዎች በሰከንድ የተፈጠሩ) እና አስተናጋጅ ልንገልጽ እንችላለን። አገልጋዩ የሚሰራበትን ተርሚናል በመፈተሽ የአስተናጋጅዎን አድራሻ ማግኘት ይችላሉ። በእኛ ሁኔታ ወደብ 5000. ሲጫኑ ነው መንቀጥቀጥ ይጀምሩ ፣ ከዚህ በታች ባለው በይነገጽ ይቀርብዎታል።

የኤፒአይ ጭነት ሙከራ 4

ይህ እንደ ያልተሳኩ ጥያቄዎች ብዛት፣ አማካኝ የጥያቄ ጊዜ፣ የጥያቄ አነስተኛ ጊዜ፣ ጥያቄዎች በሰከንድ እና የመሳሰሉትን የመሳሰሉ የተለያዩ ጠቃሚ መለኪያዎችን ያሳየዎታል። በሚያዩት ነገር ከረኩ በኋላ የማቆሚያ ቁልፍን ጠቅ ማድረግ ይችላሉ። 


ስታቲስቲክስ ትር, አለ ሠንጠረዦች ተጨማሪ የሚያሳይ ትር መረጃ በግራፍ መልክ, ከታች ባለው ምስል.

አሉ ነው ጠቅላላ ጥያቄዎች በሰከንድ ግራፍ, የምላሽ ጊዜ ግራፍ ፣የተጠቃሚዎች ብዛት ግራፍ, ሁሉም በጊዜ ላይ ያሴሩ. ግራፎቹን በመጠቀም፣ ለተወሰኑ የምላሽ ጊዜ ምን ያህል ተጠቃሚዎች ተቀባይነት እንዳላቸው ማወቅ ይችላሉ፣ ወይም ምንም እንኳን እየጨመረ የሚሄደው የተጠቃሚዎች ቁጥር እና ሌሎች ግንዛቤዎችን ሰንጠረዦችዎን ለቋሚ ምላሽ ጊዜ መመልከት ይችላሉ። እነዚህን ማጋራት ከፈለጉ ስታትስቲክስ ከሌላ ሰው ጋር, ከ ሪፖርት ማውረድ ይችላሉ ውሂብ ያውርዱ። ትር.

ለማገባደድ...

የእርስዎን ኤፒአይ መፈተሽ በእርስዎ የእድገት ሂደት ውስጥ ወሳኝ እንቅስቃሴ ነው፣ ስለዚህ በንድፍ ዑደትዎ ውስጥ መካተቱን ያረጋግጡ። በነገራችን ላይ ለተጠቃሚዎች ብዛት እና የወለድ መጠን እሴቶችን በመቀየር ሌሎች የጭነት ሙከራ ዓይነቶችን ማካሄድ ይችላሉ. 

የሾል ሙከራ ለማድረግ ከፈለጉ ለተጠቃሚዎች ብዛት አንድ ትልቅ እሴት (2000 ይበሉ) እና ከዚያ እኩል የሆነ ትልቅ እሴት ይግለጹ (ለምሳሌ 500)። ይህ ማለት በ4 ሰከንድ ውስጥ ሁሉንም 2000 ተጠቃሚዎች ፈጥረው የመጨረሻ ነጥቦችዎን እንዲደርሱበት ማድረግ ነው። የጭንቀት ፈተና ተመሳሳይ ይሆናል, ነገር ግን ለስፖን ፍጥነት በጣም ዝቅተኛ ዋጋ ያለው. ማድረግ የምትችለውን ሁሉ ለማወቅ፣ አንበጣን ተመልከት ስነዳ

ኮቦልድ ደብዳቤዎች፡ በኤችቲኤምኤል ላይ የተመሰረቱ የኢሜይል አስጋሪ ጥቃቶች

ኮቦልድ ደብዳቤዎች፡ በኤችቲኤምኤል ላይ የተመሰረቱ የኢሜይል አስጋሪ ጥቃቶች

የኮቦልድ ደብዳቤዎች፡ በኤችቲኤምኤል ላይ የተመሰረቱ የኢሜይል አስጋሪ ጥቃቶች በማርች 31፣ 2024፣ ሉታ ሴኪዩሪቲ አዲስ የተራቀቀ የማስገር ቬክተር በሆነው የኮቦልድ ደብዳቤዎች ላይ ብርሃን የሚፈነጥቅ መጣጥፍ አወጣ።

ተጨማሪ ያንብቡ »