Jump to content



NAS testing σε C#


crmaris

Recommended Posts

Πριν από κάμποσο καιρό είχα γράψει ένα πρόγραμμα σε C# που επέτρεπε την αυτόματη μέτρηση επιδόσεων σε NAS servers. Παρόλο που δουλεύει άψογα, το είχα κόψει-ράψει ακριβώς πάνω στο hardware μου και επιπλέον ήταν για single-client χρήση (αν και μπορούσα να το βάλω σε πολλά PC και να το τρέχω ταυτόχρονα αλλά χωρίς συγχρονισμό κτλ.)

Βλέπετε καλές και χρήσιμες οι μετρήσεις ενός NAS με ένα μόνο client αλλά πρέπει να γίνονται και κάποιες μετρήσεις και σε multi-client περιβάλλοντα, γιατί ένα NAS δε θα σερβίρει μόνο ένα χρήστη κάθε φορά αλλά το πιο πιθανό είναι αρκετούς ταυτόχρονα. Επίσης υπάρχουν και NAS που υποστηρίζουν LACP (Link Aggregation Protocol) οπότε με ένα μόνο client δεν μπορείς να τα ζορίσεις, αφού δεν "μπουκώνουν" και οι δύο Gigabit θύρες τους. Τώρα για μετρήσεις σε multi-client περιβάλλοντα σχεδόν όλοι χρησιμοποιούν το IOmeter το οποίο και δύσχρηστο είναι και το φορτίο που παράγει δεν είναι ακριβώς real αλλά synthetic.Έτσι αποφάσισα να βελτιώσω το NAS testing πρόγραμμα μου.

Εν συντομία δημιούργησα δύο προγράμματα. Το ένα είναι ο Server και το δεύτερο το Client. Το Server program τρέχει σε ένα PC και το Client μέχρι και σε 10 ταυτόχρονα. Αφού ξεκινήσει το ειδικό mode στο Server program αρχίζει και δέχεται connections από τα Client programs. Όταν συνδεθούν όλα με το Server τότε αυτό (το πρόγραμμα δηλαδή) μπορεί να δώσει το σήμα εκκίνησης των tests, οπότε και όλα τα προγράμματα (Server και Clients) αρχίζουν ταυτόχρονα τις εγγραφές/αναγνώσεις στο NAS. Πέραν του συγχρονισμού ένα κύριο πλεονέκτημα της καινούριας πλατφόρμας δοκιμών είναι ότι μόλις οι Clients τελειώσουν τα τεστ στέλνουν αυτόματα τα αποτελέσματα των μετρήσεων στο Server και από εκεί και πέρα με το πάτημα ενός κουμπιού όλα τα δεδομένα μεταφέρονται στο excel και αυτόματα (μέσω κώδικα και δυναμικά) βγαίνουν οι μέσες ταχύτητες (average) για κάθε τεστ ανά client αλλά και η συνολική ταχύτητα μεταφοράς δεδομένων από/προς το NAS (sum) για όλους τους Client. Έτσι μπορώ να δω τη συμπεριφορά του NAS με 1-11 clients ταυτόχρονα (γιατί και ο υπολογιστής που τρέχει το Server πρόγραμμα στην ουσία παίζει το ρόλο client για το NAS αφού τρέχουν και σε αυτόν τα τεστ). Βέβαια λόγω πρακτικών/οικονομικών λόγων θα τρέχω δοκιμές με 5-6 PC max, εκτός και αν πέσουν 3-4 slim PC στα χέρια μου...

Το όλο εγχείρημα μου κόστισε 3-4 μέρες full δουλειάς (μιας και το κύριο πρόγραμμα ήταν ήδη έτοιμο, απλά αναβαθμίστηκε), αλλά πιστεύω άξιζε τον κόπο. Δυστυχώς δεν μπορώ να μοιραστώ το πρόγραμμα επειδή αποτελεί εργαλείο δουλειάς για μένα αλλά τα αποτελέσματα του θα τα μοιράζομαι με όλους μέσω των reviews :)

ps. Το ίδιο πρόγραμμα μπορεί να χρησιμοποιηθεί και για storage benchmarks γενικότερα.

screenshot-02-15-18-kyr-12-mai-8525.gifscreenshot-02-15-23-kyr-12-mai-8526.gifscreenshot-17-36-02-sav-11-mai-8528.gifscreenshot-02-17-04-kyr-12-mai-8527.gif

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.