Облачные файлы Rackspace: как определить размеры контейнеров для оптимизации производительности?
Облачные файлы Rackspace используют плоскую систему хранения, использующую "контейнеры" для хранения файлов. Согласно Rackspace, количество файлов в контейнере не ограничено.
Мой вопрос заключается в том, существует ли наилучшее / наиболее эффективное количество файлов на контейнер для оптимизации производительности записи / извлечения.
Если у меня есть десятки тысяч файлов для хранения, все ли они должны быть в одном гигантском контейнере или разбиты на множество меньших контейнеров? И если да, то каков оптимальный размер контейнера?
2 ответа
Мы рекомендуем не более 1 миллиона объектов в контейнере. По умолчанию система возвращает максимум 10 000 имен объектов на один запрос списка.
Обновление от 20.09.2013 от разработки Cloud Files: рекомендация 1 миллион объектов на контейнер больше не точна, поскольку Cloud Files переключились на все серверы-контейнеры SSD. Кроме того, список ограничен 10 000 контейнеров одновременно.
К вашему сведению: [Фрагменты, взятые из поддержки стойки]
Короче говоря, контейнеры являются базами данных, и чем больше строк в таблице, тем больше времени требуется для их записи на стандартном оборудовании. Когда запись не была зафиксирована на диске, она находится в очереди и может быть потеряна. Это то, что мы заметили с большими контейнерами, и чем больше объектов, тем больше вероятность, что мы установили ограничения для защиты данных.
из-за ограничений скорости ваши данные в безопасности, они просто немного замедляют запись
пределы начинаются с 50 000 объектов и на этом уровне ограничивают 100 записей в секунду
на 1 000 000 объектов в контейнере, это 25 в секунду
и на 5 миллионов и выше, вы снижаете до 4 записей в секунду
Мы приносим извинения за ограничения и будем обновлять нашу документацию, чтобы более четко выразить это.
-Это в последнее время очень больно. Мысль, которой я поделюсь, пока они не получат обновленную версию документа API, чтобы другие могли планировать эту проблему.