2

Недавно я заметил, что скорость передачи с samba(исключительно, даже с обратной связью - iperf работает отлично) упала примерно до 5 МБ / с в моей гигабитной сети. Прежде чем он мог легко достичь 70 МБ / с и выше.

Я на самом деле написал подробное описание проблемы здесь, но затем решил перепроверить все и заметил, что htop сообщает об использовании 100% ОЗУ, и большая часть полосы была желтой, например, зарезервирована для кеша.

После очистки кеша с sync; echo 3 > /proc/sys/vm/drop_caches (находится по адресу http://www.hosting.com/support/linux/clear-memory-cache-on-linux-server), скорость передачи сразу же пошла от 5 МБ / с до 50 МБ / с.

Мне говорят, что Linux эффективно управляет своей памятью, и я думаю, что использование свободной оперативной памяти для ускорения доступа к диску - это здорово, поэтому я подозреваю, что с моей конфигурацией что-то не так. Это тот случай или это причуды самбы /linux?

Я использую Samba 3.6.6 на Ubuntu 12.10.

1 ответ1

1

Почти все замедлится, когда использование памяти достигнет 100%. Попробуйте проверить активность диска, и вы можете обнаружить, что ваш дисковый ввод-вывод находится в очереди. В противном случае свободная память используется для буферов и может использоваться для предотвращения записи данных для таких каталогов, как /tmp на диск. Когда у вас нет свободной памяти, многие вещи, которые будут выполняться в памяти, начинают превращаться в действия на диске.

Возможно, что samba выгружается на диск между вызовами. Это значительно снизит производительность. Я ожидаю, что производительность будет еще хуже, если это произойдет.

sar хороший инструмент, чтобы увидеть, что происходит. df - хороший инструмент для определения размера содержимого \tmp и другого отображаемого в память диска. vmstat покажет использование и активность подкачки.

Если в таком случае вам не хватит места в swap, ваш сервер, скорее всего, выйдет из строя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .