Niedawno rozpoczęliśmy testowanie aplikacji i zauważyliśmy, że po około 24 godzinach zabrakło jej deskryptorów.
Używamy RHEL 5 na Dell 1955:
Procesor: 2 x dwurdzeniowy 2,66 GHz 4 MB 5150/1333 FSB RAM: 8 GB RAM HDD: 2 x 160 GB 2,5 "dyski twarde SATA
Sprawdziłem limit deskryptora pliku i ustawiono go na 1024. Biorąc pod uwagę, że nasza aplikacja może potencjalnie mieć około 1000 połączeń przychodzących, a także 1000 połączeń wychodzących, wydaje się to dość niskie. Nie wspominając o żadnych rzeczywistych plikach, które należy otworzyć.
Moją pierwszą myślą było zwiększenie parametru ulimit -n o kilka rzędów wielkości, a następnie ponowne uruchomienie testu, ale chciałem poznać potencjalne konsekwencje ustawienia zbyt dużej wartości tej zmiennej.
Czy istnieją jakieś najlepsze praktyki w tym zakresie poza ustaleniem, ile deskryptorów plików nasze oprogramowanie może teoretycznie otworzyć?