लिनक्स कमांड लाइन से एक वेबसाइट का परीक्षण [बंद]


29

मैं लिनक्स कमांड लाइन से एक वेबसाइट का परीक्षण करने के लिए एक उपकरण की तलाश कर रहा हूं।

आउटपुट से, मुझे http प्रतिक्रिया (स्थिति कोड) जानने की आवश्यकता है, लेकिन साइट के विभिन्न तत्वों को डाउनलोड करने में लगने वाले समय को भी मान लें।

पहले ही, आपका बहुत धन्यवाद।


आपने अब तक क्या पाया, देखा, या विचार कर रहे हैं (उपयुक्त / उपयुक्त नहीं)?
mctylr

इनमें से कोई भी उत्तर मुझे बहुत अच्छा लगता है। आपको अभी भी एक नकारात्मक के लिए उम्र का इंतजार करना होगा
जियोथेक्टरी

जवाबों:


35

आप विकल्प के wgetसाथ कोशिश कर सकते हैं -p:

wget -p http://site.com

यह आपको बताएगा कि प्रत्येक तत्व को डाउनलोड करने में कितना समय लगता है और प्रत्येक अनुरोध के लिए रिटर्न कोड।


2
wget -p URL -O /dev/null
फेडिर RYKHTIK

9

कृपया अपाचे बेंचमार्क देखें:

अपाचे बेंचमार्क

इससे आपको अपने पृष्ठ के प्रदर्शन का अवलोकन करना चाहिए।


अपाचे बेंकमार्क को इसके लिए उपयोग नहीं किया जा सकता है क्योंकि यह एक बाहरी स्रोत है, वास्तव में यह यूट्यूब वीडियो प्लेलिस्ट है। हम इस रीसोर्स की पहुंच की निगरानी कर रहे हैं। स्व
Embreau

मैं नहीं देखता कि आप ab का उपयोग क्यों नहीं कर सकते हैं; अगले उत्तर में wget की तरह, यह तब तक काम करेगा जब तक आपकी साइट का URL मशीन से एक्सेस नहीं हो जाता है जहाँ आप बेंचमार्किंग टूल चला रहे हैं।
गैरेथ_बोल्स

अपाचे बेंचमार्क स्थानीय संसाधनों तक ही सीमित नहीं है, इसका मतलब है एक पूर्ण प्रदर्शन मापने वाला उपकरण (नेटवर्क विलंबता, i / o, आदि सहित)।
andre

जानकर अच्छा लगा, मैं इस विकल्प का मूल्यांकन करूंगा, धन्यवाद।
एम्ब्रायु

6

आप निम्नलिखित विकल्पों को देखना चाहते हैं curl:

  • --write-out - किसी भी समय-संबंधित चर को प्रदर्शित करता है
  • --trace-time - प्रत्येक ट्रेस या वर्बोज़ लाइन के लिए एक टाइम स्टैम्प तैयार करता है
  • --verbose
  • --include - (HTTP) आउटपुट में HTTP-हैडर शामिल करें।
  • --trace-ascii <file> - वर्णनात्मक जानकारी सहित सभी इनकमिंग और आउटगोइंग डेटा के पूर्ण ट्रेस डंप को सक्षम करता है

और निम्न विकल्प wget:

  • --timestamping - टाइम स्टैम्पिंग चालू करें

curl --trace-ascii <file> --trace-time -o /dev/null <url>ठीक वैसा ही था जैसा मुझे चाहिए था। धन्यवाद!
dsummersl

3

आपका लक्ष्य क्या है, इसके आधार पर सेलेनियम और कर्ल अच्छे विकल्प हैं। इसके अलावा, एक उपयोगिता जो मुझे काफी पसंद आई है वह है twill। अधिक जानकारी http://twill.idyll.org/ पर उपलब्ध है ।

यह अच्छा है क्योंकि इसमें फॉर्म भरने, लिंक मान्य करने और प्रतिक्रिया कोड की जाँच करने की अपनी विशेष भाषा है। चूंकि यह सिर्फ पायथन कोड है, आप आसानी से पुस्तकालयों को आयात कर सकते हैं और अपने परीक्षणों को स्वचालित कर सकते हैं यदि आप कुछ अलग करना चाहते हैं।


2

पृष्ठ के लिए शीर्षलेख प्राप्त करने के लिए कर्ल का उपयोग करें, और प्रक्रिया का समय:

time curl -I http://yourpage.com | grep HTTP

थोड़ी देर के लूप में लपेटें और आप जाने के लिए अच्छे हैं। यदि आप URL जानते हैं तो उसी तरह से आप सभी तत्वों की जांच कर सकते हैं।


