Joseph Birr Pixton ผู้พัฒนาไลบรารี TLS Rustls ทำการทดสอบหลายชุดเกี่ยวกับการพัฒนา y สังเกตเห็นประสิทธิภาพของรุ่นหลังที่เหนือกว่า OpenSSL ในระดับต่างๆ Rustls เป็นไลบรารีโอเพนซอร์ส TLS ซึ่งเขียนด้วย Rust และพร้อมใช้งานภายใต้ใบอนุญาต Apache 2.0, MIT และ ISC แต่ OpenSSL เป็นไลบรารีที่มีชื่อเสียงและเป็นมาตรฐานอุตสาหกรรมในเกือบทุกหมวดหมู่หลัก ๆ
ตามเอกสารของมัน Rustls เป็นไลบรารี TLS สมัยใหม่ที่มีจุดมุ่งหมายเพื่อมอบความปลอดภัยในการเข้ารหัสที่ดี. ไม่จำเป็นต้องมีการกำหนดค่าใด ๆ เพื่อให้บรรลุความปลอดภัยนี้และไม่มีฟังก์ชันการทำงานที่ไม่ปลอดภัยหรือการเข้ารหัสที่ล้าสมัย
มีคุณสมบัติมากมาย เช่นการตรวจสอบความถูกต้องของไคลเอ็นต์เซิร์ฟเวอร์ ECDSA หรือ RSA และการตรวจสอบสิทธิ์เซิร์ฟเวอร์ ECDSA หรือ RSA ในขณะที่รองรับการตรวจสอบใบรับรองเซิร์ฟเวอร์
ซึ่งหมายความว่าคุณไม่จำเป็นต้องให้สิ่งอื่นใดนอกจากชุดใบรับรองหลัก ไม่สามารถปิดใช้งานการตรวจสอบใบรับรองใน API หลัก
ในทางกลับกัน OpenSSL เป็นชุดเครื่องมือที่มีประสิทธิภาพระดับเชิงพาณิชย์สำหรับโปรโตคอล Transport Layer Security (TLS) และ Secure Sockets Layer (SSL) นอกจากนี้ยังเป็นไลบรารี crypto ที่หลากหลาย
เกี่ยวกับการทดสอบ Rustls
ในชุดการทดสอบประสิทธิภาพของเขา Joseph Birr Pixton กล่าวว่าเขาได้พิจารณาหลายประเด็นเพื่อประเมินประสิทธิภาพ อาจแตกต่างกันไประหว่างไลบรารี TLS เช่นประสิทธิภาพการแลกเปลี่ยนและประสิทธิภาพโดยรวม
ประสิทธิภาพการจับมือครอบคลุมความเร็วซึ่งสามารถกำหนดค่าเซสชัน TLS ใหม่ได้ ในแง่ของประสิทธิภาพโดยรวมจะครอบคลุมความเร็วที่สามารถถ่ายโอนข้อมูลแอปพลิเคชันไปยังเซสชันที่กำหนดค่าไว้แล้วได้
ผลการทดสอบต่างๆพบว่า Rustls เร็วขึ้น 10% เมื่อตั้งค่าและทำการเชื่อมต่อใหม่ กับเซิร์ฟเวอร์และเร็วขึ้น 20-40% เมื่อตั้งค่าการเชื่อมต่อไคลเอนต์
แต่ถ้าความเร็วสำหรับการเชื่อมต่อ TLS ใหม่สูงการรับส่งข้อมูล TLS ส่วนใหญ่จะขึ้นอยู่กับการเริ่มต้นใหม่ของการเชื่อมต่อที่สร้างไว้แล้ว
ที่นี่เช่นกัน สนิมทำงานได้ดีกว่าไลบรารี OpenSSL โดยใช้การเชื่อมต่อฝั่งเซิร์ฟเวอร์ 10-20% และเร็วขึ้น 30-70% ในการเชื่อมต่อไคลเอ็นต์ต่อ
นอกจากนี้ Rustls ยังทำงานได้ดีกว่าในแง่ของประสิทธิภาพโดยรวมหรือความเร็วในการถ่ายโอนข้อมูลผ่านการเชื่อมต่อ TLS
Birr Pixton กล่าวว่า Rustls สามารถส่งข้อมูลได้เร็วกว่า OpenSSL ถึง 15% และรับเร็วขึ้น 5% สุดท้ายเขากล่าวว่าไลบรารี Rustls ใช้หน่วยความจำเพียงครึ่งเดียวที่จำเป็นในการเรียกใช้ OpenSSL ซึ่งเป็นข้อดีอย่างมาก เขาจำได้ว่าในด้านนี้ OpenSSL ถูกวิพากษ์วิจารณ์บ่อยมากสำหรับหน่วยความจำขนาดใหญ่และปัญหาด้านความปลอดภัยจำนวนมากที่พบในรหัส
สรุปผลได้คร่าวๆว่า:
- สนิมส่งข้อมูลเร็วขึ้น 15%
- สนิมเร็วขึ้น 5% ในการรับข้อมูล
- สนิมเร็วขึ้น 20 ถึง 40% ในการตั้งค่าการเชื่อมต่อไคลเอ็นต์
- Rustls เร็วขึ้น 10% ในการตั้งค่าการเชื่อมต่อเซิร์ฟเวอร์
- สนิมเร็วขึ้น 30 ถึง 70% ในการเชื่อมต่อไคลเอ็นต์ต่อ
- สนิมเร็วขึ้น 10-20% ในการเชื่อมต่อกับเซิร์ฟเวอร์ต่อ
- สนิมใช้หน่วยความจำ OpenSSL น้อยกว่าครึ่งหนึ่ง
Birr Pixton อธิบายว่าเนื่องจาก Rustls ได้รับการเข้ารหัสเป็น Rust ปัญหาด้านความปลอดภัยจึงได้รับการแก้ไข ส่วนใหญ่มาจากการออกแบบของภาษา Rust ภาษาได้รับการออกแบบมาตั้งแต่ต้นเพื่อหลีกเลี่ยงข้อบกพร่องด้านความปลอดภัยที่เกี่ยวข้องกับหน่วยความจำ
วิธีที่โปรแกรมที่เขียนด้วยภาษาโปรแกรม Rust โต้ตอบกับหน่วยความจำเป็นการตีความทางภาษาที่โดดเด่นที่สุดอย่างหนึ่ง หาก บริษัท ขนาดใหญ่ตระหนักถึงประโยชน์ของภาษาที่สร้างโดย Mozilla Research การเติบโตของพวกเขาอาจระเบิดได้ในอีกไม่กี่ปีข้างหน้า
เบราว์เซอร์เช่น Firefox และ Brave ยังเชื่อกันว่าปัจจุบันใช้ส่วนประกอบ Rust แต่ บริษัท ขนาดใหญ่เช่น Cloudflare, Dropbox และ Yelp ก็นำมาใช้กับระบบการผลิตเช่นกัน
Fuente: https://jbp.io
ตัวเลขยอดเยี่ยมสำหรับ Rustls ฉันสงสัยว่าทำไมพวกเขาถึงไม่เปรียบเทียบกับ LibreSSL
ยังคงเห็นได้ว่าประสิทธิภาพของ Rust นั้นเหนือกว่ามากพอที่จะขับไล่ C ++ ได้หรือไม่และอื่น ๆ เช่นนั้น C / Asm เท่าที่ฉันรู้ว่าความซับซ้อนของการสลับภาษานั้นเหนือกว่าน้ำตาลที่เป็นประโยคที่เพิ่มโดย Rust