webForumDet fria alternativet

httpd

16 svar · 713 visningar · startad av jboy_87

jboy_87Medlem sedan aug. 20011 105 inlägg
#1

hur minskar man http demonerna dem tar runt 40% av cpun är det normalt? jag kör med en 2,8GHz AMD server? kan det vara sessionerna som ökar cpun!

RobbanMedlem sedan dec. 19992 272 inlägg
#2

Normalt och normalt. Beror helt och hållet på vad http-demonerna har för sig och hur belastad servern är.

jboy_87Medlem sedan aug. 20011 105 inlägg
#3

hur ser man vad demonerna gör?

när jag körde med en 800MHz ökade mysqld till 99% men nu när jag köpt ny server är det httpd som ökar??

RobbanMedlem sedan dec. 19992 272 inlägg
#4

hur ser man vad demonerna gör?

Kör du mod_perl, mod_php eller något annat "in process" (CGI körs utanför httpd-processen)?

Finns mig veterligen inget sätt att "se" exakt vad demonerna har för sig. Man måste känna sin server, helt enkelt, och veta vad som körs på den. Hur har du satt upp sessionshanteringen, t.ex.?

GunnarDMedlem sedan juni 20014 250 inlägg
#5

Apache har en status sida som kan ge tips om vad den håller på med, men den är inte påslagen default.

Titta i httpd.conf efter server-status kommadot, så här ser en av mina ut:

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from .domänen.se
</Location>

När sedan satt på status info så kan man få mera info genom att sätta "ExtendedStatus On" i httpd.conf.

RobbanMedlem sedan dec. 19992 272 inlägg
#6

Var ett tag sedan jag var inne på en mod_status-sida, men inte får man väl reda på vad httpd-processerna håller på med där? Man får väl reda på hur mycket CPU-kraft en httpd-process använt, men inte vad den använt den till? Typ.

Eller minns jag helt fel? :)

red/ Finns även tredjepartsmoduler som kan ge mer info. Men fortfarande vet man inte exakt vad varje process gör.

http://www.trickytools.com/php/mod_benchmark.php

GunnarDMedlem sedan juni 20014 250 inlägg
#7

Exempel från status sidan på min server:

Apache Server Status for [url]www.gunnard.se[/url]

Server Version: Apache/2.0.47 (Unix) PHP/4.3.3
Server Built: Jul 11 2003 19:37:57

Current Time: Saturday, 11-Oct-2003 14:13:21 CEST
Restart Time: Thursday, 09-Oct-2003 13:09:22 CEST
Parent Server Generation: 2
Server uptime: 2 days 1 hour 3 minutes 58 seconds
Total accesses: 5379 - Total Traffic: 947.9 MB
CPU Usage: u154.03 s10.02 cu4.07 cs2.83 - .0968% CPU load
.0305 requests/sec - 5.5 kB/second - 180.5 kB/request
1 requests currently being processed, 9 idle workers

____._.____.W...................................................
................................................................
................................................................
................................................................

Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

