WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Lastbalansera web server på linux (https://www.wn.se/forum/showthread.php?t=36695)

obe 2009-05-08 11:18

En annan sak som är fantastisk viktig:

Använd ett CDN!

Eller flytta alla dina statiska filer till en server som kör Nginx eller lighttpd.

Det är inte speciellt praktiskt att använda Apache att serva statiska filer med allt minne den drar.

Jag kör 4 st Nginx och de kraschar aldrig. Det är sällan en nginx går över en halv procent cpu när den drar 10Mbit ut och servar statiska filer.

obe 2009-05-08 11:22

Citat:

Ursprungligen postat av coredev
Citat:

Ursprungligen postat av obe
DNS-round robin är enklast. Men Nginx fungerar utmärkt, drar nästan igen cpu alls och är stabil.
Glöm inte att installera php-apc eller någon annan php-accelerator, det sparar mycket pulver på Apache-maskinerna.
Du kan sätta lastbalanseraren själv som bakup-server och låta apache lyssna på en annan port:
Citat:


upstream backend {
server 192.168.xxx.xxx; # www
server 192.168.xxx.xxx; # www
server 192.168.xxx.xxx; # www
server 192.168.xxx.xxx:8081 backup; # denna maskinen
}





Med DNS-round robin så kan man inte köra med persistent sessions va? Det vill säga att du alltid hamnar på samma maskin, och undviker konstiga utloggningar, etc..
Blir det dubbel configuration med Nginx? Måste man sätta upp alla virituella host:ar i config-filen eller kan man säga att den skall acceptera allt och sedan skicka det vidare oberört? Kan Nginx hantera persistant sessions?


Kör du memcached så kan du spara dina sessioner i dem

php :
session.save_handler = memcache
session.save_path = "tcp://xxx,tcp://yyy"

Då får du redundans, sessionerna sparas på båda memcached-servrarna

jahaa 2009-05-08 12:13

Citat:

Originally posted by obe@May 8 2009, 11:18
En annan sak som är fantastisk viktig:
Använd ett CDN
Eller flytta alla dina statiska filer till en server som kör Nginx eller lighttpd.
Det är inte speciellt praktiskt att använda Apache att serva statiska filer med allt minne den drar.
Jag kör 4 st Nginx och de kraschar aldrig. Det är sällan en nginx går över en halv procent cpu när den drar 10Mbit ut och servar statiska filer.



Kan bara instämma i att nginx är stabilt och rekommenderar det. Nginx har en bra strukturerad konfiguration men dokumentationen är dock inte den bästa (men blivit bättre på senaste tiden) och har pga det lite högre inlärningströskel.

Just nu kör jag dock nginx endast som reverse proxy för statiska filer men att lägga över mer ansvar på nginx framöver ligger i planeringen.

Som exemplet ovan med last-balanseringen mha nginx så går det tex att bygga ut det ytterligare så att du låter den nginx fronten serva statiskt innehåll men lastbalanserar dynamiskt innehåll.

Jag kör även memcache som session hanterare.

Citat:


Blir det dubbel configuration med Nginx? Måste man sätta upp alla virituella host:ar i config-filen eller kan man säga att den skall acceptera allt och sedan skicka det vidare oberört?

Du kan acceptera allt och skicka vidare det på wildcard. ( senast stabila versionen är det ServerName _; som är catch-all, går och skräddarsy om jag minns rätt. något i stil med ServerName alltom*.com; )

Ifall du kör reverse proxy med apache som backend behöver du dock installera apache modden rpaf (libapache2-mod-rpaf @ apt) för att inte få lokala ip't som användarens ip.

Björklund 2009-05-08 12:54

Citat:

Ursprungligen postat av coredev
Citat:

Ursprungligen postat av jonasb76
Lastbalansera med DNS eller dedikerad lastbalanserare.

Det vore mycket vänligt om någon har förslag på hårdvaru-lastbalanserare som fungerar bra för er samt hur dessa fungerar rent praktiskt. I mitt huvud bör de vara som en switch som även kan last-balansera. Viktigt är att de är session-medvetna.

Vad har du för krav? Hur många packet per sekund måste den klara? Någon speciell typ av lastbalansering (roundrobin, minst anslutningar, load på servrar, m.m.)? SSL-offload? Redundans? Support? Pris?

coredev 2009-05-08 14:16

Citat:

Ursprungligen postat av jonasb76
Citat:

Originally posted by -coredev@May 8 2009, 10:56
Citat:

Ursprungligen postat av jonasb76
Lastbalansera med DNS eller dedikerad lastbalanserare.

Det vore mycket vänligt om någon har förslag på hårdvaru-lastbalanserare som fungerar bra för er samt hur dessa fungerar rent praktiskt. I mitt huvud bör de vara som en switch som även kan last-balansera. Viktigt är att de är session-medvetna.


Vad har du för krav? Hur många packet per sekund måste den klara? Någon speciell typ av lastbalansering (roundrobin, minst anslutningar, load på servrar, m.m.)? SSL-offload? Redundans? Support? Pris?

* Skall gå att rackmontera, max 1U.
* Bör inte kosta mer än en ny server (då tappar man lite vitsen med en hårdvara istället för att göra det med en mjukvarulösning).
* Paket per sekund är svårt att svara på.
* Enkel lastbalansering, typ round-robin duger gott.
* Ingen SSL
* Ingen redundans på lastbalanseringen behövs

Jag har försökt googla lite på hårdvarulösningar men har inte hittat något lockande. Att betala 100.000 känns lite överdrivet. :)

