Είναι αμέτρητες οι σελίδες στο διαδίκτυο που παρέχουν εργαλεία μέτρησης ταχύτητας σύνδεσης (adsl ή vdsl) που θα σας δώσουν μια εικόνα για το πόσο γρήγορο internet έχετε. Ας δούμε όμως μεθόδους μέτρησης ταχύτητας Internet αλλά και τοπικού δικτύου (intranet) μέσω τερματικού.
Όλοι λίγο πολύ, όταν δούμε ότι κάποιο βίντεο στο youtube κολλάει, ή κάποιο αρχείο που κατεβάζουμε βλέπουμε ότι η λήψη του θα ολοκληρωθεί σε 3 αιώνες, αμέσως ανοίγουμε μια νέα καρτέλα στον browser μας για να κάνουμε ένα internet speed test και να δούμε αν όντως η γραμμή μας σέρνεται. Μια γρήγορη ματιά σε μέτρηση ταχύτητας μπορεί να μας δώσει μια εικόνα αν φταίει κάποια υπηρεσία/λήψη αρχείου/διακομιστής ή το adsl/vdsl μας.
Στο παρόν οδηγό, θα χρησιμοποιήσουμε δύο εργαλεία για να τεστάρουμε την ταχύτητα του δικτύου που αφορά το :
- Internet: ταχύτητα από τον υπολογιστή μας προς τον «έξω κόσμο»
- Intranet: ταχύτητα από τον έναν υπολογιστή σε άλλον τοπικού δικτύου
Αφού διαβάσετε το άρθρο, στο τέλος δείτε και το συνοδευτικό βίντεο όπου χρησιμοποιώ τα εργαλεία αυτά και για τις δύο περιπτώσεις.
Σε κάθε περίπτωση οι μετρήσεις πρέπει να γίνουν με υπολογιστή που είναι συνδεδεμένος στο ρούτερ με καλώδιο και όχι με wifi.
Μέτρηση ταχύτητας internet
Για να κάνουμε ένα test ταχύτητας internet μέσω τερματικού θα χρησιμοποιήσουμε το εργαλείο speetest-cli
Το κάνουμε εγκατάσταση μέσα από το τερματικό μας
sudo apt install speedtest-cli
Πως βλέπω πόσα mbps έχω
Το πόσα Mbps έχουμε την χρονική στιγμή που τρέχουμε το πρόγραμμα μπορούμε να το δούμε γράφοντας στο τερματικό
speedtest-cli
Το αποτέλεσμα θα μας πληροφορήσει με ποιόν κοντινότερο σε εμάς server συνδέθηκε, πόσο είναι το ping μας στα πόσα Mbps είναι το download αλλά και το upload μας. Αν θέλετε μόνο το «ζουμί» της υπόθεσης τότε χρησιμοποιείστε την παράμετρο --simple
speedtest-cli --simple
Πως βλέπω με τι ταχύτητα μπορώ να κατεβάσω / ανεβάσω αρχεία
Κάτι που δεν μπορεί να σας δείξουν τα κλασσικά site μέτρησης ταχύτητας internet είναι το πρακτικό κομμάτι, ήτοι με τι ταχύτητες κατεβάζω. Αυτό μπορούμε να το δούμε με το ίδιο εργαλείο με την παράμετρο --byte
speedtest-cli --simple --byte
Πως μπορώ να δείξω τις ταχύτητές μου σε κάποιον άλλον
Μπορείτε να δημιουργήσετε αυτόματα και ένα link με αρχείο εικόνας PNG το οποίο θα περιλαμβάνει τις ταχύτητες που εμφανίζει στο τερματικό σας, το ίδιο εργαλείο με την παράμετρο --share
speedtest-cli --simple --share
To link μπορείτε να το μοιραστείτε με φίλους ή με τα μέλη μιας κοινότητας (forum, group κλπ)
Πως το τρέχω αυτόματα κάθε μια ώρα
Ένας τρόπος για να μην βασίζεστε σε μια και μόνο μέτρηση αλλά να έχετε συνολικές μετρήσεις πχ ανά μια ώρα, είναι να φτιάξετε ένα script
το οποίο θα ρυθμίσετε να εκτελείται ανά μία ώρα.
Ενδεικτικά και σύμφωνα με αυτά που έχουμε δει μπορούμε να γράψουμε σε ένα αρχείο cron_speedtest.sh
τον παρακάτω κώδικα:
#!/bin/bash
LOG_PATH="/home/$(whoami)/log/speedtest.log"
if result=$(/usr/bin/speedtest --simple); then
parsed_result=$(printf "${result}\"" | sed ':a;N;$!ba;s/\n/" /g' | sed 's/: /="/g')
printf "[$(date)] ${parsed_result}\n" >> "${LOG_PATH}"
else
printf "[$(date)] error\n" >> "${LOG_PATH}"
exit 1
fi
exit 0
Αποθηκεύστε το αρχείο στον αρχικό σας κατάλογο ή σε κάποια διαδρομή που σας βολεύει. Μένει να δημιουργήσουμε τον προγραμματισμό με το crontab
crontab -e
και συμπληρώνουμε στο τέλος, το παρακάτω:
5 * * * * /diadromh/sto/script/cron_speedtest.sh
η παραπάνω προσθήκη είναι για να εκτελείται το αρχείο που δημιουργήσαμε ανά μια ώρα (5 λεπτά μετά). Έτσι, θα δούμε ένα αρχείο speedtest.log
στον αρχήκό μας κατάλογο το οποίο θα συμπληρώνεται με γραμμές όπως παρακάτω
[Fri Aug 3 03:58:17 EEST 2018] Ping="6.835 ms" Download="28.91 Mbit/s" Upload="4.43 Mbit/s"
Φυσικά οι ποιο ψαγμένοι μπορούν να δούνε το --help
του speedtest για να χρησιμοποιήσουμε περισσότερες παραμέτρους όπως π.χ. εξαγωγή σε CSV αρχείο για να δημιουργήσετε και γραφήματα κ.α.
Μέτρηση ταχύτητας intranet
Οι μετρήσεις στο εσωτερικό δίκτυο ή τοπικό δίκτυο είναι χρήσιμες όταν θέλουμε να δούμε αν :
- θέλουμε να έχουμε μια εικόνα για τις ταχύτητες μεταφοράς δεδομένων μεταξύ δύο υπολογιστών (π.χ. για κοινόχρηστους δίσκους)
- θέλουμε να δούμε πιθανό πρόβλημα στους χρόνους μεταφοράς δεδομένων
Για να ρυθμίσουμε το εργαλείο, Θα χρειαστεί να έχουμε είτε φυσική πρόσβαση και στους δυο υπολογιστές είτε να συνδεθούμε με ssh στον έναν υπολογιστή για να τρέξουμε το πρόγραμμα παρακολούθησης.
Θα πρέπει η port 5001/tcp να είναι ανοιχτή στο firewall κατά την διάρκεια των δοκιμών
Αφού ανοίξουμε τα τερματικά, κάνουμε εγκατάσταση και στους δύο υπολογιστές το πρόγραμμα iperf
sudo apt install iperf
Έπειτα, ο ένας που θέλουμε να παίξει τον ρόλο του «server» (δεν έχει σημασία ποιο) θα πρέπει να τρέξει το ipref με την παράμετρο -s
iperf -s
ενώ στον άλλον τρέχουμε με την παράμετρο -c xx.xx.xx.xx
(όπου xx η IP του υπολογιστή που έχει αναλάβει ρόλο server
iperf -c xx.xx.xx.xx
Αν τώρα θέλουμε να τρέξει αμφίδρομα το test ταχύτητας (δηλαδή λήψη και αποστολή) τότε θα προσθέσουμε την παράμετρο -r
iperf -c xx.xx.xx.xx -r
Βίντεο: Μέτρηση ταχύτητας Internet και τοπικού δικτύου
Παραπομπές:
- speedtest-cli (κώδικας)
- Script to run speedtest-cli via cron and log the results (κώδικας)
- iperf (wikipedia)
…βιώνουμε τις μεγάλες αλλαγές
η τρίτη επανάσταση, με τις αλλαγές να μένουν πίσω γνώριμες και απλές…
install, script, cron, πανδαισία ! Ωραία Salih !
«In times of change, learners will inherit the
earth while the learned will find themselves
beautifully equipped to deal with a world that
no longer exists»
Eric Hoffer
ευχαριστώ!
Χρήσιμο άρθρο. Πως μπορώ να βλέπω την τελευταία μέτρηση του speedtest-cli στο conky ?
Θα πρέπει να διαβάσεις την τεκμηρίωση του conky για το πώς μπορεί να διαβάσει ένα αρχείο κειμένου (πχ speedtest.log) και να εμφανίζει την τελευταία γραμμή.
Λογικά αν παίρνει εντολή τότε μπορείς να βάλεις κάτι σαν
tail -n 2 -F speedtest.log
καλημερα,το προβλημα μου ειναι οτι επειδη η διανομη μου ειναι opensuse δεν μπορω να δουλεψω με τον κειμενογραφο που μου εμφανιζει η crontab -e ,πως γινεται αλλαγη σε nano;ΕΥΧΑΡΙΣΤΩ
Στο τερματικο δώσε:
export VISUAL=nano; crontab -e
ΚΑΛΗΣΠΕΡΑ
ΔΙΝΩ ΣΤΟ τερματικο xport VISUAL=nano; crontab -e μετα αποθηκευω στο νανο
5 * * * * /home/hlias/cron_speedtest.sh και ψαχνω στον πρωσοπικο φακελο να βρω το αρχειο speedtest.log αλλα δεν το βρισκω.Κανω κατι λαθος;
ΕΥΧΑΡΙΣΤΩ
1) το cron_speedtest.sh που το έβαλες ?
2) Περασαν Μια ώρα και 5 λεπτά ?
ΤΟ ΕΒΑΛΑ ΣΤΟΝ ΠΡΩΣΟΠΙΚΟ ΚΑΤΑΛΟΓΟ(/home/hlias/cron_speedtest.sh)
ΕΧΟΥΝ ΠΕΡΑΣΕΙ 2 ΩΡΕΣ
ελυθη απλα επρεπε να δημιουργησω εγω ο ιδιος το αρχειο /log/speedtest.log
δεν δημιουργειται αυτοματα,
ΕΥΧΑΡΙΣΤΩ
Γειά χαρα. Υπόψιν ότι οι παροχοι ίντερνετ, δίνουν by default, qos 1, στην σελίδα speedtest,net. Αυτο κάνω ως επάγγελμα (λέμε τώρα… ). Πολύ χρήσιμος οδηγός… Λοιπόν. Εύγε…
Τι εννοείς QoS 1, μπορείς να μας δώσεις με λίγα λόγια πληροφορίες ώστε να βοηθήσει και άλλους που μας διαβάζουν