1

यहां निर्देश के रूप में 'घेराबंदी' नामक एक कमांडलाइन टूल आज़माएं


6
यही वह नहीं है जो वह मांग रहा है। और आप 3 साल की देरी से =)
mveroone

1

आप जो उपकरण चुनते हैं वह इस बात पर निर्भर करता है कि आप क्या मापना चाहते हैं और साइट की जटिलता क्या है।

यदि साइट का व्यवहार कुकीज़ पर निर्भर है (जैसे उपयोगकर्ता को लॉगिन करने की आवश्यकता है) तो ab / curl / wget (अन्य उत्तरों में वर्णित) पर्याप्त नहीं होगा। एक उपाय http :: रिकॉर्डर / www :: मैकेनाइज करना है

आपके द्वारा पूछे जा रहे सभी डेटा आपके वेबसर्वर लॉग में हैं - और एक साधारण awk स्क्रिप्ट इसे और अधिक पठनीय रूप में वापस कर देगा।

साइट के विभिन्न तत्वों को डाउनलोड करने में लगने वाला समय बेंचमार्क।

यह प्रदर्शन का एक बहुत खराब संकेतक है (हालांकि यह उत्पादन प्रणाली के स्वास्थ्य की निगरानी के लिए उपयोगी है)। भारी / धीमी संसाधनों जैसे भारी रिपोर्टों, आईएसओ छवियों के अपवाद के साथ, मल्टीमीडिया फ़ाइलों के प्रदर्शन की धारणा को एक ही अनुरोध को संसाधित करने में लगने वाले समय के साथ बहुत कम मिला है - और इसे वास्तव में इसे मापने के लिए मुश्किल है (केवल% जोड़कर) आपके अपाचे लॉग में डी समस्या को हल करने के लिए प्रकट होता है, लेकिन टीसीपी हैंडशेक, एसएसएल बातचीत, कैशिंग प्रभाव, डीएनएस लुकअप समय) की उपेक्षा करता है।

एक बेहतर समाधान यह है कि बूमरैंग जैसे कुछ का उपयोग किया जाए - लेकिन यह एक जावास्क्रिप्ट सक्षम ब्राउज़र में चलता है। हालांकि यह व्यक्तिगत HTTP अनुरोधों को ट्रैक करने की तुलना में कथित रूप से बेहतर प्रदर्शन का संकेत देता है, यह प्रदर्शन के लिए एक मूल्य प्राप्त करने के लिए ब्राउज़र की घटनाओं पर निर्भर करता है - लेकिन peceived प्रदर्शन व्यूपोर्ट को प्रस्तुत करने के लिए लिए गए समय के बारे में है (फिर से इसके लिए उपकरण हैं - वेबस्टेजटेस्ट में फिल्मस्ट्रिप टूल्स पर एक नजर डालें )।

वास्तव में साइट (आरयूएम) बनाम सिंथेटिक परीक्षण के उपयोगकर्ताओं को दिए गए प्रदर्शन को मापने के बारे में भी तर्क है।



0

मुझे लगता है कि प्रदर्शन परीक्षण चलाने के लिए आप JMeter आज़मा सकते हैं । आप अंतर्निहित प्रॉक्सी का उपयोग करके अपना परीक्षण रिकॉर्ड कर सकते हैं। यह पाठ मोड, स्थानीय या वितरित में भी चलता है। आप अपने परिणाम सीएसवी या एक्सएमएल प्रारूप में सहेज सकते हैं। यदि xml प्रारूप का उपयोग कर आप पृष्ठ की सामग्री को भी संग्रहीत कर सकते हैं।


0

हेडर की जाँच के लिए, मुझे पसंद है httpie( डॉक्स )।

स्थापना

pip install httpie --user

प्रयोग

$ http -h http://serverfault.com/q/124952/113899
HTTP/1.1 302 Found
Accept-Ranges: bytes
Age: 0
Cache-Control: private
Connection: keep-alive
Content-Length: 198
Content-Type: text/html; charset=utf-8
Date: Fri, 06 Jan 2017 10:01:06 GMT
Location: http://serverfault.com/questions/124952/testing-a-website-from-linux-command-line
Set-Cookie: prov=392298d9-103e-7dfc-5b55-8738be46cf3b; domain=.serverfault.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 07a25de4-6e16-4aa8-acfc-12b1bbbc6180
X-Served-By: cache-hhn1543-HHN
X-Timer: S1483696865.976259,VS0,VE187
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.