2010-05-28 10 views

Odpowiedz

6

Memcached jest domyślnie wielowątkowy i nie ma problemu z nasycaniem wielu rdzeni. Trochę trudniej jest nasycić wszystkie rdzenie na bardziej masywnych równoległych skrzynkach (na przykład 256-rdzeniowych CMT-boxie) tylko dlatego, że coraz trudniej jest uzyskać dane w sieci i poza nią.

Jeśli znajdziesz obszary, w których jakaś rywalizacja uniemożliwia nasycenie rdzeni, zgłoś błąd lub rozpocznij dyskusję.

12

memcached ma „-t” opcję:

 -t <threads> 
      Number of threads to use to process incoming requests. This option is only meaningful 
      if memcached was compiled with thread support enabled. It is typically not useful to 
      set this higher than the number of CPU cores on the memcached server. The default is 
      4. 

tak, wierzę, można go używać wszystkich rdzeni procesora, oczywiście jeśli został skompilowany z odpowiedniej opcji.

+0

Dziękuję bardzo ~ –

+0

proszę zaznaczyć odpowiedź jako „zaakceptowany”, jeśli to było pomocne, –

0

OSTROŻNIE. Ta terminologia jest dość myląca. Strona memcached man mówi, że opcja -t jest dobra tylko do liczby rdzeni. Jest to jednak dziwne, ponieważ wątki i procesy są BARDZO różne. Nici nie mają nic wspólnego z liczbą rdzeni. Procesy mogą z pewnością działać na więcej niż jednym kroku, podczas gdy wątki nie mogą (chyba że wywołują rutynę systemu operacyjnego, wtedy mogą przełączać wątki i pakować w więcej niż 100% wykorzystania procesora). Wątki udostępniają pamięć i zależą od wskaźnika instrukcji, aby odróżnić, kto jest kim. Procesy nic nie dzielą, chyba że są jawnie zadeklarowane jako udostępnione z wyprzedzeniem, a udostępnianie odbywa się za pośrednictwem systemu operacyjnego.

Ogólnie rzecz biorąc, chcę WIĘCEJ CLARITY od Memcached People o tym, czy ich aplikacja jest wieloprocesowa czy wielowątkowa, a więc czy może używać więcej niż 100% procesora.

+2

[wątki nie mają nic wspólnego z liczbą rdzeni] Powodem jej mówi, aby ustawić liczbę wątków liczba rdzeni jest taka, że ​​na ogół chcesz mieć jeden rdzeń wykonujący dany wątek. W przeciwnym razie procesor będzie musiał przełączać kontekst między wątkami, co wpływa na wydajność w różnym stopniu w zależności od tego, co próbujesz zrobić – concept47

4

Na podstawie wyników badań przeprowadzonych przez firmę Intel, Memcached wersja 1.6 nie może być dobrze skalowalna w systemie wielordzeniowym. Ich eksperymenty pokazują, że gdy liczba rdzeni wzrasta z 1 do 8, maksymalna przepustowość (z medianą RTT < 1ms SLA) podwaja się tylko dwukrotnie.

Powiązane problemy