Zdravím,
na našem webu používáme prakticky všude hcm moduly img, abychom omezili množství přenášených dat a zároveň v případě, že má uživatel zájem o větší obrázek, mu umožnili ho po kliknutí zobrazit v původní velikosti. Problém je v tom, že všechny náhledy jsou ukládané do jednoho velkého adresáře pictures/thumb, který obsahuje v našem případě už 4142 souborů. Vzhledem k tomu, jak (přinejmenším na linuxu) fungují file systémy to znamená, že pokaždé, když se má do článku načíst obrázek, může se při hledání odkazu na jeho umístění na disku projít v nejhorším případě celý adresář, což značně spomaluje načítání.
Čekání na odpověď serveru v případě požadavku na html (php) část stránky trvá 200 - 500 ms, ale načtení každého obrázku trvá 500 - 800 ms, což už je opravdu hodně (jde o dobu čekání na odpověď serveru, ne dobu samotného stahování).
Bylo by tedy možné upravit způsob ukládání náhledů tak, aby nebyly všechny v jednom adresáři pictures/thumb? Mě jako možné řešení napadá místo používání hashovací funkce prostě klonovat adresářovou strukturu, ze které obrázky pochází, a jen je prefixovat nebo suffixovat velikostí (např.obr120h.jpg) nebo rozdělit výsledný hash na několik částí a pro ně vytvořit adresářovou strukturu. Stejný problém časem nastane i u náhledů článků, kterých už teď máme také přes 1000, takže by bylo fajn udělat změnu rovnou i u nich.
Ještě jedna otázka bokem, kolik náhledů bude použitá hashovací funkce schopná vytvořit, než začne docházet ke konfliktům?
Díky za váš čas a už se těším na vydání SunLight 8.
na našem webu používáme prakticky všude hcm moduly img, abychom omezili množství přenášených dat a zároveň v případě, že má uživatel zájem o větší obrázek, mu umožnili ho po kliknutí zobrazit v původní velikosti. Problém je v tom, že všechny náhledy jsou ukládané do jednoho velkého adresáře pictures/thumb, který obsahuje v našem případě už 4142 souborů. Vzhledem k tomu, jak (přinejmenším na linuxu) fungují file systémy to znamená, že pokaždé, když se má do článku načíst obrázek, může se při hledání odkazu na jeho umístění na disku projít v nejhorším případě celý adresář, což značně spomaluje načítání.
Čekání na odpověď serveru v případě požadavku na html (php) část stránky trvá 200 - 500 ms, ale načtení každého obrázku trvá 500 - 800 ms, což už je opravdu hodně (jde o dobu čekání na odpověď serveru, ne dobu samotného stahování).
Bylo by tedy možné upravit způsob ukládání náhledů tak, aby nebyly všechny v jednom adresáři pictures/thumb? Mě jako možné řešení napadá místo používání hashovací funkce prostě klonovat adresářovou strukturu, ze které obrázky pochází, a jen je prefixovat nebo suffixovat velikostí (např.obr120h.jpg) nebo rozdělit výsledný hash na několik částí a pro ně vytvořit adresářovou strukturu. Stejný problém časem nastane i u náhledů článků, kterých už teď máme také přes 1000, takže by bylo fajn udělat změnu rovnou i u nich.
Ještě jedna otázka bokem, kolik náhledů bude použitá hashovací funkce schopná vytvořit, než začne docházet ke konfliktům?
Díky za váš čas a už se těším na vydání SunLight 8.