เพื่อนร่วมงานของฉันและฉันมีความรู้สึกที่ดีว่า OpenSSL ต้องการการเสนอจากแอปพลิเคชันของเราไม่มากก็น้อย แต่ฉันต้องการความคิดเห็นว่ามันแย่ขนาดนี้จริงๆ หรือมีปัญหาในการใช้งานไลบรารีนี้ที่อาจสร้างปัญหาให้เราหรือไม่
การตั้งค่า: แอปพลิเคชัน C++ แบบมัลติเธรดที่รักษาการเชื่อมต่อ SSL แบบถาวรสำหรับผู้ใช้แต่ละราย
มีผู้ใช้ 500 คน มันทำงานได้ดี ฉันกำลังพยายามเพิ่มขีดจำกัดเป็น 1,000 และประมาณ 960 มี segfault ใน SSL_read
การอ่านนี้เป็นการดำเนินการ I/O ครั้งแรกสำหรับการเชื่อมต่อเฉพาะนี้ ฉันต้องเพิ่มขีดจำกัดไฟล์ใน ulimit
จาก 1024 เป็น 4096 เพื่อให้สูงขึ้นขนาดนี้ ดังนั้นคำถามของฉันคือ:
1) เป็นไปได้หรือไม่ที่ไลบรารีจำเป็นต้องได้รับการกำหนดค่าเพื่อให้ยอมรับการเชื่อมต่อจำนวนมากนี้
2) มันเป็นปัญหาเธรดที่อาจแก้ไขได้ด้วยการใช้ mutexes แบบเบาหรือไม่? ฉันไม่สามารถเปลี่ยน SSL_read ทั้งหมดให้เป็นแถบวิกฤตได้
3) แค่ห้องสมุดบั๊กกี้ที่ไม่ดีและจำเป็นต้องถูกโยนทิ้งไปใช่ไหม?
OpenSSL 1.0.0-fips 29 Mar 2010
- person djechlin   schedule 13.06.2012-g
ตั้งแต่เริ่มต้นเพื่อดูว่าเกิดอะไรขึ้นภายในนั้น สำหรับโค้ดตัวอย่างเล็กๆ ฉันไม่แน่ใจว่าจะสร้างมันได้ง่ายแค่ไหน มันเป็น segfault ที่เกิดขึ้นเมื่อฉันมีสิ่งต่าง ๆ มากมายที่บินผ่านการเชื่อมต่อ - มันทำงานได้อย่างสมบูรณ์แบบ @ 500 ผู้ใช้และล้มเหลวที่ @ 1,000 - person djechlin   schedule 13.06.2012