Kom ihåg mig?
Home Menu

Menu


Hantera 1000-tals besökare!

 
Ämnesverktyg Visningsalternativ
Oläst 2006-03-21, 20:49 #1
Micke04 Micke04 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 571
Micke04 Micke04 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 571
Jag förväntar mig en besöksanstormning på ca 5000 personer samtidigt.... är dessa värden vettiga eller bör jag ändra något?


# PidFile: The file in which the server should record its process
# identification number when it starts.

PidFile /var/run/apache2.pid

# Timeout: The number of seconds before receives and sends time out.

Timeout 300

# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.

KeepAlive On

# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.

MaxKeepAliveRequests 0

# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.

KeepAliveTimeout 5

## Server-Pool Size Regulation (MPM specific)
##

# prefork MPM
# StartServers ......... number of server processes to start
# MinSpareServers ...... minimum number of server processes which are kept spare
# MaxSpareServers ...... maximum number of server processes which are kept spare
# MaxClients ........... maximum number of server processes allowed to start
# MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 256
ServerLimit 256
MaxRequestsPerChild 0
</IfModule>

# pthread MPM
# StartServers ......... initial number of server processes to start
# MaxClients ........... maximum number of server processes allowed to start
# MinSpareThreads ...... minimum number of worker threads which are kept spare
# MaxSpareThreads ...... maximum number of worker threads which are kept spare
# ThreadsPerChild ...... constant number of worker threads in each server process
# MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

# perchild MPM
# NumServers ........... constant number of server processes
# StartThreads ......... initial number of worker threads in each server process
# MinSpareThreads ...... minimum number of worker threads which are kept spare
# MaxSpareThreads ...... maximum number of worker threads which are kept spare
# MaxThreadsPerChild ... maximum number of worker threads in each server process
# MaxRequestsPerChild .. maximum number of connections per server process (then it dies)
<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
AcceptMutex fcntl
</IfModule>
Micke04 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-22, 20:25 #2
bivald bivald är inte uppkopplad
Medlem
 
Reg.datum: Feb 2006
Inlägg: 207
bivald bivald är inte uppkopplad
Medlem
 
Reg.datum: Feb 2006
Inlägg: 207
Vad kör du för OS och server? Kör du en kraftig server med flera processorer (linux) bör du nog kompilera in MPM = worker. Vad ska du köra på sidan? Vilka moduler har du kompilerat in? Ta bort _allt_ som inte är livsnödvändigt.. Worker kan du köra så att varje server är 64 klienter och en klient får en thread.. Ex:

StartServers 10
MaxClients 640
ThreadsPerChild 64

Om du t.ex. ska köra en server med cgi program som tar kraftigt men inte så många kan du köra:

./configure --disable-asis --disable-auth --disable-autoindex --disable-access --disable-env --disable-imagemap --disable-include --disable-log-config --disable-negotiation --disable-setenvif --disable-userdir --with-mpm=worker --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/

För att nämna några exempel. Gå igenom compile instruktionerna på apache och tänk igenom vad du behöver och ta bort resten..

Kanske köra flera apache/servrar?
bivald är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-22, 20:39 #3
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Hur mycket minne har du? Jag skulle vilja sänka KeepAliveTimeout från 5 till 2.
kullervo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-22, 21:01 #4
Micke04 Micke04 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 571
Micke04 Micke04 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 571
Sajten: Modellbilder.se
Många pageviews, över 200'000 per dag
Besökare: 400 st samtidigt på kvällar

Måga sql frågor (optimerade)
Cache: jpcache på vissa sidor, eAccelerator för php

Server: Xeon 2400 mhz, 2gb ram
CPU load vid kvällar: 30-40%
Load vid kvällar: 1-1.5 i average...

Debian Linux, apache2, mysql4
Micke04 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-22, 21:52 #5
Micke04 Micke04 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 571
Micke04 Micke04 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 571
Citat:
Originally posted by bivald@Mar 22 2006, 19:25
Vad kör du för OS och server? Kör du en kraftig server med flera processorer (linux) bör du nog kompilera in MPM = worker. Vad ska du köra på sidan? Vilka moduler har du kompilerat in? Ta bort _allt_ som inte är livsnödvändigt..
core mod_access mod_auth mod_log_config mod_logio mod_env mod_setenvif prefork http_core mod_mime mod_status mod_autoindex mod_negotiation mod_dir mod_alias mod_so mod_actions mod_cgid mod_include mod_perl mod_php4 mod_rewrite mod_ssl mod_suexec mod_userdir


