|
|
|
| Здравствуйте,
Допустим есть система freebas, apach, nginx.
Будет ли разница в производительности(время поиска на диске или скорость чтения) если хранить данные в 1й папке или нескольких?
Для примера:
У меня сейчас есть папка в которой содержиться более 100000 файлов размеров в 5-20кб.
Если я эти 100000 файлов разсортирую по 100 папкам даст ли это прирост к скорости поиска файла на сервере и ответ сервера?
Или разница будет не существенна?(5-10% всего) | |
|
|
|
|
|
|
|
для: tim313
(10.02.2011 в 01:53)
| | Разница будет существенная, но касаться она будет лишь первого обращения к этой папке, т.е. пока список узлов, к которым привязаны файлы, не будет помещен в кэш операционной системы. Если обращение к этой папке частые, а свободной памяти (не занятой Apache и MySQL) на сервере достаточно - большого смысла в этой операции нет. Но лучше все-таки разбить - хуже не будет. | |
|
|
|
|
|
|
|
для: tim313
(10.02.2011 в 01:53)
| | Ответ на вопрос изрядно определяется тем, какой файловой системой инициализирован раздел, на котором хранятся файлы. | |
|
|
|
|
|
|
|
для: Trianon
(10.02.2011 в 12:33)
| | У меня вроде вот такая:
x86 boot sector, code offset 0x3c, reserved sectors 0, Media descriptor 0x0, reserved 0x16, dos < 4.0 BootSector (0x1f), BSD disklabel | |
|
|
|
|
|
|
|
для: tim313
(10.02.2011 в 19:24)
| | ой.. это что-то непонятное. | |
|
|
|
|
|
|
|
для: Trianon
(10.02.2011 в 19:33)
| | ) Да я просто не знаю как посмотреть эту информацию ,
не знаю какие команды писать, стоит freebsd | |
|
|
|
|
|
|
|
для: tim313
(10.02.2011 в 20:15)
| | cat /etc/fstab
А вообще не заморачивайтесь. Суть: если есть возможность разбития - разбейте. Я не спец по файловым системам, но уверен, что лишь возможно в самых совершенных и новых ФС разницы не будет. А так, при прочих равных, разбитие будет выгодно. Даже если учесть то, что написал cheops - "разница будет лишь при первом обращении" - порой это первое обращение многое и решает. Поэтому, по возможности, разбивайте. | |
|
|
|
|
|
|
|
для: tim313
(10.02.2011 в 01:53)
| | При таких количествах файлов и их небольших размерах лучше использовать любое key/value хранилище, типа apc, memcachedb или redis и т.д. Если сервер свой, конечно.
За счёт правильной индексации процесс доступа к данным происходит гораздо быстрее, нежели непосредственно с диска. | |
|
|
|