Jak powiedzieć, jak blisko jestem somaxconn?

17

net.core.somaxconnDomyślna opcja sysctl to 128 (w naszych systemach), ale można ją podnieść.

  1. Czym dokładnie jest ten limit pomiaru i ograniczenia?

  2. Jak mogę dowiedzieć się, jak blisko jestem limitu?

Kontekst: Ostatnio miałem problem, który wydawał się być naprawiony przez podniesienie tego limitu. Problem występował sporadycznie, więc nie ufam, że został naprawiony. Chciałbym dowiedzieć się, czy bieżąca liczba [niezależnie od tego ustawienia ogranicza] jest większa niż poprzedni maksymalny limit 128.

Andrzej
źródło
1
Do Twojej wiadomości: od Linuksa 5.4 został zwiększony do 4096 .
Cześć Angel

Odpowiedzi:

18

somaxconnokreśla maksymalną liczbę zaległych połączeń dozwoloną dla każdego portu TCP w systemie. Zwiększenie go (zalecane dla serwerów) może zapobiec komunikatom o „odrzuceniu połączenia”, ale może powodować wolne połączenia, jeśli serwer nie będzie w stanie poradzić sobie ze zwiększonym obciążeniem.

Możesz sprawdzić bieżące zaległości netstat -ant | grep -c SYN_RECzgodnie z tą stroną . Policzy, ile połączeń znajduje się w stanie „SYN otrzymał”, co oznacza, że ​​system otrzymał pakiet SYN (żądanie połączenia), ale jeszcze go nie potwierdził.

Jeśli system został sszainstalowany, możesz także użyć ss -sdo wyświetlenia podsumowania połączeń. Poszukaj synrecvw danych wyjściowych lub ss -s | grep -Po '(?<=synrecv )\d+(?=,)'po prostu wydrukuj numer.

miken32
źródło