Proszę, hakerzy jądra Linux, jaki jest rozsądny rozmiar bufora dla write(2)
syscall do gniazd lub plików, pod względem wydajności? Jasne jest, że jest kilka stronicowych, ale które? Czy to ma znaczenie? Co to jest "zbyt mały" i "zbyt duży"?Zarówno zalecany rozmiar bufora dla gniazda i pliku:
5
A
Odpowiedz
7
zależy jak duże opóźnienie w każdym jest, powiedzmy, że masz połączenie 100Mbps oraz opóźnienie 50 ms, a następnie można obliczyć
100MBps * 0.050 sec/8 = 0.625MB = 625KB
ale domyślny rozmiar okna w systemie Linux 2.6 jest ok 110kB, co ograniczy swoją przechadzkę się wokół 2.2MBps (110kB/0,050) tak więc, aby ustalić, które możesz setsockopt
int ret, sock, buf_size;
sock = socket(AF_INET, SOCK_STREAM, 0);
buf_size = 625*1024;
ret = setsockopt(sock, SOL_SOCKET, SO_SNDBUF, (char *)&buf_size, sizeof(buf_size));
ret = setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (char *)&buf_size, sizeof(buf_size));
Powiązane problemy
- 1. iPhone Max rozmiar bufora gniazda
- 2. Jak znaleźć rozmiar bufora gniazda linux
- 3. Przycinanie AudioQueue i rozmiar bufora
- 4. W jaki sposób przepełnienie bufora gniazda Linux?
- 5. Optymalny rozmiar bufora dla strumienia odpowiedzi HttpWebResponse
- 6. Optymalny rozmiar bufora Androida:
- 7. Linux UDP maksymalny rozmiar bufora odbiorczego
- 8. Jak zmienić rozmiar bufora i/o jądra
- 9. Automatyczne wybieranie rozmiaru bufora dla pliku I/O
- 10. optymalny rozmiar bufora do odczytu pliku w C
- 11. Django i18n: zalecany rozmiar i formatowanie bloków {% blocktrans%}?
- 12. Analiza pliku tekstowego dla bufora protokołu Google
- 13. samego pliku nagłówka zarówno dla DLL i statyczne biblioteki
- 14. deskryptor gniazda vs deskryptor pliku
- 15. Golang - Co to jest rozmiar bufora kanału?
- 16. Zwiększ rozmiar bufora SPI w Raspbian
- 17. Czy do stdout dołączono rozmiar bufora?
- 18. Zalecany hosting dla aplikacji PostGIS
- 19. HSQLDB i .lobs rozmiar pliku
- 20. Emacs ansi-term maksymalny rozmiar bufora?
- 21. Dlaczego rozmiar bufora pierścieniowego musi wynosić 2?
- 22. Pamięć archiwum zip php, rozmiar i maksymalny rozmiar pliku
- 23. Jak ustawić rozmiar bufora pod Socket UDP? C#
- 24. Utwórz mapę strukturalną PLIKU * do bufora?
- 25. Gniazda Java i odłączone połączenia
- 26. Zwiększ okno odbioru TCP dla określonego gniazda
- 27. boost :: asio :: buffer: pobieranie rozmiaru bufora i zapobieganie przepełnieniu bufora?
- 28. Jak skonfigurować rozmiar bufora i maksymalny rozmiar wiadomości w ASP.NET Web API
- 29. kaskady i sygnały/gniazda
- 30. Ustawianie maksymalnej wiadomości i rozmiaru bufora dla WCF webhttp
Nic mniej niż 128 kilobajtów, ponieważ to, co wpisuje się w kolejce wysyłania domyślnie (chyba, że chcesz grać z setsockopt) . – Damon
@Damon: Nie jestem pewien, czy "coś" jest właściwą odpowiedzią. Bufory powinny być przynajmniej wyrównane. – Cartesius00
Domyślnie działa większość ludzi przez większość czasu (rozsądnie jest założyć, że ludzie piszący stos sieciowy nie są kompletnymi idiotami). O ile nie trzeba regularnie wysyłać ogromnych ilości danych (naprawdę ogromnych) i mieć pewne surowe ograniczenia dotyczące opóźnień, zwykle nie ma powodu do niepokoju. Wszystko, co jest "rozsądnym" rozmiarem, jest po prostu kopiowane do bufora wysyłania i wysyłane, niezależnie od tego, ile to kosztuje. Jeśli nie wszystkie pasują, "write" napisze mniej niż to, o co prosisz (zwracając kwotę). W każdym razie po prostu działa. – Damon