drhouse
18-07-08, 23:48
Torrent – Πως βελτιώνω την ταχύτητα κατεβάσματος - Αγνοημένη παράμετρος
Κατ' αρχήν, ας με συγχωρέσουν οι φίλοι της κοινότητας αν υπάρχει παρόμοιο θέμα, μέχρι τώρα δεν έπεσε στην αντίληψή μου παρόμοιο και μπαίνω στο ζουμί.
Το πάρε δώσε τύπου P2P file sharing βασίζεται σε αρκετές παραμέτρους.
Εγώ θα ήθελα να αναφερθώ σε μια παράμετρο που οι περισσότεροι χρήστες αγνοούν γι’ αυτό και πολλές φορές δεν καταλαβαίνουν γιατί δεν μπορούν να κατεβάσουν γρήγορα ενώ ενώ κάποιες άλλες φορές μπορούν.
Τίποτα δεν είναι εντελώς τσάμπα, για να πάρεις θα πρέπει ΠΡΩΤΑ να δώσεις.
Ο torrent server δεν έχει κανένα πακετο αποθηκευμένο επάνω στο σύστημά του,
οι πληροφορίες που βλέπουμε είναι αυτές που οι ΚΑΛΟΙ ΕΘΕΛΟΝΤΕΣ μοιράζουν σε αυτό το δίκτυο. Ο torrent server κάνει ΜΟΝΟ ένα είδος διαχείρισης και τίποτε παραπάνω, αν δηλαδή οι ΕΘΕΛΟΝΤΕΣ ΑΠΟΥΣΙΑΣΟΥΝ τότε το σύστημα ΔΕΝ ΔΟΥΛΕΥΕΙ διότι δεν υπάρχουν κοινόχρηστες πληροφορίες.
Αφού λοιπόν το σύστημα σχεδιάστικές με κεντρική ιδέα την παραπάνω παρατήρηση θα ήταν παράλογο αν η ταχύτητα κατεβάσματος ΔΕΝ ήταν ΣΤΕΝΗ συνάρτηση από τον λόγο Seeder / Leecher (SLR). Δηλαδή για να μπορώ να πάρω (να κατεβάσω με ικανοποιητική ταχύτητα ανάμεσα στα άλλα) θα πρέπει πρώτα να συμβάλω με κάποιο τρόπο διαφορετικά το σύστημα θα καταρρεύσει.
Οι torrent servers λοιπόν αν έχουν περιθώρια σου επιτρέπουν να κατεβάσεις κάποιο αρχείο,
αν όμως δεν έχουν περιθόρια τότε προτιμούν να “κάνουν παιχνίδι” με όσους είναι "γνωστοί στην παρέα τους" και οι οποίοι έχουν είδη συμβάλει από την πλευρά τους.
Δεν είναι δίκαιο; Και πολύ θα έλεγα.
Τι κάνουμε λοιπόν σε αυτή την περίπτωση;
ΠΕΡΙΟΡΙΖΟΥΜΕ την ταχύτητα ανεβάσματος ή την ΑΥΞΑΝΟΥΜΕ; (!!!)
Αρχικά θα έλεγα για το συγκεκριμένο αρχείο, ανεβάζω την ταχύτητα upload ώστε να προσθέσω κι εγώ το λιθαράκι μου στο σύστημα, για να μπορέσει κατόπιν αυτό να μου προσφέρει με την σειρά του. Με πιο απλά λόγια, οι torrent peers προτιμούν να κάνουν παιχνίδι με άλλους peers οι οποίοι με την σειρά τους προσφέρουν στους πρώτους, π.χ αν δηλαδή ο Α και ο Β κατεβάζουν το ίδιο αρχείο και ο Α δίνει (upload με μεγάλη ταχύτητα ) στον B τότε ο B αυτόματα ανταποκρίνεται με αποτέλεσμα η download ταχύτητα του Α να μεγαλώνει.
Τα πράγματα όμως είναι λιγάκι πολυπλοκότερα, όταν ο Α κατεβάζει από τον B, πολύ συχνά θα πρέπει ο Α να ενημερώνει τον B ότι πράγματι παραλαμβάνει τα πακέτα που ο Β του στέλνει (έτσι δουλεύει το TCP, Acknowledgement). ΑΝ λοιπόν ο Α δεν μπορεί να ενημερώνει τον Β με ότι πράγματι έχει παραλάβει οτιδήποτε του έστειλε ο Β τότε ο Β ΣΤΑΜΑΤΑΕΙ την ανταπόκριση και πηγαίνει σε κατάσταση αναμονής. Αυτό το φαινόμενο εμφανίζεται όταν το Upload speed του Α δεν αφήνει bandwith για ACKs. Γι’ αυτό οι υπερβολικά μεγάλες ταχύτητες upload οδηγούν σε χαμηλές ταχύτητες download. H ρύθμιση της upload ταχύτητας θα πρέπει να είναι στο 80% αυτής που μας δίνει ο πάροχος, κι εδώ επιβάλετε πειραματισμός.
Σε περίπτωση που τρέχουμε δύο φορές (δύο instances) την torrent client εφαρμογή η ταχύτητα upload λειτουργεί αθροιστικά.
Ας έχουμε υπ’ όψιν μας επίσης την διαφορά ανάμεσα στα simultaneous connections και simultaneous uploads.
Η παράμετρος Simultaneous Connection αναφέρεται στον αριθμό των peers με τους οποίους συνδέομαι και κατεβάζω πληροφορίες. Ενώ η παράμετρος Simultaneous Uploads είναι ο αριθμός των peers στους οποίος δίνω πληροφορίες.
Ο μηχανισμός ΝΑΤ σε συνδυασμό με το τείχος προστασίας και την υπηρεσία φιλτραρίσματος (statefull) πολλές φορές δεν λειτουργεί ικανοποιητικά όταν η ρύθμιση simultateous connections έχει μεγάλη τιμή (μεγαλύτερη από 100). Και αυτή η παράμετρος είναι συσωρευτική δηλαδή εξαρτάται από τα instances του torrent client. Συνήθως κυμαίνεται ανάμεσα σε 60-100. Ενώ η παράμετρος Simultaneous Uploads εξαρτάται από την πραγματική ταχύτητα upload που μας δίνει ο παροχος και πρακτικά θα πρέπει να είναι μικρότερη από τον αριθμό των simultaneous connectoins.
Με πολύ απλά λόγια:
Aρχικά οι peers παίζουν παιχνίδι μεταξύ τους.
Σε αυτό το αρχικό στάδιο δεν έχω κάτι να μοιραστώ με αυτούς και αυτοί (οι peers) θα με
αγνοούν.
Κάθε αρχή και δύσκολη λοιπόν ειδικά όταν στον σύστημα υπάρχουν λίγοι οι καθόλου
seeders. Η ταχύτητα κατεβάσματος όμως θα αρχίσει να ανεβαίνει από την στιγμή που θα μπορώ να μοιράσω κι εγώ κάποια κομμάτια της κοινόχρηστης πληροφορίας.
Γι’ αυτό το λόγω προσωπικά θεωρώ ότι είναι καλό αυτή η πληροφορία να έχει πολλά αρχεία.
Έτσι έχω κατανοήσει εγώ το σκιώδες torrent-τοπίο, ΔΙΝΩ πρώτα για να μπορώ να πάρω ΜΕΤΑ.
Κατ' αρχήν, ας με συγχωρέσουν οι φίλοι της κοινότητας αν υπάρχει παρόμοιο θέμα, μέχρι τώρα δεν έπεσε στην αντίληψή μου παρόμοιο και μπαίνω στο ζουμί.
Το πάρε δώσε τύπου P2P file sharing βασίζεται σε αρκετές παραμέτρους.
Εγώ θα ήθελα να αναφερθώ σε μια παράμετρο που οι περισσότεροι χρήστες αγνοούν γι’ αυτό και πολλές φορές δεν καταλαβαίνουν γιατί δεν μπορούν να κατεβάσουν γρήγορα ενώ ενώ κάποιες άλλες φορές μπορούν.
Τίποτα δεν είναι εντελώς τσάμπα, για να πάρεις θα πρέπει ΠΡΩΤΑ να δώσεις.
Ο torrent server δεν έχει κανένα πακετο αποθηκευμένο επάνω στο σύστημά του,
οι πληροφορίες που βλέπουμε είναι αυτές που οι ΚΑΛΟΙ ΕΘΕΛΟΝΤΕΣ μοιράζουν σε αυτό το δίκτυο. Ο torrent server κάνει ΜΟΝΟ ένα είδος διαχείρισης και τίποτε παραπάνω, αν δηλαδή οι ΕΘΕΛΟΝΤΕΣ ΑΠΟΥΣΙΑΣΟΥΝ τότε το σύστημα ΔΕΝ ΔΟΥΛΕΥΕΙ διότι δεν υπάρχουν κοινόχρηστες πληροφορίες.
Αφού λοιπόν το σύστημα σχεδιάστικές με κεντρική ιδέα την παραπάνω παρατήρηση θα ήταν παράλογο αν η ταχύτητα κατεβάσματος ΔΕΝ ήταν ΣΤΕΝΗ συνάρτηση από τον λόγο Seeder / Leecher (SLR). Δηλαδή για να μπορώ να πάρω (να κατεβάσω με ικανοποιητική ταχύτητα ανάμεσα στα άλλα) θα πρέπει πρώτα να συμβάλω με κάποιο τρόπο διαφορετικά το σύστημα θα καταρρεύσει.
Οι torrent servers λοιπόν αν έχουν περιθώρια σου επιτρέπουν να κατεβάσεις κάποιο αρχείο,
αν όμως δεν έχουν περιθόρια τότε προτιμούν να “κάνουν παιχνίδι” με όσους είναι "γνωστοί στην παρέα τους" και οι οποίοι έχουν είδη συμβάλει από την πλευρά τους.
Δεν είναι δίκαιο; Και πολύ θα έλεγα.
Τι κάνουμε λοιπόν σε αυτή την περίπτωση;
ΠΕΡΙΟΡΙΖΟΥΜΕ την ταχύτητα ανεβάσματος ή την ΑΥΞΑΝΟΥΜΕ; (!!!)
Αρχικά θα έλεγα για το συγκεκριμένο αρχείο, ανεβάζω την ταχύτητα upload ώστε να προσθέσω κι εγώ το λιθαράκι μου στο σύστημα, για να μπορέσει κατόπιν αυτό να μου προσφέρει με την σειρά του. Με πιο απλά λόγια, οι torrent peers προτιμούν να κάνουν παιχνίδι με άλλους peers οι οποίοι με την σειρά τους προσφέρουν στους πρώτους, π.χ αν δηλαδή ο Α και ο Β κατεβάζουν το ίδιο αρχείο και ο Α δίνει (upload με μεγάλη ταχύτητα ) στον B τότε ο B αυτόματα ανταποκρίνεται με αποτέλεσμα η download ταχύτητα του Α να μεγαλώνει.
Τα πράγματα όμως είναι λιγάκι πολυπλοκότερα, όταν ο Α κατεβάζει από τον B, πολύ συχνά θα πρέπει ο Α να ενημερώνει τον B ότι πράγματι παραλαμβάνει τα πακέτα που ο Β του στέλνει (έτσι δουλεύει το TCP, Acknowledgement). ΑΝ λοιπόν ο Α δεν μπορεί να ενημερώνει τον Β με ότι πράγματι έχει παραλάβει οτιδήποτε του έστειλε ο Β τότε ο Β ΣΤΑΜΑΤΑΕΙ την ανταπόκριση και πηγαίνει σε κατάσταση αναμονής. Αυτό το φαινόμενο εμφανίζεται όταν το Upload speed του Α δεν αφήνει bandwith για ACKs. Γι’ αυτό οι υπερβολικά μεγάλες ταχύτητες upload οδηγούν σε χαμηλές ταχύτητες download. H ρύθμιση της upload ταχύτητας θα πρέπει να είναι στο 80% αυτής που μας δίνει ο πάροχος, κι εδώ επιβάλετε πειραματισμός.
Σε περίπτωση που τρέχουμε δύο φορές (δύο instances) την torrent client εφαρμογή η ταχύτητα upload λειτουργεί αθροιστικά.
Ας έχουμε υπ’ όψιν μας επίσης την διαφορά ανάμεσα στα simultaneous connections και simultaneous uploads.
Η παράμετρος Simultaneous Connection αναφέρεται στον αριθμό των peers με τους οποίους συνδέομαι και κατεβάζω πληροφορίες. Ενώ η παράμετρος Simultaneous Uploads είναι ο αριθμός των peers στους οποίος δίνω πληροφορίες.
Ο μηχανισμός ΝΑΤ σε συνδυασμό με το τείχος προστασίας και την υπηρεσία φιλτραρίσματος (statefull) πολλές φορές δεν λειτουργεί ικανοποιητικά όταν η ρύθμιση simultateous connections έχει μεγάλη τιμή (μεγαλύτερη από 100). Και αυτή η παράμετρος είναι συσωρευτική δηλαδή εξαρτάται από τα instances του torrent client. Συνήθως κυμαίνεται ανάμεσα σε 60-100. Ενώ η παράμετρος Simultaneous Uploads εξαρτάται από την πραγματική ταχύτητα upload που μας δίνει ο παροχος και πρακτικά θα πρέπει να είναι μικρότερη από τον αριθμό των simultaneous connectoins.
Με πολύ απλά λόγια:
Aρχικά οι peers παίζουν παιχνίδι μεταξύ τους.
Σε αυτό το αρχικό στάδιο δεν έχω κάτι να μοιραστώ με αυτούς και αυτοί (οι peers) θα με
αγνοούν.
Κάθε αρχή και δύσκολη λοιπόν ειδικά όταν στον σύστημα υπάρχουν λίγοι οι καθόλου
seeders. Η ταχύτητα κατεβάσματος όμως θα αρχίσει να ανεβαίνει από την στιγμή που θα μπορώ να μοιράσω κι εγώ κάποια κομμάτια της κοινόχρηστης πληροφορίας.
Γι’ αυτό το λόγω προσωπικά θεωρώ ότι είναι καλό αυτή η πληροφορία να έχει πολλά αρχεία.
Έτσι έχω κατανοήσει εγώ το σκιώδες torrent-τοπίο, ΔΙΝΩ πρώτα για να μπορώ να πάρω ΜΕΤΑ.