Dnes jsem na Webtrhu našel zajímavou stížnost na Wedos. Autor příspěvku si stěžoval na upozornění od technické podpory, ohledně nadměrného množství souborů v adresářích. Ta mu poměrně slušně a v klidu oznámila, že má nevhodně navrženou adresářovou strukturu (moc souborů na adresář), což může v brzké době vést k přetěžování disků.
Dovolím si tentokrát citovat přesné znění emailů, tak jak byl publikován na webtrhu, namísto klasického screenshotu.
…
Vážený zákazníku,na vašem webhostingu se v jednom z adresářů nachází příliš velké množství
souborů.10716 – /www/files/products/_120x120
10716 – /www/files/products/_200x200
10716 – /www/files/products/_250x250
10716 – /www/files/products/_60x60
10716 – /www/files/products/_640x480
10727 – /www/files/products
54918 – /www/shop/picturesTo není nic v rozporu s našimi pravidly, ale je to velmi špatné řešení. Při tomto množství souborů v jednom adresáři začne být práce s takovým adresářem velmi pomalá a může to celkově zpomalovat váš web a zbytečně to vytěžuje souborový systém a diskové pole. Měli byste tyto soubory rozdělit do nějaké struktury podadresářů, v jednom adresáři by nemělo být přímo více než řádově tisíce položek.
Upozorňujeme vás, že při dalším rostoucím počtu souborů se vystavujete tomu, že to začne přetěžovat souborový systém našeho diskového pole a budeme nuceni váš web odpojit z důvodu přetěžování infrastruktury.
Děkujeme za pochopení
S přáním hezkého dne …
Reakce či styl asi nemá smysl moc rozebírat. Neshledal jsem na tom nic špatného. Možná mohla být jemněji podaná pasáž o odpojení. Člověk co se vyzná, nad tím mávne rukou a sjedná nápravu, ovšem BFU z toho mohou být značně vedle a vidět hned katastrofu.
Přetěžování disků
Pokud jste někdy měli na počítači adresář o pár tisících souborech, asi jste si při jeho otevření všimli znatelné prodlevy. Jednoduše řečeno problém teď není na straně hostingu ale špatně navrženému softwarovému řešení hostujícího zákazníka. Jen pro zajímavost mělo by se jednat o eshop SQC, ovšem zdali za to může rozšíření anebo přímo eshop to se mi zjistit nepovedlo.
No a jaké z toho plyne poučení?
– Wedos si vše hlídá a pokud se blíží problém upozorní vás na to.
– Neomezeno má další limit a tím je množství souboru v adresáři.
– U návrhu softwarového řešení je třeba myslet na růst do budoucna.
Řešení
Stěhovat se jinam by bylo hodně krátkozraké řešení. S tím jak bude počet souborů růst se problém dřív nebo později vrátí. Tedy pokud neexistuje nějaký serverový software na tohle stavěný. Zasáhnout musí programátor a nějak to pěkně rozkouskovat. Na férovku se zeptat zadavatele jak hodně chce růst a podle toho zvolit další podadresáře. Přiznám se ale bez mučení, že jsem podobný problém zatím řešit nemusel.
Stejný problém jsem řešil s keší. Jak narůstal počet souborů v adresáři, VPS se zpomalovalo. A to dost silně.
Stačilo jen udělat podadresáře z prvních dvou písmen md5tky.
Něco podobného jsem řečil s jedním zákazníkem wedosu – tam ovšem na nic neupozornili, hned začali tvrdit, že zákazník porušuje autorská práva (právě těmi obrázky) a brzy ho odpojí. Následovala přestřelka mailů a nakonec to skončilo tak, že musel u cca 4tis. souborů dodat seznam jejich autorů a povolení od nich. Termín na to dostal ani ne 48 hodin – tomu říkám přístup k zákazníkovi.
Po dodání pán z Wedosu napsal “Děkuji, tímto je vše vyřešeno.” – do té doby tvrdil, že zákazník porušuje zákony a je tedy podvodník. Omluva nebo něco podobného – kdo by ji čekal, je vedle.
Přesně vím o jaký systém se jedná a mám podonbý problém 🙂
Já měl zase problémy s pluginem W3 Total Cache, který vygeneroval téměř 200.000 souborů a dosáhl jsem limitu VPS 450.000 inodes.
@KALI Měl jste problém s počtem souborů nebo s autorskými právy k obrázkům?
Stejný způsob řešení jako používá Blat využívám při ukládání obrázků. Názvy souborů s obrázky obvykle odpovídají id z databáze nebo nějakému hashi a jsou rozdělené do podadresářů, které začínají prvními dvěma znaky (/img/12/12345.jpg). A pokud je těch obrázků opravdu hodně, tak je cesta k nim podrobnější (/img/1/2/3/4/5/12345.jpg).
Angel hosting:
**@vs10**:~/www/****.cz/app/sessions$ find -type f | wc -l 208777
Bez problému zvládá!
Na low-cost hosting docela nadstandardní feedback od podpory (návrh řešení před problémem).
My u velkych eshopu netahame obrazky na ftp ale nacitame je online. Nicmene individualne na prani udelame ze si eshop uklada obrazky fyzicky. Wedosu se pak nelibil nas eshop pro Bexy. Slozka img obsahovala cca 170 000 obrazku … Takze pokud Vam tuto chybu hlasi u Wedosu eshop od http://SVIZNE.CZ napiste nam na info@svizne.cz a zdarma Vam ukladani obrazku nastavime na verzi kde se sortuji do vice adresaru.
Dobrý den,
my jsme žádný limit nenastavili a zákazníka jsme neomezili. Doporučili jsme změnu, protože by mohlo dojít ke zpomalení a teoreticky k vypnutí webu.
Zákazníci mají web, kde mají například milion souborů a jsou schopni mít třeba 200 tisíc a víc v jednom adresáři. To jsou situace, kdy každý disk má problém s tím pracovat a sebelepší diskové pole takovou operaci zpracovává delší dobu.
Dříve nebo později by si zákazník mohl začít stěžovat, že mu jede jeho web pomalu a my bychom jen konstatovali, že tam má nevhodně navrženou adresářovou strukturu (jen třeba jeden adresář se stovkami tisíc souborů). Nic víc bychom nemohli řešit.
Pokud má někdo v jednom adresáři desítky nebo stovky tisíc souborů, tak si při každém “práci” s nějakým souborem zadělává na “problém”. Každý takový krok (práce se souborem) je mnohoem náročnější, než když uděláte třeba 30 podadresářů a do každého dáte třeba 10 tisíc souborů.
Přidáme do naší nápovědy návod, kde vše vysvětlíme a bude tam i nějaké doporučení.