stefan86
2.02.2008, 21:57:25
Witam,
Tworzę serwis. Serwis społecznościowy w którym każdy użytkownik będzie miał swój folder na serwerze. Nazwa tego folderu będzie nickiem użytkownika. Powiedzmy, że będę miał sto tysięcy użytkowników a więc folderów. Czy takie rozwiązanie będzie szybkie, czy skrypt będzie szybko odczytywał dane z takiego folderu znajdującego się w gąszczu innych folderów? A jak byłoby z szybkością wyszukiwania konkretnego użytkownika, czyli po prostu z szybkością sprawdzania czy po prostu folder z konkretną, wyszukiwaną nazwą istnieje?
nowotny
2.02.2008, 22:12:39
Ja bym tam się nie bawił w foldery... od tego są bazy...
phpion
2.02.2008, 22:16:44
@radex_p:
Czy nie uważasz, że Twoja odpowiedź jest lekko nie na temat?
/* chyba jednak kolega tak uznał bo usunął posta hehe */
Ale wracając do tematu: ciężko powiedzieć jak to będzie wyglądało. Mamy różne systemy operacyjne, różne systemy plików, a co za tym idzie różne sposóby przechowywania i dostępu do plików. Z tego co się orientuję (na podstawie wykładów z Systemów Operacyjnych) przy małych* rozmiarach plików wydajniejsze są systemy z rodziny Windows, natomiast większe pliki lepiej są obsługiwane na systemach Unixowych. W twoim przypadku pewnie większość to będą małe pliki.
* pojęcie "mały plik" nie zostało uściślone
stefan86
2.02.2008, 23:19:43
No dobra - co jest szybsze - dodawanie userów do bazy i tam przeszukiwanie czy istnieje dany user czy moze szybsze jest sprawdzanie czy istnieje folder o jakieś konkretnej nazwie - nazwie użytkownika.
Nie pytam się co byście użyli tylko co jest szybsze.
GrayHat
2.02.2008, 23:25:58
Wszystko jest zależne od serwera postawionego pod aplikacją i skonfigurowanego tam systemu plików
stefan86
2.02.2008, 23:37:12
A jest jakaś możliwość symulacji wydajności skrytpu? Aby sprawdzić czy skrypt będzie wydajny gdy on-line jednocześnie będzie siedziało paruset aktywnych uzytkowników. Da się to jakoś sprawdzić czy trzeba czekać aż faktycznie nastanie taka chwila?
Snowak
3.02.2008, 00:51:51
Bazy danych są z reguły szybsze przy dużej ilości użytkowników. Używanie plików do przechowywania danych to przy dużych serwisach cholernie nieoptymalne rozwiązanie.
btw. Windows działa wolniej jeżeli masz więcej katalogów w katalogu, który sprawdzasz a w Linuxie wg. autorów to nie ma znaczenia.
stefan86
3.02.2008, 02:31:23
Cytat(Snowak @ 3.02.2008, 00:51:51 )

w Linuxie wg. autorów to nie ma znaczenia.
Czyli szybkość przeszukiwania folderów w celu odnalezienia takiego o szukanej nazwie nie jest zależna od ilości folderów do przeszukania?
Czy coś innego miałeś na myśli pisząc:
Cytat(Snowak @ 3.02.2008, 00:51:51 )

sprawdzasz
?
pijanyadmin
3.02.2008, 02:40:03
jeśli chcesz mieć foldery jako nick to łatwiej jest [i raczej wydajniej] przeszukiwać pod wzgledem istnienia rekordy w bazie, jednak jesli w folderach masz np. zjdecia to optymalniej przy wiekszej ilośći jest w bazie umieszenie adresów do nich niz, całych zdjęć do bazy
phpion
3.02.2008, 09:55:40
Cytat(stefan86 @ 3.02.2008, 01:37:12 )

A jest jakaś możliwość symulacji wydajności skrytpu? Aby sprawdzić czy skrypt będzie wydajny gdy on-line jednocześnie będzie siedziało paruset aktywnych uzytkowników. Da się to jakoś sprawdzić czy trzeba czekać aż faktycznie nastanie taka chwila?
Możesz użyć wbudowanego w Apache softu o nazwie Apache Bench:
http://httpd.apache.org/docs/2.0/programs/ab.htmllub użyć innego softu (graficznego):
http://jakarta.apache.org/jmeter/usermanua...-test-plan.htmlOsobiście jeszcze nie rozkminiłem JMeter do końca
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.