Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 4
  • 117

Problem polega na oszacowaniu maksymalnej ilości leasów/sekundę, jaka można uzyskać na serwerze linuksowym, na którym śmiga ISC DHCP.

Generalnie DHCP nie jest szczególnie ramo/cpu-żerny. Zgodnie z RFC każdorazowo podczas wydania adresu należy dopisać informację na dysk do pliku dhcpd.leases. Jest do tego używana fsync(); serwis czeka aż około 14 kb danych zapisze się na dysk i dopiero po tym wydaje kolejną lease. Czytałem o workaroundach takich, by ten plik do ramdrive'u dać - to niestety odpada.

Ilość wiadomości DHCP-owych w pewnym przypadku sięga przez większość czasu 700/s, z peakami do 900/s.

Analizowałem szybkość zapisu poprzez dd:

dd bs=[nie pamietam wielkosci leasy w dhcpd.leases] count=256 if=/dev/zero of=test oflag=dsync;

 

Czy na tej podstawie można coś estymować?


Jaki sprzęt to uciągnie? Oczywiście zakładam, że to będzie przynajmniej 1 para failoverowa.

No i teraz nasunęło mi się kolejne pytanie: Kombinować coś ze I/O schedulerem? Jak system zoptymalizować pod w/w kierunkiem?

Tomasz_Deka
  • Zapytał
  • @ Tomasz_Deka | 12.06.2015
    • 3
    • 0
    • 6

Odpowiedź (1)

  • 2

Dlaczego nie chcesz pliku dać do ramdysku?
Ewentualnie możesz użyć delayed-ack, by nie robić synca po każdym wydaniu adresu.

Scheduler - imho nie ma sensu się bawić - w sytuacji gdy jest to jedyna usługa na serwerze i jedynie dhcpd będzie zapisywał, schedulery niewiele zmienią. Prędzej system plików i jego tuning.

Andrzej_Dopierała
  • Odpowiedział
  • @ Andrzej_Dopierała | 14.06.2015
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169
Komentarze
Bardzo dziękuję za odpowiedź!

Nie chciałem pliku dać do ramdysku ze względu na to, że ISC DHCP jest w backendzie komercyjnego rozwiazania. Na szczęście poprzerabiałem skrypty w taki sposób, żeby z ramdysku skorzystać.
Skomentował : @ Tomasz_Deka ,26.08.2015
  • 3
  • 0
  • 6