Gammal 2012-10-13, 09:40   #1
Tro
Medlem
 
Reg.datum: May 2012
Inlägg: 50
Standard

FastCGI överbelastas


Hoppas jag postat rätt.
Det är så att flera attacker har kommit in idag och igår. Har nu blockat ip-adressen men vpn är ju lätt att fixa.
Det är så att folk http floodar min sida med gets. Cloudflare hjälper inte ett dugg.
Under de senaste timmarna har jag blockat runt 500 ipadresser. Har ungefär blockat 10% av attacken, och orkar inte spendera 12 timmar per dag till att blocka ipadresser.
Folk skickar http floods till min webbsida som ligger på en windows(iis) server. Då skapas cirka 500 php-cgi.exe processer som inte stängs förens jag startar om iis. Dessa processer använder cirka 13% av min cpu och 500mb ram minne av 24 gb.

Det jag undrar är varför min sida slutar funka när jag blir överbelastad med get? och hur gör jag för att motverka att sidan åker ner? Har inget emot att folk floodar min webbsida, bara att blocka ipadresserna men när det blir över 1000 ipadresser har jag inte orken att sitta och blockera en och en för att vänta på 1000 ipadresser till efter 10 min.

Inga php filer funkar, inte ens <?php echo 'hej'; ?> funkar. Men html funkar felfritt när servern blir floodad.

Tack på förhand.
Gammal 2012-10-13, 12:22   #2
Danielos
Klarade millennium-buggen
 
Danieloss avatar
 
Reg.datum: Oct 2005
Inlägg: 2 508
Skicka ett meddelande via MSN till Danielos Skicka ett meddelande via Skype™ till Danielos
Standard

Jag skulle rekommendera dig att du kör en pfsense eller liknande brandvägg som kör states framför servern och ställer in max states på något bra värde för varje IP. Även shorewall går att sätta in max anslutningar per IP med
__________________
www.EgenSajt.se - med prestandagaranti! Proffskonto med lastbalansering, dedikerad php-pool, dedikerad varnish vcl, innodb kluster och memcached för 129kr/mån - Vår Magento demo shop laddar på 0,8 sek! Billigast i sverige på .se domäner för 98kr!
Gammal 2012-10-13, 17:36   #3
Clarence
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 552
Skicka ett meddelande via Skype™ till Clarence
Standard

Går statiska filer bra men inte fcgi-requests så är det nog så att du använder max antalet fcgi-processer enligt din konfiguration. Du kan öka det ordentligt när du använder så lite av dina resurser. Men Danielos förslag bör du titta på först. Förmodligen så kommer även 5 gånger så många fgci-processer att fyllas upp.

Du kan även sätta en riktig cache framför. Sätt vettiga expires headers och använd en cachande proxy framför IIS. Känner tyvärr inte till någon sådan mjukvara för Windows, men det lär finnas.
Gammal 2012-10-14, 04:29   #4
Tro
Medlem
 
Reg.datum: May 2012
Inlägg: 50
Standard

Tack för svar!

Citat:
Ursprungligen postat av Danielos Visa inlägg
Jag skulle rekommendera dig att du kör en pfsense eller liknande brandvägg som kör states framför servern och ställer in max states på något bra värde för varje IP. Även shorewall går att sätta in max anslutningar per IP med
Jag använder cloudflare, så det är inget alternativ, tyvärr.

Citat:
Ursprungligen postat av Clarence Visa inlägg
Går statiska filer bra men inte fcgi-requests så är det nog så att du använder max antalet fcgi-processer enligt din konfiguration. Du kan öka det ordentligt när du använder så lite av dina resurser. Men Danielos förslag bör du titta på först. Förmodligen så kommer även 5 gånger så många fgci-processer att fyllas upp.

Du kan även sätta en riktig cache framför. Sätt vettiga expires headers och använd en cachande proxy framför IIS. Känner tyvärr inte till någon sådan mjukvara för Windows, men det lär finnas.
FastCGI slutar funka redan vid 10 processer av någon konstig anledning. Max är satt till 10 000 och processerna blir uppemot 500 st ibland.
Spelar ingen roll hur många processer det är heller, sålänge fastcgi funkar. Tycker det är konstigt att det bara dör så snabbt utan att knappt använda någon datorkraft.
Cache funkar ju men hur blir det när man ska logga in då?
Gammal 2012-10-14, 10:29   #5
Clarence
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 552
Skicka ett meddelande via Skype™ till Clarence
Standard

Citat:
Ursprungligen postat av Tro Visa inlägg
Cache funkar ju men hur blir det när man ska logga in då?
Man konfigurerar cachen att cachea baserat på userid eller inte alls cacha inloggade användare.

FCGI-problemet låter skumt, låter som om du har någon annan begränsning i den. Men jag är inte alls van nog vid Windows som server-OS för att kunna ge några ledtrådar.
Gammal 2012-10-14, 11:59   #6
Björklund
Mycket flitig postare
 
Björklunds avatar
 
Reg.datum: Jul 2006
Inlägg: 538
Standard

Om du kör en proxy framför (typ Cloudflare) så är det ju bara a blockera allt utom proxyns IPs.

https://www.cloudflare.com/ips
Gammal 2012-10-14, 18:58   #7
Tro
Medlem
 
Reg.datum: May 2012
Inlägg: 50
Standard

Citat:
Ursprungligen postat av Björklund Visa inlägg
Om du kör en proxy framför (typ Cloudflare) så är det ju bara a blockera allt utom proxyns IPs.

https://www.cloudflare.com/ips
De attackerar inte min server direkt utan min webbadress. Cloudflare är inte direkt tipp topp gällande överbelastningsattacker och skyddar till 0% min sida från dem.
Gammal 2012-10-15, 11:50   #8
BarateaU
Klarade millennium-buggen
 
BarateaUs avatar
 
Reg.datum: Nov 2007
Inlägg: 2 373
Standard

Ser att de billiga paketet avsaknar ddos protection hos cloudflare.
Jag har testat google page speed service lite och då sätter man upp en referens domän adress som google's cdn hämtar grejerna från och presenterar sedan på vanliga adressen.
Kanske passar bättre en cloudflare.
Gammal 2012-10-21, 11:58   #9
Westman
Klarade millennium-buggen
 
Westmans avatar
 
Reg.datum: Jun 2004
Inlägg: 3 705
Standard

Prova Varnish framför. Det löste mina prestandaproblem (jo jag kör IIS och FastCGI eftersom jag inte lyckades bli av med socketproblemen som php5-fpm gav mig).

Annars så kan du på workerprocessen sätta att den ska göra recycle vid en viss belastning eller efter ett visst antal träffar etc. Det ska göra att dina php-cgi-processer försvinner med jämna mellanrum.
__________________
Att jobba med andras jobbiga leverantörer kan vara rätt underhållande.
Svara


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

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 23:13.

WN - Topp

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