Skocz do zawartości
tryme

Lighttpd + xcache = wielki swap

Polecane posty

Witam serdecznie,

 

Mam problem z poprawnym ustawieniem serwera lighttpd oraz xcache, tak aby nie swapowały za bardzo.

 

Po restarcie lighttpd zasoby pamięci wyglądają mniej więcej tak

debian:~# free -m

total used free shared buffers cached

Mem: 6074 4986 1088 0 313 2825

-/+ buffers/cache: 1846 4227

Swap: 3812 292 3519

Po kilku, kilkunastu godzinach swap drastycznie rośnie w zależności od ustawień pamięci dla xcache (wpierw 512mb, później 256mb).

swapweeksj2.th.png

 

Oto moje pliki konfiguracyjne:

 

lighttpd.conf

server.max-keep-alive-requests = 4

server.max-keep-alive-idle = 4

server.max-read-idle = 60

server.max-write-idle = 360

 

server.modules += ( "mod_fastcgi" )

 

## Start an FastCGI server for php4 (needs the php4-cgi package)

fastcgi.server = ( ".php" =>

((

"bin-path" => "/usr/local/bin/php-cgi",

"socket" => "/tmp/php.socket",

"max-procs" => 10,

"idle-timeout" => 20,

"bin-environment" => (

"PHP_FCGI_CHILDREN" => "16",

"PHP_FCGI_MAX_REQUESTS" => "1000"

),

"bin-copy-environment" => (

"PATH", "SHELL", "USER"

),

"broken-scriptfilename" => "enable"

))

)

 

php.ini

 

[xcache]

; ini only settings, all the values here is default unless explained

 

; select low level shm/allocator scheme implemenation

xcache.shm_scheme = "mmap"

; to disable: xcache.size=0

; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows

xcache.size = 256M

; set to cpu count (cat /proc/cpuinfo |grep -c processor)

xcache.count = 4

; just a hash hints, you can always store count(items) > slots

xcache.slots = 8K

; ttl of the cache item, 0=forever

xcache.ttl = 0

; interval of gc scanning expired items, 0=no scan, other values is in seconds

xcache.gc_interval = 0

 

; same as aboves but for variable cache

xcache.var_size = 16M

xcache.var_count = 2

xcache.var_slots = 8K

; default ttl

xcache.var_ttl = 1

xcache.var_maxttl = 1

xcache.var_gc_interval = 300

 

xcache.test = Off

; N/A for /dev/zero

xcache.readonly_protection = On

; for *nix, xcache.mmap_path is a file path, not directory.

; Use something like "/tmp/xcache" if you want to turn on ReadonlyProtection

; 2 group of php won't share the same /tmp/xcache

; for win32, xcache.mmap_path=anonymous map name, not file path

xcache.mmap_path = "/dev/zero"

 

 

; leave it blank(disabled) or "/tmp/phpcore/"

; make sure it's writable by php (without checking open_basedir)

xcache.coredump_directory = "/tmp/phpcore"

 

; per request settings

xcache.cacher = On

xcache.stat = On

xcache.optimizer = On

 

[xcache.coverager]

; per request settings

; enable coverage data collecting for xcache.coveragedump_directory and xcache_coverager_start/stop/get/clean() functions (will hurt executing performance)

xcache.coverager = Off

 

; ini only settings

; make sure it's readable (care open_basedir) by coverage viewer script

; requires xcache.coverager=On

xcache.coveragedump_directory = "/tmp/phpcore"

 

Będę wdzięczny za wszelkie sugestie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

której wersji xcache używasz? nie lepiej zrobic cachowanie w php?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawdź czy masz zainstalowaną najnowszą wersję lighttpd, bo opisywany problem jest dość dobrze znany - wyciecki pamięci w serwerach z dużym ruchem (generalnie z 1.5 nie powino być takich problemów - bo po konfiguracji widzę że to linia 1.4)

 

Możesz także spróbować zmniejszyć PHP_FCGI_MAX_REQUESTS na wartość poniżej 500.

 

To samo tyczy sie xcache, na forum lighttpd wyczytałem, że wiele ludzi ma z nim różngo rodzaju problemy - proponuje zastąpić eaccelerator'em (jeżeli wystarczy ci jego funkcjonalność)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×