<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Design &amp; Architecture</title><link>https://www.dotnetzone.gr:443/cs/forums/16/ShowForum.aspx</link><description>Θέματα αρχιτεκτονικής και σχεδιασμού εφαρμογών (design patterns, object orientation, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Κατέβασμα πολλών αρχείων ταυτόχρονο από remote servers</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/60961.aspx</link><pubDate>Fri, 19 Nov 2010 04:27:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:60961</guid><dc:creator>tasos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/60961.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=60961</wfw:commentRss><description>&lt;p&gt;Με τη λίγη εμπειρία που έχω γύρω από το web θα σκεφτόμουν τα εξής: &lt;/p&gt;&lt;p&gt;Από όσο ξέρω στο download πολλών μικρών αρχείων το http είναι πιο γρήγορο από το ftp, οπότε ίσως να προτιμήσεις το http αν παίζεις με ftp.&lt;/p&gt;&lt;p&gt;Για να επταχυνθεί η διαδικασία του download θα έβαζα ένα μικρό αριθμό threads να αναλάβουν να κατεβάσουν τις εικόνες από τον ίδιο server. Ξέρω ότι οι web servers δεν εξυπηρετούν πολλά requests ταυτόχρονα στον ίδιο client, οπότε είναι καλή ιδέα να χωρίσεις τα downloads σου έτσι. &lt;/p&gt;&lt;p&gt;Τα 250.000 αρχεία είναι πάρα πολλά για να κατέβουν γρήγορα. Δεν είναι τόσο το μέγεθος των data σε GB αλλά το πλήθος των request που τελικά θα κάνεις. Είναι πιο γρήγορο να κατεβάσεις ένα αρχείο 100MB από ότι να κατεβάσεις 100 αρχεία 1MB από τον ίδιο server. Αν υπάρχει η δυνατότητα να σου φτιάξει ο web server ένα .zip και να χρειαστεί να κατεβάσεις ένα αρχείο τότε θα λάβεις τις εικόνες σου πολύ πιο γρήγορα. Ας μην είναι ένα πολύ μεγάλο zip, ας είναι πολλά zipάκια με το καθένα να περιέχει π.χ. 100 εικόνες. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;</description></item><item><title>Κατέβασμα πολλών αρχείων ταυτόχρονο από remote servers</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/60956.aspx</link><pubDate>Fri, 19 Nov 2010 00:22:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:60956</guid><dc:creator>Wizard!</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/60956.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=60956</wfw:commentRss><description>&lt;SPAN style="WIDOWS:2;TEXT-TRANSFORM:none;TEXT-INDENT:0px;BORDER-COLLAPSE:separate;FONT:medium 'Times New Roman';WHITE-SPACE:normal;ORPHANS:2;LETTER-SPACING:normal;WORD-SPACING:0px;-webkit-border-horizontal-spacing:0px;-webkit-border-vertical-spacing:0px;-webkit-text-decorations-in-effect:none;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;" class=Apple-style-span&gt;&lt;SPAN style="TEXT-ALIGN:left;FONT-FAMILY:Verdana, Arial, Helvetica, sans-serif;FONT-SIZE:12px;" class=Apple-style-span&gt;
&lt;P style="FONT-SIZE:11px;"&gt;Καλησπέρα σε όλους &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE:11px;"&gt;Κάθε 2-3 μήνες πρέπει να κατεβάζουμε φωτογραφίες από διάφορους προμηθευτές μας. Οι εικόνες αυτός είναι ~50kb η καθεμιά και στο σύνολό τους ξεπερνάνε τις 250.000. Δεν τις αποθηκεύουμε στο δίσκο, καθότι επεξεργάζονται, μορφοποιούνται και μπαίνουν απευθείας σε βάση (SQL 2008). Επίσης, η διαδικασία τρέχει πίσω από ISA και φυσικά χρειάζεται network credantials για να παίξει.&lt;/P&gt;
&lt;P style="FONT-SIZE:11px;"&gt;Η ερώτησή μου είναι η εξής: Ποιά μέθοδο θα εφαρμόζατε για να το κάνετε σωστά; Θα επιλέγατε WebClient&amp;nbsp;ή HttpSockets? Θα το σχεδιάζατε να τρέξει με&amp;nbsp;Async methods&amp;nbsp;ή Threads ? Πως θα μπορούσε να τρέχει παράλληλα 5-10 requests τη στιγμή που τραβάει από διάφορους servers ώστε να επιτύχει καλύτερη συνολική ταχύτητα και εκμετάλλευση του bandwidth; &lt;/P&gt;
&lt;P style="FONT-SIZE:11px;"&gt;W!&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;</description></item></channel></rss>