Alltså rätt många.. det är en default apt get installation, som jag förstår kanske inte är optimal!

Kan worker ge bättre prestanda trots att det bara är 1 cpu?
Micke04 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-23, 10:06 #6
Westmans avatar
Westman Westman är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jun 2004
Inlägg: 4 021
Westman Westman är inte uppkopplad
Klarade millennium-buggen
Westmans avatar
 
Reg.datum: Jun 2004
Inlägg: 4 021
Det undrar jag med.
Westman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-23, 15:13 #7
bivald bivald är inte uppkopplad
Medlem
 
Reg.datum: Feb 2006
Inlägg: 207
bivald bivald är inte uppkopplad
Medlem
 
Reg.datum: Feb 2006
Inlägg: 207
Det vet jag faktiskt inte. Men jag kan säga direkt att du bör inte ha så många moduler inkompilerade. Ju mer moduler ju fler saker som körs varje gång.

Sen funderar jag på, är det någon speciell anledning du kör apache eller var den lättast att slänga in? Om jag förstått det rätt har du många men relativt lätta script?

Kanske är lighthttpd eller boa något för dig?

http://www.lighttpd.net/benchmark/
http://www.boa.org/

Båda gjorda för många visningar med förhållandevis lätta scripts. Webmonkey har en guide för att tuna apache - http://www.webmonkey.com/webmonkey/97/49/index3a.html (finns massor på google)

Lighthttpd benchmarks finns på http://www.lighttpd.net/benchmark/

"lighttpd + fastcgi is more than 25% faster than apache + mod_php4."

De har också en "migrating from apache" guide på http://trac.lighttpd.net/trac/wiki/MigratingFromApache och jag vet många stora siter som kör lighthttpd (alistapart t.ex.)

Då du har så många besökare förseslår jag start att du sätter dig ner och kollar igenom alternativen och kanske kör lite egna benchmarks, du kan ju alltid köra igång testservrar på alternativa portar. Apache benmarking tools finns på t.ex. http://httpd.apache.org/docs/2.0/programs/ab.html (för 2.0an)

Testa gärna lighttpd och säg hur den uppför sig
bivald är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-27, 13:05 #8
ccato ccato är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 70
ccato ccato är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 70
Om du ska hantera sådär många besökare så ska du INTE låta apache serva statiskt innehåll typ bilder etc. Kör thttpd för bilderna och se till att optimera apache genom att kompilera den själv.
ccato är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-29, 12:45 #9
chrizzs avatar
chrizz chrizz är inte uppkopplad
Medlem
 
Reg.datum: Aug 2004
Inlägg: 296
chrizz chrizz är inte uppkopplad
Medlem
chrizzs avatar
 
Reg.datum: Aug 2004
Inlägg: 296
Citat:
Ursprungligen postat av Micke04
Citat:
Ursprungligen postat av bivald
Vad kör du för OS och server? Kör du en kraftig server med flera processorer (linux) bör du nog kompilera in MPM = worker. Vad ska du köra på sidan? Vilka moduler har du kompilerat in? Ta bort _allt_ som inte är livsnödvändigt..
core mod_access mod_auth mod_log_config mod_logio mod_env mod_setenvif prefork http_core mod_mime mod_status mod_autoindex mod_negotiation mod_dir mod_alias mod_so mod_actions mod_cgid mod_include mod_perl mod_php4 mod_rewrite mod_ssl mod_suexec mod_userdir


Alltså rätt många.. det är en default apt get installation, som jag förstår kanske inte är optimal!

Kan worker ge bättre prestanda trots att det bara är 1 cpu?
Med worker får du bättre kontroll över minnesanvändningen t.ex.

Problemet med denna kraftiga trafikökning och prefork är att det kommer äta rejält med minne, och burken kommer börja swappa antagligen när det blir tungt. Du får slut på children i apache, och det kommer gå åt h-vette =)

Ställ in worker lite saftigare (som någon beskriver i ett tidigare inlägg) och du bör nog vara redo för den där belastningen, ÄVEN om det nog kommer bli tungt så kommer det finnas children kvar som kan behandla alla requests.

Ställ ned keep alive också som någon föreslog. 2 sek hade jag ställt på.
chrizz är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-05, 15:52 #10
Danieloss avatar
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Oct 2005
Inlägg: 3 102
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
Danieloss avatar
 
Reg.datum: Oct 2005
Inlägg: 3 102
Nu förstår jag att du får så många besökare, grymt snygg sida med snyggt innehåll!
Danielos är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 01:33.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017