PS. Tack för att hjälp :) ni ger! ds.

patrikweb 2009-05-08 14:17

Citat:

Originally posted by jonasb76@May 8 2009, 09:12
Lastbalansera med DNS eller dedikerad lastbalanserare.
Billiagast är BSD eller Linux. Vill du ha lite bättre support/prestanda så titta på Cisco eller F5.
Undvik leverantörer som bygger in lastbalansering i sin core-utrustning. Det bör ligga på dedikerad utrustning framför servrarna.
PM:a om du vill ha hjälp.

Varför skulle man göra det? Kör man Cisco 6500 så är allt sådant även modulär så du kan köra lastbalanseringen i en dedikerad linjekort som inte stör någon annan del.

Björklund 2009-05-08 14:55

Citat:

Ursprungligen postat av coredev
Citat:

Originally posted by -jonasb76@May 8 2009, 12:54
Citat:

Originally posted by -coredev@May 8 2009, 10:56
Citat:

Ursprungligen postat av jonasb76
Lastbalansera med DNS eller dedikerad lastbalanserare.

Det vore mycket vänligt om någon har förslag på hårdvaru-lastbalanserare som fungerar bra för er samt hur dessa fungerar rent praktiskt. I mitt huvud bör de vara som en switch som även kan last-balansera. Viktigt är att de är session-medvetna.


Vad har du för krav? Hur många packet per sekund måste den klara? Någon speciell typ av lastbalansering (roundrobin, minst anslutningar, load på servrar, m.m.)? SSL-offload? Redundans? Support? Pris?


* Skall gå att rackmontera, max 1U.
* Bör inte kosta mer än en ny server (då tappar man lite vitsen med en hårdvara istället för att göra det med en mjukvarulösning).
* Paket per sekund är svårt att svara på.
* Enkel lastbalansering, typ round-robin duger gott.
* Ingen SSL
* Ingen redundans på lastbalanseringen behövs
Jag har försökt googla lite på hårdvarulösningar men har inte hittat något lockande. Att betala 100.000 känns lite överdrivet.
PS. Tack för att hjälp ni ger ds.

Om du inte kan svara på paket per sekund så är det svårt att gissa hur mycket kraft du behöver.
Men eftersom du inte vet gissar jag att det är ganska lågt.
Och eftersom du inte behöver redundans så funkar det med vilken PC som helst med Linux på.
Installera Linux, ladda modulen ip_vs (LVS) och tanka ner ipvsadm och sätt upp lite regler,

PM:a om du vill ha hjälp.

patrikweb 2009-05-08 15:06

1-2U får du räkna med, kolla på någon begagnad Alteon, Fundry Serveriron, Extreme Summit48si så får du stöd för lastbalansering.

Kolla bara på att dom är med rätt Full3 code eller likande

coredev 2009-05-11 15:25

Citat:

Originally posted by patrikweb@May 8 2009, 15:06
1-2U får du räkna med, kolla på någon begagnad Alteon, Fundry Serveriron, Extreme Summit48si så får du stöd för lastbalansering.
Kolla bara på att dom är med rätt Full3 code eller likande

Eftersom jag är en mjukvaru-kille så säger detta mig rätt lite :) Någon som har lust att utveckla hur hårdvaru-baserad lastbalansering fungerar och vad det kostar?

I nuläget så ser det ut att vi kommer att lastbalansera via NginX på en dedikerad server.

Björklund 2009-05-11 16:54

Citat:

Originally posted by coredev@May 11 2009, 15:25

Eftersom jag är en mjukvaru-kille så säger detta mig rätt lite Någon som har lust att utveckla hur hårdvaru-baserad lastbalansering fungerar och vad det kostar?

Det går inte att säga då du inte vet vad du behöver. Det kostar från 500 kr till hur mkt som helst beroende på vad du behöver.


Alla tider är GMT +2. Klockan är nu 00:18.

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