Witam serdecznie,
Na początku chciałbym zaznaczyć że jestem początkujący w administrowaniu serwerami. Staram się wszystko googlować i czytać, jednak mam problem który chciałbym skonsultować z mądrymi głowami
Posiadam usługę która udostępnia pliki użytkownikom. Jest to dość duży trafik a pliki są od 10 MB do 100MB (no może kilka z nich jest nieco powyżej 100 MB - ale jest ich niewiele). Posiadam wykupione 3 serwery w OVH na których zainstalowałem nginx'a do wypychania tego kontentu. Wszystko jest wpięte do OVH'owego load balancera, tak aby rozdzielało ruch na te 3 serwery w miarę równomiernie. Jedynym problemem jest to że czasami trzeba poczekać kilka sekund zanim serwer zacznie wypychać jakiś plik. Chciałbym to jakoś w miarę zoptymalizować i teraz zaczęły się schody dla mnie Na moją głowę te opóźnienia wynikają z czasu dostępu do dysku. Czy może być to spowodowane tym że jest zastosowany jakiś niewydajny system plików, czy może dane w katalogach są słabo poukładane (mam praktycznie 2 katalogi które mają po kilka tysięcy plików) czy może jest jakiś inny powód? Czytałem że każdy worker nginxa blokuje na chwile zasób którego używa i teraz czy to chodzi o to że blokuje on tylko żądany plik czy też cały katalog?
Tak ostatnio wymyśliłem żeby te mniejsze pliki ładować do pamięci RAM (taki jakby cache) i żeby taki "hot content" serwować bezpośrenio z pamięci (może by to skróciło czas oczekiwania na rozpoczęcie serwowania pliku przez serwer?). Dodatkowo czytałem o czymś takim jak proxy/reverse-proxy.. ale niewiem czy będzie mi to przydatne czy to raczej używa się do stawiania nginx'a przed serwerami bardziej zasoborzernymi
Pozdrawiam
elmo