Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Весь прикол такой, что фотки на сервере лежат по 500 штук и зная id артиста можно узнать в какой из директории лежит его фотка. Вместо того чтобы написать, что то типа - $dirName = round($artistId / 500); я выдумал вот такую несуразицу :)
Нет Вы не поняли, картинки для уменьшения нагрузки на сервер были разнесены на разные директории. Т.е у артистов у которых id менее или равен 500 фотки хранятся в в директории с именем - 1. И так далее:
1,2,3,etc
все равно не понял, как картинки для уменьшения нагрузки на сервер могут быть разнесены на разные директории?
имхо один хрен, их там 10 или 1000 в директории.
а для уменьшения нагрузки нужно разносить пхп-код, бд и статичные файлы по разным серверам, разве нет?
С разносом данных согласен. Но в данном случае пока нет средств на это 🙁
А насчет кол-ва файлов - попробуйте в одну директорию положить примерно 100 000 файлов и более. апач будет страшно тормозить при прямом обращеннии к ним. (насчет Nginx напоминать не надо)
> попробуйте в одну директорию положить примерно 100 000 файлов и более. апач будет страшно тормозить при прямом обращеннии к ним.
попробовал - скопировал одну картинку на 100 000 файлов, положил в директорию апача и попробовал достучаться до 100 000 ого через апач - он и глазом не моргнул, выдал картинку, не показывая при этом дисковой активности
Резон есть: git, к примеру, воздаёт для хранения объектов каталоги (имя из двух символов по первым символам хэша) как раз с целью повышения производительности.
с самого начала мой вопрос был такой: зачем фотки кидать в кучу, а потом их искать, если их можно распихать по папкам таким образом, что папка известна из имени файла?
например, по алфавиту - скажем a\a\c для файлов aac*, или точно так же для числовых идентификаторов
речь идет о поиске, создании листинга и прочих стараний (особенно Windows Explorer начинает себя очень плохо чувствовать), это не касается прямого доступа к одиночному файлу
+ по вашей же ссылке есть исследование http://habrahabr.ru/blogs/webdev/115161/#comment_3725721
Приглядитесь к тем результатам которые вы мне показываете. Как вы видите скорость чтения файла (не листинга) очевидно растет + к этому если у вас высокий трафик это будет очень заметно. Оговорюсь сразу доступ к файлам у меня прямой без скриптов и .htaccess. Это очевидный факт не пойму о чем вы спорите
1,2,3,etc
имхо один хрен, их там 10 или 1000 в директории.
а для уменьшения нагрузки нужно разносить пхп-код, бд и статичные файлы по разным серверам, разве нет?
А насчет кол-ва файлов - попробуйте в одну директорию положить примерно 100 000 файлов и более. апач будет страшно тормозить при прямом обращеннии к ним. (насчет Nginx напоминать не надо)
попробовал - скопировал одну картинку на 100 000 файлов, положил в директорию апача и попробовал достучаться до 100 000 ого через апач - он и глазом не моргнул, выдал картинку, не показывая при этом дисковой активности
там небось mod_rewrite и index.php который костылит все функции httpd, а теперь схватились за головку - НАГРУЗКА
например, по алфавиту - скажем a\a\c для файлов aac*, или точно так же для числовых идентификаторов
http://habrahabr.ru/blogs/webdev/115161/
http://www.gentoo.ru/content/vopros-pro-bystrodeystvie-pri-bolshom-kolichestve-faylov-v-kataloge
+ по вашей же ссылке есть исследование http://habrahabr.ru/blogs/webdev/115161/#comment_3725721
Приглядитесь к тем результатам которые вы мне показываете. Как вы видите скорость чтения файла (не листинга) очевидно растет + к этому если у вас высокий трафик это будет очень заметно. Оговорюсь сразу доступ к файлам у меня прямой без скриптов и .htaccess. Это очевидный факт не пойму о чем вы спорите