Srv	PID	Acc	M	CPU 	SS	Req	Conn	Child	Slot	Client	VHost	Request
0-2	21772	0/586/586	_ 	21.20	1295	0	0.0	11.67	11.67 	69.41.161.156	[url]www.gunnard.se	GET[/url] /network/lists/bugtraq-2003-07/msg00257.html HTTP/1.1
1-2	29141	0/107/498	_ 	6.73	110	0	0.0	0.24	157.69 	69.56.178.210	[url]www.gunnard.se	GET[/url] /network/lists/bugtraq/msg00325.html HTTP/1.1
2-2	21774	0/555/555	_ 	22.09	922	0	0.0	22.51	22.51 	69.41.161.156	[url]www.gunnard.se	GET[/url] /network/lists/bugtraq/msg00242.html HTTP/1.1
3-2	21775	0/533/533	_ 	16.95	106	0	0.0	1.17	1.17 	69.56.178.210	[url]www.gunnard.se	GET[/url] /network/lists/bugtraq/msg00242.html HTTP/1.1
4-2	-	0/0/399	. 	13.98	48447	0	0.0	0.00	0.77 	213.114.154.108	profsnape.mine.nu	GET /scripts/..%255c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
5-2	21777	0/591/591	_ 	21.08	141	0	0.0	16.25	16.25 	dhcp163.gunnard.se	[url]www.gunnard.se	GET[/url] /humor/randomhistoria.phtml HTTP/1.1
6-2	-	0/0/454	. 	16.34	48449	0	0.0	0.00	293.77 	213.114.154.108	profsnape.mine.nu	GET /d/winnt/system32/cmd.exe?/c+dir HTTP/1.0
7-2	28663	0/191/466	_ 	8.13	2094	0	0.0	0.50	147.48 	62.2.168.179	profsnape.mine.nu	GET /scripts/nsiislog.dll
8-2	29142	0/109/355	_ 	3.49	1100	0	0.0	0.15	1.93 	66.139.75.45	[url]www.gunnard.se	GET[/url] /network/lists/bugtraq-2003-08/msg00019.html HTTP/1.1
9-2	21931	0/495/495	_ 	18.63	1004	0	0.0	293.83	293.83 	[url]www.mobster.biz	www.gunnard.se	GET[/url] /network/lists/bugtraq/msg00157.html HTTP/1.1
10-2	28440	0/253/253	_ 	14.32	2623	0	0.0	0.41	0.41 	213.132.100.34	[url]www.gunnard.se	GET[/url] /bilder/steel3.jpg HTTP/1.1
11-2	-	0/0/108	. 	5.32	48446	0	0.0	0.00	0.24 	213.114.154.108	profsnape.mine.nu	GET /_vti_bin/..%255c../..%255c../..%255c../winnt/system32/cmd.
12-2	29143	0/86/86	W 	2.69	0	0	0.0	0.21	0.21 	192.168.0.163	[url]www.gunnard.se	GET[/url] /server-status HTTP/1.1

Som synes så säger den en hel del!

jboy_87Medlem sedan aug. 20011 105 inlägg
#8

Kör du mod_perl, mod_php eller något annat "in process" (CGI körs utanför httpd-processen)?

Finns mig veterligen inget sätt att "se" exakt vad demonerna har för sig. Man måste känna sin server, helt enkelt, och veta vad som körs på den. Hur har du satt upp sessionshanteringen, t.ex.?

kör med Apache/2.0.45 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.45 OpenSSL/0.9.7b DAV/2.

Vad menar du att sätta upp sessionhanteringen ??

RobbanMedlem sedan dec. 19992 272 inlägg
#9

GunnarD skrev:

Som synes så säger den en hel del!

Där ser man. Har nog missat att sätta ExtendedStatus till On när jag provat, för så mycket information fick inte jag fram. :)

jboy_87 skrev:

mod_perl/1.99_09

Använder du dig av mod_perl? Ett tungt perlskript som körs i mod_perl (d.v.s. det körs _inne_ i httpd-processen i stället för i en egen process) skulle kunna förklara en del.

jboy_87 skrev:

Vad menar du att sätta upp sessionhanteringen ??

Du skrev ju: "kan det vara sessionerna som ökar cpun". Så jag antog att du hade någon form av sessionhantering igång?

jboy_87Medlem sedan aug. 20011 105 inlägg
#10

Använder du dig av mod_perl? Ett tungt perlskript som körs i mod_perl (d.v.s. det körs _inne_ i httpd-processen i stället för i en egen process) skulle kunna förklara en del.

Så det är då bättre och ta port mod perl? använder inte perl script på min sida påverkar det httpd när man inte kör perl sidor?!

Du skrev ju: "kan det vara sessionerna som ökar cpun". Så jag antog att du hade någon form av sessionhantering igång?

Jepp jag kör med sessioner ca 10 st per medlem och det är runt 100 medlemmar inne varje dag!

RobbanMedlem sedan dec. 19992 272 inlägg
#11

Så det är då bättre och ta port mod perl? använder inte perl script på min sida påverkar det httpd när man inte kör perl sidor?!

Är alltid bra att ta bort sådant man inte använder. Men jag tror inte det påverkar CPU-utnyttjande (möjligen tjänar du lite minne på det).

Jepp jag kör med sessioner ca 10 st per medlem och det är runt 100 medlemmar inne varje dag!

Och hur skapar du dessa sessioner?

jboy_87Medlem sedan aug. 20011 105 inlägg
#12

hjälpte faktisk lite när jag tog bort mod perl!!

kör med vanliga
$_SESSION['1'] = "";
session_register ("1");

