Наскільки добре масштабується санкціонований_кейс?


11

Якщо я використовую щось на зразок гітоліту для управління доступом, наскільки добре масштабується санкціонований_кейс? Значить, якщо я скажу 50 000 користувачів, якою буде продуктивність (я здогадуюсь, не дуже добре). Які альтернативи?

Оновлення: я вирішив зробити тестування сам (що я повинен був зробити в першу чергу). Я написав простий скрипт, щоб генерувати SSH-ключі та додавати їх у файл дозволених ключів. Мій комп'ютер не такий швидкий, тому я згенерував лише 8 061 клавіш, а потім додав власну до кінця, файл у кінцевому підсумку становив 3,1 Мб. Потім я додав сховище git з одним файлом і тричі клонував git:

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 симульованих користувачів або 50000 користувачів із спорадичним доступом?
Mxx

Спорадичний доступ. Я запитую про ефективність роботи SSH-сервера для пошуку файлу з санкціонованими ключами, що містить 50 000 ключів при кожному вході.
Джеремі

3
authorized_keysФайл з 50k ключами тільки близько 25Мб. Напевно, це буде повністю кешоване в буфери файлової системи. Я б уявив, що час пошуку ключа у файлі був би карбований часом фактичного використання цього ключа для автентифікації користувача.
cjc

Відповіді:


7

Ви дійсно можете побачити ефективність на GitHub щодо того, наскільки це швидко. Ви не збираєтеся викликати значне вузьке місце з такою кількістю клавіш.

Хоча як це зафіксовано у їхньому блозі з 2009 року , вони змінили спосіб отримання ключів ssh із бази даних. Порада з капелюха: @Jeremey

Але, ви створили більше 8 кнопок, ви можете знову протестувати за допомогою клавіш 50k.

Ці ключі не повинні бути дійсними ключами, просто напишіть генератор і напишіть файл, а потім додайте свій до кінця.


2
Домовились, що ОП повинен просто перевірити файл із ключами 50K зі своїм обладнанням. Я не впевнений, чи GitHub - чудовий приклад: хто знає, що вони роблять на бекенді? Наскільки ми знаємо, у них є налаштований sshd, який зберігає дозволені_кейди в Redis.
cjc

Можливо, але вони є досить голосними щодо того, над чим вони працюють, і інші більші сайти, що обслуговують публічні сховища git за допомогою gitolab, не згадували про це. Не вартує великої ваги, звичайно, але я не бачив жодної згадки про це.
vgoff

Герріт може похвалитися оптимізованим пошуком ssh-ключа, заявивши, що він повинен бути швидшим, ніж Gitosis. Я не знав про проект Герріта.
vgoff

1
Я знайшов статтю про те, як працює github: github.com/blog/530-how-we-made-github-fast . Вони використовують виправлений SSHD-сервер, який отримує ключі від MySQL-сервера.
Джеремі

2
подивіться на варіант AuthorizedKeysCommand на sshd_config
Lluís
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.