Μόλις πριν από 2 εβδομάδες τους είπα σχετικά με τον τρόπο μέτρησης της απόδοσης του διακομιστή ιστού με το Apache Benchmark και, στη συνέχεια, το γράφετε με το GNUPlot.
Αυτή τη φορά θα σας πω για μια εναλλακτική λύση για το Apache Benchmark, θα σας πω για: Πολιορκία
Τι είναι το Siege και πώς να το εγκαταστήσετε;
Με το Siege προσομοιώνουμε τις προσβάσεις σε έναν ιστότοπο, δηλ. Υποδεικνύουμε τον τελικό αριθμό αιτημάτων που πρέπει να υποβληθούν σε έναν συγκεκριμένο ιστότοπο, πόσα ταυτόχρονα, εάν θέλουμε να επισκεφθείτε μια συγκεκριμένη διεύθυνση URL ή ένα σύνολο αυτών κ.λπ. Στο τέλος λαμβάνουμε μια έξοδο που θα μας πει πόσο καιρό χρειάστηκε ο διακομιστής ιστού για να ανταποκριθεί σε όλα τα αιτήματα κ.λπ. Στο τέλος, είναι τα δεδομένα που μας βοηθούν να γνωρίζουμε εάν οι εργασίες βελτιστοποίησης που μπορεί να κάνουμε είναι αποτελεσματικές ή όχι.
Για να εγκαταστήσετε το Siege, απλώς εγκαταστήστε το πακέτο με το ίδιο όνομα στη διανομή μας, στο Debian, Ubuntu ή παρόμοιο θα ήταν:
sudo apt-get install siege
Στο ArchLinux ή παράγωγα θα ήταν:
sudo pacman -S siege
Πώς να χρησιμοποιήσετε το Siege;
Όπως και με το Apache Benchmark, με μία παράμετρο περνάμε όλα τα αιτήματα που θα κάνει και με μια άλλη υποδεικνύουμε τον αριθμό των ταυτόχρονων αιτημάτων:
siege --concurrent=50 --reps=100 http://www.misitio.com
Σύμφωνα με αυτό το παράδειγμα, θα υποβάλουμε συνολικά 100 αιτήματα, 50 ταυτόχρονα.
Η έξοδος θα ήταν λίγο πολύ έτσι:
Αυτό έκανε μόνο αιτήματα για το ευρετήριο του ιστότοπου, το πιο σημαντικό πράγμα που πρέπει να λάβετε υπόψη είναι οι χρόνοι απόκρισης.
Το ίδιο αν δημιουργήσουμε ένα αρχείο (urls.txt για παράδειγμα) και σε αυτό βάζουμε πολλές διευθύνσεις URL του ίδιου ιστότοπου, τότε με πολιορκία χρησιμοποιούμε την ακόλουθη γραμμή για να επισκεφθούμε αυτές τις διευθύνσεις URL και να μετρήσουμε την απόδοση, αυτή είναι μια πιο πραγματική ή πιθανή πρακτική, καθώς κανένας άνθρωπος δεν επισκέπτεται 100 φορές το ευρετήριο ενός ιστότοπου στη σειρά 🙂
siege --concurrent=50 --reps=100 -f urls.txt
τέλος
Μέχρι στιγμής δεν κατάφερα να καταγράψω το αποτέλεσμα με το GNUPlot (όπως έκανα με το Apache Benchmark), είναι ένα έργο που έχω ακόμα στο ToDo 😉
Έχω μια ερώτηση, όπως αναφέρατε, συνήθως ένα άτομο δεν θα επισκεφτεί το ίδιο url 100 ή x φορές στη σειρά σε τόσο σύντομο χρονικό διάστημα, οπότε αυτό δεν θα μπορούσε να θεωρηθεί ως επίθεση DDoS και ότι ο ίδιος διακομιστής μας εμποδίζει; , υποθέτοντας φυσικά ότι έχουμε εγκαταστήσει ένα ελάχιστο επίπεδο ασφάλειας.
Με φιλικούς χαιρετισμούς.
Μου άρεσε, περισσότερο από αυτό