sen har jag en session med array som ändras hela tiden när man klickar på medlemmens profil. Har 7 sessioner i arrayen!
$_SESSION['krypin'] = array($row['1'],$row['2']);

RobbanMedlem sedan dec. 19992 272 inlägg
#13

Är det PHP vi pratar om nu, eller vad? Du kör inte mod_php då, eller (kör du PHP som CGI eller som modul)?

Har du testat GunnarD:s tips för att kolla status?

jboy_87Medlem sedan aug. 20011 105 inlägg
#14

Är alltid bra att ta bort sådant man inte använder. Men jag tror inte det påverkar CPU-utnyttjande (möjligen tjänar du lite minne på det).

nope du sa ju att mod perl var onödigt om man nu inte använder det??

Du kör inte mod_php då, eller (kör du PHP som CGI eller som modul)?

tror jag kör mod_php?? vilket är snabbast eller bäst?

har många moduler laddade kan det här vara nått?:
Loaded Modules core mod_access mod_auth mod_auth_anon mod_auth_dbm mod_auth_digest mod_ext_filter mod_include mod_log_config mod_env mod_mime_magic mod_cern_meta mod_expires mod_headers mod_usertrack mod_unique_id mod_setenvif mod_ssl prefork http_core mod_mime mod_dav mod_status mod_autoindex mod_asis mod_info mod_cgi mod_dav_fs mod_vhost_alias mod_negotiation mod_dir mod_imap mod_actions mod_speling mod_userdir mod_alias mod_rewrite mod_so sapi_apache2

Har du testat GunnarD:s tips för att kolla status?

nope ska göra det imorn!

RobbanMedlem sedan dec. 19992 272 inlägg
#15

nope du sa ju att mod perl var onödigt om man nu inte använder det??

Japp. Men om du inte utnyttjar den (kör några perl-skript) så borde det inte belasta servern något nämnvärt, även om du har mod_perl-modulen laddad. Men använder du den inte så har du inget att förlora på att ta bort den.

Loaded Modules ...

Kan inte hitta mod_php där, och inte heller i den sträng du skickade tidigare (där mod_perl fanns med).

vilket är snabbast eller bäst?

Att köra som modul är mycket snabbare än att köra som CGI, så de flesta brukar föredra det första alternativet.

http://www.php.net/manual/en/install.commandline.php

http://www.php.net/manual/en/install.apache2.php

jboy_87Medlem sedan aug. 20011 105 inlägg
#16

tack ska du ha är det något mer som man kan göra för att öka hastigheten?

Här kommer informationen!

**SERVER_SOFTWARE Apache/1.3.28 (Unix) PHP/4.3.3

Loaded Modules mod_php4, mod_setenvif, mod_so, mod_unique_id, mod_usertrack, mod_headers, mod_expires, mod_cern_meta, mod_proxy, mod_digest, mod_auth_dbm, mod_auth_anon, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_speling, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_info, mod_status, mod_negotiation, mod_mime, mod_mime_magic, mod_log_config, mod_define, mod_env, mod_vhost_alias, http_core**

RobbanMedlem sedan dec. 19992 272 inlägg
#17

Kommentera bort inladdningen av övriga moduler du inte använder. Kolla vad varje modul gör, och fundera på om det är någonting som verkar användas. Skulle någonting sluta fungera så är det ju bara att aktivera den igen.

http://httpd.apache.org/docs-2.0/mod/

Här kommer också lite överkurs:

Såg i den förra listan du postade att du kör med prefork. Då kör du Apache på traditionellt sätt s.a.s. och utnyttjar inte möjligheterna till trådning i Apache2 (att hantera varje HTTP-förfrågan i en egen tråd tar mindre resurser än att hantera varje förfrågan i en egen process, som du gör nu).

Om du i stället skulle köra med worker så skulle trådningen i Apache2 utnyttjas, och du kan få bättre prestanda (finns inga garantier, men det är ganska troligt -- speciellt om det är en belastad server).

För att byta från prefork till worker så behöver du kompilera om Apache.

http://httpd.apache.org/docs-2.0/mpm.html#choosing

OBSERVERA DOCK! Jag vet inte hur bra PHP klarar att köras med en trådad Apache. Kolla upp det först.

Genererad på 392 ms · cache AV · v20260730165559-full.f96bc7eb