Параметры для повышения производительности операций с метаданными SMB при монтировании тома контейнера

Вопрос

Существуют ли какие-либо способы повысить производительность операций с метаданными между контейнером на базе Linux, работающим в Службе приложений Azure, и подключенным томом, размещенным в файлах Azure?

Контекст

Недавно я перенес решение, в котором все было на одном сервере, в решение на базе Azure, где:

  • Код выполняется в контейнере, размещенном в Службе приложений Azure.
  • Эти файлы, являющиеся частью бизнес-данных, находятся в файлах Azure (т. е. в общей папке учетной записи хранения Azure) или смонтированы в контейнере (через файл службы приложений).>>раздел).

Это привело к некоторым проблемам с производительностью операций, которые выполняют поиск в папке, чтобы определить, существуют ли определенные файлы. В настоящее время это делается с помощью функции PHP file-exists.

При тестировании на локальном устройстве я могу повысить производительность, добавивк параметру привязки; например; но я не могу найти возможности сделать что-то подобное в Службе приложений Azure.

Мой контейнер работает под управлением Linux (); и я читал, что операции с метаданными SMB (включая проверку существования файла) требуют более высоких затрат в Linux, чем в Windows; так что, возможно, это связано (т. е. поскольку Azure Files использует SMB); хотя я не уверен (поскольку путь подключен к контейнеру, поэтому ОС контейнера может не знать о базовой реализации).

я включилувеличить количество операций ввода-вывода в секунду, доступных для общего файлового ресурса; но это не имеет никакого значения (что, учитывая, что это проблема метаданных, а не производительности ввода-вывода, имеет смысл).

В настоящее время я думаю, что решением было бы обновить код, чтобы сохранить представление файловой структуры в базе данных приложения, чтобы мы могли запрашивать ее и быстрее получать ту же информацию; но у этого есть обратная сторона: каждая операция по загрузке или удалению файла требует также обновления базы данных, чтобы синхронизировать информацию о диске и базе данных / дублировать места, где хранится информация; поэтому я стремлюсь решить эту проблему с инфраструктурой, а не перекодировать, если это возможно.

0 ответов

Другие вопросы по тегам