คุณควรจะทำได้ [แม้ว่ามันอาจเป็นความคิดที่ไม่ดี]
ในเรซิน appserv ฉันสามารถรับ ~ 5k req / วินาทีใน quad core 2.6ghz xeon คำร้องขอให้เรียกใช้เซิร์ฟเล็ตแบบง่ายที่อ่าน 1 แถวจาก mysql และส่งการตอบสนอง xml ที่น้อยมาก
ทำแบบทดสอบด้วย
ab -n 10000 -c 16 http://some/url/
ผลการทดสอบ:
Concurrency Level: 16
Time taken for tests: 1.904 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 3190000 bytes
HTML transferred: 1850000 bytes
Requests per second: 5252.96 [#/sec] (mean)
Time per request: 3.046 [ms] (mean)
Time per request: 0.190 [ms] (mean, across all concurrent requests)
Transfer rate: 1636.42 [Kbytes/sec] received
แต่ฉันคิดว่าคุณจะทำได้ดีกว่ามากโดยใช้โปรแกรม c อย่างง่ายแน่นอนโดยไม่ต้องวางไข่เธรดใหม่สำหรับแต่ละคำขอ ลิงก์จาก Greg Hewgill ควรให้ความคิดที่ดีแก่คุณ
แม้ในระหว่างการทดสอบเป็นเวลานานฉันไม่ได้รับปัญหาใด ๆ กับการเชื่อมต่อ [ซ็อกเก็ตครึ่งเปิดที่กล่าวถึง]; ทดสอบการทำงานระหว่างกล่องลินุกซ์สองกล่องที่เชื่อมต่อผ่านกิกะบิตอีเธอร์เน็ต