Назад | Перейти на главную страницу

есть ли способ ускорить отображение общего ресурса EFS в Windows?

У нас только что появился аккаунт AWS, и я тестировал EFS. Я создал EFS, смонтировал его на экземпляре Amazon Linux и настроил для совместного использования в самбе. Затем я смог сопоставить общий ресурс как диск в Windows 7 и Windows Server 2012, но все, что с ним связано, НЕВЕРОЯТНО медленно (просмотр файлов, создание файлов, просмотр свойств общего ресурса - все). Я думаю, это из-за того, что крепление 8 EXAбайты.

Есть ли способ изменить размер общего ресурса или разбить его на более мелкие части, монтируя его в инстансе или в самбе?

Есть ли способ напрямую изменить размер efs? Мы никогда не будем использовать 8 эксабайт!

Есть ли способ узнать, замедляет ли его что-то еще, кроме размера?

Нам действительно нужно иметь возможность отображать это как диск в Windows.

EFS работает по системе кредитов ввода-вывода, эти кредиты генерируются постоянно в течение дня в зависимости от количества места, которое вы используете в EFS.

Эти кредиты расходуются каждый раз, когда вы читаете или записываете на том EFS. Если на вашем балансе нет кредитов ввода-вывода, операции чтения и записи будут ждать, пока вы их не получите.

Я думаю, что это довольно вероятно, вам удалось израсходовать все свои кредиты, а фоновый ввод-вывод продолжает истощать ваши кредиты, сохраняя ужасающую производительность.

Вы можете проверить количество кредитов на томе EFS, проверив cloudwatch.

Просто чтобы прояснить это еще немного. Если бы вы использовали только 1 ГБ на диске EFS, каждый раз, когда вы читали / записывали со скоростью, превышающей 50 КБ / с, вы бы прожигали кредиты, а каждый раз, когда вы читали / писали со скоростью ниже 50 КБ / с, вы генерировали кредиты.

Для сравнения, имея 10 ГБ на диске EFS, вы сможете поддерживать 500 КБ / с.

Я использую EFS с одной службой и обнаружил, что мне пришлось сгенерировать примерно 80 ГБ необработанных бесполезных данных, которые просто находятся на диске EFS, чтобы сгенерировать достаточно кредитов ввода-вывода, чтобы мое приложение могло использовать общий ресурс.

Я установил будильник Cloudwatch, чтобы уведомить меня, если мои кредиты когда-либо упадут ниже порогового значения, чтобы дать мне время добавить еще несколько «бесполезных данных» на диск EFS, чтобы позволить мне поддерживать обычную производительность.

Рекомендую прочитать Официальные предложения Amazon по масштабированию пропускной способности EFS если вы думаете, что это влияет на вас.

Изменить: AWS теперь поддерживает выделенную пропускную способность для EFS, хотя это не экономит деньги от вышеуказанного подхода и требует понимания ожидаемой пропускной способности или переоценки использования. Подробности этого описаны в связаны документация.

У нас были похожие проблемы, и мы нашли решение. Мы смогли сузить проблему до того, что SAMBA не смог вовремя сообщить размер EFS. В частности, самба не может выполнить sys_get_nfs4_quota (), время ожидания составляет около 60 секунд.

Чтобы решить эту проблему, мы добавили в samba специальный сценарий, который мгновенно сообщает о 8 эксабайтах, не пытаясь вычислить размер. Учитывая, что это неограниченный EFS (теоретически), сообщаемый размер не имеет значения, и возвращение фиксированного числа в порядке. Это решает таймаут в 60 секунд.

Для этого создайте файл в / etc / samba / samba-dfree и добавьте две строчки ниже:

#!/bin/bash
echo "8000000000 8000000000"

Затем в файле конфигурации samba добавьте следующие параметры либо в глобальный раздел, либо в конкретный раздел монтирования EFS, в зависимости от ваших потребностей:

dfree command = /etc/samba/samba-dfree
dfree cache time = 60

Сохраните файл конфигурации. Перезапустите SAMBA, и задержка должна исчезнуть. Надеюсь это поможет.

У меня такой же медленный доступ через общий ресурс samba, установленный в Windows. У меня хорошая производительность (по крайней мере, доля секунды доступа при навигации по каталогам и т. Д.) На EC2. Windows занимает несколько минут, чтобы стать доступной из представления смонтированных дисков «мой компьютер» / «этот компьютер» - хотя, когда я нахожусь в каталоге, это кажется довольно эффективным.

Итак - это что-то глупое, вроде того, как Windows пытается выяснить размер файловой системы размером 8 эксабайт?

Использование cmd, похоже, поддерживает это. Войдите в файловую систему и запустите «dir», и каталоги будут перечислены с большой задержкой, прежде чем появится сообщение «bytes free»

Я понимаю, что это не ответ, надеюсь, это может быть полезная информация для кого-то более способного, чем я