LINUX.ORG.RU
ФорумAdmin

Почему ФС в файле работает так медленно


0

1

Для надёжного хранения кеша squid, защиты от переполнения диска с последующим падением squid, решил сделать отдельную ФС в файле для squid. Но столкнулся с тем, что работает она заметно медленнее раздела, на котором создана:

[root@alpha squid]# dd if=/dev/zero of=test bs=10M count=10
10+0 записей считано
10+0 записей написано
 скопировано 104857600 байт (105 MB), 10,6377 c, 9,9 MB/c
[root@alpha squid]# cd..
[root@alpha spool]# dd if=/dev/zero of=test bs=10M count=10
10+0 записей считано
10+0 записей написано
 скопировано 104857600 байт (105 MB), 0,569062 c, 184 MB/c
cat /proc/mounts:
/dev/loop0 /var/spool/squid ext2 rw,nosuid,nodev,noexec,noatime,errors=continue 0 0

df:
/dev/loop0          49G          20G   27G           43% /var/spool/squid

cat /etc/fstab:
/var/spool/squid-drive  /var/spool/squid  ext2  nosuid,loop,noexec,nodev,noatime  0  2

Что можно сделать?

★★

Последнее исправление: Gordon01 (всего исправлений: 1)

Попробовать sudo chattr +S /var/spool/squid-drive

про S прочитать в man chattr

unanimous ★★★★★
()

Твоя проблема надуманная, от начала до конца. В конфиге сквида есть ограничение суммарного объема кеша. Его и используй.

ansky ★★★★★
()
Ответ на: комментарий от anonymous

физический: /dev/root / ext3 rw,relatime,errors=continue,user_xattr,acl,barrier=0,data=ordered 0 0

Немножко про причину такого костыля: на этом же физическом разделе самба-шара, да и вообще бывает что-нибудь в системе разрастается до необъятных размеров, сквид падает, инет не пашет. А так хоть сквид не падает.

На нём ещё виртуалки работают, жду когда купят второй комп, чтобы перенести на него часть забот, но пока приходится обходится таким быдлорешением.

chattr +S /var/spool/squid-drive

не помогло. также пробовал монитровать loop-device с опцией sync: всё так же. причём чем мельче пишешь файл, тем быстрее работает.

Gordon01 ★★
() автор топика
Ответ на: комментарий от Gordon01

Вот самбашары и надо куда-то запихивать на другие ФС, а не сквид. Ну или квоты на самбе вводить. А так у тебя получается хрен знает какая капуста.

blind_oracle ★★★★★
()

Что можно сделать?

Открою тайну: Кроме фс в файле, можно сделать ФС на отдельном разделе и даже на logical volume.

sdio ★★★★★
()

Кэш в ОЗУ увеличь, Кулибин. У обычных ФС он, вообще то есть. Диск ведь не резиновый

darkshvein ☆☆
()
Ответ на: комментарий от sdio

знаю ) но всё равно скоро будут комп брать так что диск трогать не хочется, да и бекап сделать некуда!

Gordon01 ★★
() автор топика

решил сделать отдельную ФС в файле

работает она заметно медленнее раздела, на котором создана

а ты хотел что бы она быстрее работала что-ли?

на винте сделай отдельный раздел и не парься.

nanoolinux ★★★★
()
Ответ на: комментарий от Eddy_Em

ext3 быстрее? мне казалось чем меньше фич в фс, тем быстрее она работает.

Gordon01 ★★
() автор топика
Ответ на: комментарий от Eddy_Em

Gordon01

Почему ФС в файле работает так медленно

а почему на костылях медленно бегать?

Eddy_Em

ext2

Оно же тормозноооеее...

именно по чтению/записи очень быстрое. Но ненадёжное. И да EXT2 это та же EXT4, но без фич. Таких например как журнал. В итоге после сбоя часто приходится запускать fsck, в итоге загрузка очень долгая.

drBatty ★★
()
Ответ на: комментарий от Gordon01

Gordon01

неужели это неизбежно и фс в файле всегда будет работать медленно?

очевидно же! Сам подумай - файлы в файле. Хотя, справедливости ради стоит сказать, что RO ФС вполне себе быстро работают. Например ISO-9660. Проблема в том, что большинство файловых операций в Linux это полное переписывание файла, и добавление в хвост. Вот их и оптимизируют в ущерб остальным (такова жизнь). Ну а для ФС с честной записью этого мало. (ISO-9660 тоже допускает перезапись файлов, но это нечестная перезапись - старый файл остаётся на своём месте, а новый добавляется в конец)

drBatty ★★
()
Ответ на: комментарий от Eddy_Em

Eddy_Em

reiserfs шустрее. И fsck на ней работает быстро, а не пару-тройку часов, как на ext2/3.

use ext4

drBatty ★★
()

Да это банальная фрагментация раздела. Сделай дефрагментацию move'ом или переходи на ext4 или xfs и периодически прогоняй родной дефрагментатор.

причём чем мельче пишешь файл, тем быстрее работает

при значительной фрагментации свободного места может быть куча дырок размерами под пару сотен килобайт. Маленький файл туда влезает целиком, а большие вынужденно занимают несколько. Каждое позиционирование головки — порядка 10-20 мс. Это 50-100 операций в секунду. Стало быть деградация скорости у тебя должна наблюдаться для файлов, больших 100 кБ.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.