Nun, da Ihre Threads IO-gebunden werden, ist die gute Nachricht, dass sowohl Ruby 1.8 als auch 1.9 Threads dafür funktionieren. Ruby 1.8 verwendet "Userspace-Threads", dh es werden keine echten neuen Betriebssystem-Threads erstellt, wenn Sie in Ruby neue Threads erstellen. Das ist schlecht für CPU-Multitasking, da nur ein Ruby-Thread gleichzeitig ausgeführt wird, aber gut für E/A-Multitasking ist. Ruby 1.9 verwendet echte Threads und wird für beide gut sein.
Die Anzahl der Threads, die Sie erstellen können, hängt wirklich von Ihrem System ab. Es gibt natürlich praktische Grenzen, aber Sie wollen wahrscheinlich nicht in deren Nähe kommen. Erstens, wenn die Server, von denen aus Sie heruntergefahren werden, sehr langsam sind und Ihre Verbindung sehr schnell ist, werden nur ein paar Threads Ihre Internetverbindung sättigen. Auch wenn Sie viele Seiten von einem einzigen Server packen, werden 500 Anfragen gleichzeitig aus 500 Threads nicht gut.
Ich würde ziemlich klein anfangen: 10 oder 20 Threads gleichzeitig laufen. Erhöhen oder verringern Sie dies je nach Serverlast, Bandbreite usw. Es gibt auch das Problem der gleichzeitigen Verbindungen zur MySQL-Datenbank. Abhängig davon, wie Ihre Tabellen eingerichtet sind und wie groß sie sind, wird es nicht sehr gut funktionieren, wenn Sie zu viele Daten gleichzeitig einfügen möchten.
können Sie einige "ruinieren"! ;) –
behoben, danke! nicht Korrektur gelesen Titel: O – loosecannon