Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Κατέβασμα πολλών αρχείων ταυτόχρονο από remote servers

Îåêßíçóå áðü ôï ìÝëïò Wizard!. Τελευταία δημοσίευση από το μέλος tasos στις 18-11-2010, 20:27. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  18-11-2010, 16:22 60956

    Κατέβασμα πολλών αρχείων ταυτόχρονο από remote servers

    Καλησπέρα σε όλους Smile

    Κάθε 2-3 μήνες πρέπει να κατεβάζουμε φωτογραφίες από διάφορους προμηθευτές μας. Οι εικόνες αυτός είναι ~50kb η καθεμιά και στο σύνολό τους ξεπερνάνε τις 250.000. Δεν τις αποθηκεύουμε στο δίσκο, καθότι επεξεργάζονται, μορφοποιούνται και μπαίνουν απευθείας σε βάση (SQL 2008). Επίσης, η διαδικασία τρέχει πίσω από ISA και φυσικά χρειάζεται network credantials για να παίξει.

    Η ερώτησή μου είναι η εξής: Ποιά μέθοδο θα εφαρμόζατε για να το κάνετε σωστά; Θα επιλέγατε WebClient ή HttpSockets? Θα το σχεδιάζατε να τρέξει με Async methods ή Threads ? Πως θα μπορούσε να τρέχει παράλληλα 5-10 requests τη στιγμή που τραβάει από διάφορους servers ώστε να επιτύχει καλύτερη συνολική ταχύτητα και εκμετάλλευση του bandwidth;

    W!

  •  18-11-2010, 20:27 60961 σε απάντηση της 60956

    Απ: Κατέβασμα πολλών αρχείων ταυτόχρονο από remote servers

    Με τη λίγη εμπειρία που έχω γύρω από το web θα σκεφτόμουν τα εξής: 

    Από όσο ξέρω στο download πολλών μικρών αρχείων το http είναι πιο γρήγορο από το ftp, οπότε ίσως να προτιμήσεις το http αν παίζεις με ftp.

    Για να επταχυνθεί η διαδικασία του download θα έβαζα ένα μικρό αριθμό threads να αναλάβουν να κατεβάσουν τις εικόνες από τον ίδιο server. Ξέρω ότι οι web servers δεν εξυπηρετούν πολλά requests ταυτόχρονα στον ίδιο client, οπότε είναι καλή ιδέα να χωρίσεις τα downloads σου έτσι. 

    Τα 250.000 αρχεία είναι πάρα πολλά για να κατέβουν γρήγορα. Δεν είναι τόσο το μέγεθος των data σε GB αλλά το πλήθος των request που τελικά θα κάνεις. Είναι πιο γρήγορο να κατεβάσεις ένα αρχείο 100MB από ότι να κατεβάσεις 100 αρχεία 1MB από τον ίδιο server. Αν υπάρχει η δυνατότητα να σου φτιάξει ο web server ένα .zip και να χρειαστεί να κατεβάσεις ένα αρχείο τότε θα λάβεις τις εικόνες σου πολύ πιο γρήγορα. Ας μην είναι ένα πολύ μεγάλο zip, ας είναι πολλά zipάκια με το καθένα να περιέχει π.χ. 100 εικόνες. 



    Τάσος Καραγιάννης

    Baby debugging steps...
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems