Załóżmy, że tworzę własny akcelerator pobierania.Jak zmierzyć ciśnienie w sieci?
Załóżmy uprościć je do punktu, w którym:
- mój kod działa na 3rd party do którego sieci parametry nie mogę kontrolować
- element jest pobierany z jednego IP
- liczba transferów zasięgu równoległy regulowany
- będzie wiele transferów, aby dowiedzieć się idealne parametry
- klienta działa Linux
- serv er jest poza moją kontrolą
- ścieżka jest ponad WAN i pobierania przez HTTPS
- pobrane segmenty są duże
Jak mogę zmierzyć jeśli wystarczająco połączenia są wykorzystywane do nasycenia ścieżkę między klientem a serwerem?
Jakie bity z getsockopt(..., TCP_INFO)
są rzeczywiście przydatne?
Jak szybko mogę dostosować się do różnych warunków sieci?
Możliwe jest mierzenie ciśnienia procesora i pamięci w systemie klienta, a co z ciśnieniem w sieci?
Mike, twoja odpowiedź poprawnie wskazuje, że potrzebuję PABW. Jednak wspomina to tylko bez praktycznych szczegółów. Jak stwierdzono w pytaniu, "serwer jest poza moją kontrolą", więc nie mogę używać 'yaz'. –
Życzę powodzenia z twoim wysiłkiem; jednak straciłem zainteresowanie odpowiadaniem na kolejne pytania dotyczące tego problemu. –
Biorąc pod uwagę, że pojedyncze połączenie TCP z dużymi oknami lub małym RTT może nasycić dowolne łącze sieciowe, nie widzę korzyści, jakich można się spodziewać po wielu sesjach TCP. Każdy nowy utwór rozpocznie się od powolnego startu, a więc będzie miał niższą szybkość transferu niż miało to ustalone połączenie. –