Authority_keys มีขนาดเท่าใด


11

ถ้าฉันใช้บางอย่างเช่น gitolite เพื่อจัดการการควบคุมการเข้าถึง หมายความว่าถ้าฉันบอกว่ามีผู้ใช้ 50,000 รายประสิทธิภาพจะเป็นอย่างไร (ฉันเดาไม่ดีมาก) ทางเลือกคืออะไร?

อัปเดต: ฉันตัดสินใจทำการทดสอบด้วยตัวเอง (ซึ่งฉันควรทำตั้งแต่แรก) ฉันเขียนสคริปต์ง่าย ๆ เพื่อสร้างคีย์ SSH และเพิ่มลงในไฟล์ authorized_keys คอมพิวเตอร์ของฉันไม่เร็วขนาดนั้นฉันจึงสร้างคีย์ได้เพียง 8,061 ตัวเท่านั้นจากนั้นเพิ่มชื่อของฉันเองลงในไฟล์ ฉันเพิ่ม git repository ด้วยหนึ่งไฟล์และรัน git clone สามครั้ง:

With 8,061 keys (Mine is at the end of the file)
real    0m0.442s
real    0m0.447s
real    0m0.458s

With just a single key:
real    0m0.248s
real    0m0.264s
real    0m0.255s

ประสิทธิภาพดีกว่าที่ฉันคิดไว้มาก ฉันยังคงสนใจมากในทางเลือกใด ๆ ที่อาจจะเร็วขึ้นมีประสิทธิภาพมากขึ้นสำหรับกลุ่มใหญ่ของคีย์ 50,000


คุณคาดหวังว่าจะมี 50000 simulateniousผู้ใช้ไปยังเซิร์ฟเวอร์เดียวหรือ 50000 ผู้ใช้ทั้งหมดที่มีการเข้าถึงระยะ ๆ ?
Mxx

การเข้าถึงเป็นระยะ ฉันถามเกี่ยวกับประสิทธิภาพของเซิร์ฟเวอร์ SSH ที่ต้องค้นหาไฟล์ authorized_keys ที่มี 50,000 คีย์ในการเข้าสู่ระบบทุกครั้ง
Jeremy

3
authorized_keysไฟล์ที่มีคีย์ 50k เป็นเพียงประมาณ 25MB แน่นอนว่าจะถูกแคชอย่างสมบูรณ์ในบัฟเฟอร์ของระบบไฟล์ ฉันนึกภาพเวลาที่จะหากุญแจในไฟล์นั้นจะถูกแคระเวลาที่ใช้คีย์นั้นเพื่อพิสูจน์ตัวตนผู้ใช้
cjc

คำตอบ:


7

คุณสามารถเห็นประสิทธิภาพของ GitHub ได้ว่ามันรวดเร็วแค่ไหน คุณจะไม่ทำให้เกิดปัญหาคอขวดอย่างมีนัยสำคัญด้วยปุ่มจำนวนมาก

แม้ว่าจะบันทึกไว้ในบล็อกของพวกเขาตั้งแต่ปี 2009พวกเขาได้เปลี่ยนวิธีการดึงข้อมูลคีย์ ssh จากฐานข้อมูล Hat Tip: @Jeremey

แต่คุณสร้างขึ้นเกิน 8k ปุ่มคุณสามารถทดสอบอีกครั้งด้วยปุ่ม 50k

กุญแจเหล่านั้นไม่จำเป็นต้องเป็นกุญแจที่ถูกต้องเพียงแค่เขียนตัวสร้างและเขียนไฟล์จากนั้นจึงเพิ่มส่วนท้ายของคุณ


2
ยอมรับว่า OP ควรทดสอบไฟล์คีย์ 50K ด้วยฮาร์ดแวร์ของเขา ฉันไม่แน่ใจว่า GitHub เป็นตัวอย่างที่ดีใครจะรู้ว่าพวกเขาทำอะไรกับแบ็กเอนด์? สำหรับทุกสิ่งที่เรารู้พวกเขามี sshd ที่ปรับแต่งได้ซึ่งจัดเก็บรหัสที่ได้รับอนุญาตใน Redis
cjc

บางที แต่พวกเขาก็เป็นแกนนำที่น่าสนใจเกี่ยวกับสิ่งที่พวกเขากำลังทำอยู่และไซต์ขนาดใหญ่อื่น ๆ ที่ให้บริการที่เก็บ git สาธารณะโดยใช้ gitolab ไม่ได้กล่าวถึง แน่นอนว่าไม่คุ้มกับน้ำหนักเท่าไหร่ แต่ฉันไม่เคยเห็นการพูดถึงเลย
vgoff

Gerrit มีการค้นหาคีย์ ssh ที่ได้รับการปรับปรุงให้ดีที่สุดโดยระบุว่าควรจะเร็วกว่า Gitosis ฉันไม่รู้เกี่ยวกับโครงการ Gerrit
vgoff

1
ผมพบว่าบทความเกี่ยวกับผลงานวิธี GitHub A: github.com/blog/530-how-we-made-github-fast พวกเขาใช้เซิร์ฟเวอร์ SSHD ที่ได้รับการแก้ไขซึ่งได้รับกุญแจจากเซิร์ฟเวอร์ MySQL
Jeremy

2
ลองดูที่ตัวเลือก AuthorizedKeysCommand บน sshd_config
Lluís
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.