Vâng, vì các chủ đề của bạn sẽ bị ràng buộc IO, tin tốt là cả hai chủ đề Ruby 1.8 và 1.9 sẽ hoạt động cho điều này. Ruby 1.8 sử dụng "các luồng không gian người dùng", nghĩa là không có chủ đề hệ điều hành mới thực sự nào được tạo ra khi bạn tạo các luồng mới trong Ruby. Điều này là xấu cho đa nhiệm CPU, vì chỉ có một chuỗi Ruby thực sự chạy cùng một lúc, nhưng tốt cho việc đa nhiệm IO. Ruby 1.9 sử dụng các chủ đề thực sự và sẽ tốt cho cả hai.
Số lượng chuỗi bạn có thể tạo thực sự tùy thuộc vào hệ thống của bạn. Tất nhiên là có giới hạn thực tế, nhưng có lẽ bạn không muốn đến bất cứ đâu gần họ. Đầu tiên, trừ khi các máy chủ bạn đang downloaidng từ rất chậm và kết nối của bạn là rất nhanh, chỉ cần một vài chủ đề sẽ làm ướt kết nối Internet của bạn. Ngoài ra, nếu bạn đang lấy rất nhiều trang từ một máy chủ duy nhất, việc đưa 500 yêu cầu vào cùng một lúc từ 500 luồng cũng sẽ không thực hiện được gì.
Tôi bắt đầu khá nhỏ: 10 hoặc 20 chuỗi chạy cùng một lúc. Tăng hoặc giảm tùy thuộc vào tải máy chủ, băng thông của bạn, v.v. Ngoài ra còn có vấn đề kết nối đồng thời với cơ sở dữ liệu MySQL. Tùy thuộc vào cách các bảng của bạn được thiết lập và mức độ lớn của chúng, việc cố gắng chèn quá nhiều dữ liệu cùng một lúc sẽ không hoạt động tốt.
bạn có thể 'làm hỏng' một số ít! ;) –
khắc phục điều đó, cảm ơn! không đọc tiêu đề: O – loosecannon