W pliku konfiguracyjnym firebird.conf jest między innymi parametr TcpRemoteBufferSize. Definiuje on maksymalną wielkość transferowanych pakietów. Domyślna wartość parametru to 8 kB. Maksymalna wartość to 32 767. Teoretycznie większe pakiety powinny przyspieszać transfer dużych ilości danych, zwłaszcza w przypadku sieci o dużych opóźnieniach (takich jak Internet).
Carlos H. Cantu ostatnio testował ten parametr, ale nie znalazł znaczących różnic — wykonując instrukcję select first 2000 * from tabela (tabela nie zawiera pól BLOB). Podobny test, wykonany jakiś czas temu z inną wersją Firebird, w innym systemie operacyjnym, dawał trzykrotne przyspieszenie transferu danych, jeżeli parametr miał wartość 32K, ale podczas testów w obecnym środowisku nie udało się powtórzyć tych wyników.
Carlos H. Cantu prosi wszystkich, którzy mają trochę czasu, aby pomogli testować ten parametr i opublikowali wyniki swoich testów w komentarzu do »tego artykułu«. Podczas testów proszę, aby testować różne wartości w bibliotece klienta, w serwerze oraz w obu, a także napisać w komentarzu, jaka wersja serwera i jaka wersja biblioteki klienta była testowana. Warto też przed właściwym testem wykonać testowaną instrukcję co najmniej raz, aby wypełnić danymi pamięć podręczną (cache) Firebird i systemu operacyjnego. Dzięki temu wyniki testów będą bardziej miarodajne.
Hardcorowi użytkownicy mogliby również zainstalować Wireshark w celu podglądu detali komunikacji.
Brak komentarzy:
Prześlij komentarz