Algoritmi di equilibrio HAProxy per Apache e MySQL

appena di recente sono responsabile di un progetto esistente che utilizza i server web Apache ei database MySQL.

Il server web si trova dietro un loadbalancer HAProxy e l'applicazione si connette agli slave MySQL tramite un'altra HAProxy.

2 del 10 webserver sono stati aggiunti appena di recente e sono più potenti di quelli vecchi. Lo stesso per gli slave MySQL: 2 di questi 5 slave hanno più RAM e CPU.

L'algorithm di bilanciamento per i server Apache è less conn e per gli slave è fonte . Alless le impostazioni per i server MySQL sono strano perché nel peggiore dei casi l'apache "migliore" (con il maggior peso) può sempre scegliere il server MySQL peggiore se capisco i documenti di HAProxy . Vorrei scegliere il roundrobin con i pesi rettificati:

  • 10 per i tre normali server MySQL
  • 20 per i due server MySQL più forti

E perché gli apache sono dietro l'HAProxy con un timeout di 20 anni, preferirei anche applicare roundrobin .

  • 10 per l'otto server Apache normale
  • 20 per il server Apache più potente

(Vorrei usare i 20 solo per un inizio. Vado a vedere il monitoraggio e lo farò adattare più tardi.)

Poiché i server sono in colocation (come in: non ho accesso root, le richieste di modifica richiedono un po 'di tempo) vorrei solo avere un secondo (o più) opinione su questo argomento: è una buona idea cambiare il bilanciamento algorithm per entrambi a roundrobin ? Non vorrei considerare questo se non ci sono stati problemi di performance appena di recente e questo è solo un posto che mi trovo vale la pena modificare.

Grazie per qualsiasi / tuo consiglio!

Saluti dennis

  • Qual è la configuration ottimale del server per l'inserimento più veloce in un database MySql in questo scenario?
  • Velocità RAID 0 InnoDB - confronto di unità 8 x 7.200 RPM o unità di 4 x 15.000 RPM
  • Chiunque usa MySQL Forks nella produzione
  • Se trasmetto i dati al mio computer utilizzando il suo nome host pubblico, effettua effettivamente l'accesso a Internet?
  • Replica di un modo da MSSQL2005 a MYSQL 5.x
  • Che tipo di server ho bisogno di gestire 10 milioni di richieste e di query MySQL al giorno?
  • Come posso sapere se ci sono tabelle innodb in un server mysql?
  • Stima di MySQL Query Runtime
  • One Solution collect form web for “Algoritmi di equilibrio HAProxy per Apache e MySQL”

    source è davvero una scelta strana, a less che i tuoi appserver non abbiano la persistenza di session con gli slave DB. Questo è per te per capire, però.

    leastconn è di solito una scelta molto buona se le performance di ciascun server (sia appserver che database) non sono assolutamente stabili. Ciò dipende dai dettagli della tua applicazione e della piattaforma. (Ad esempio, un appserver basato su Java può avere periodi di rallentamento a causa della raccolta di rifiuti, durante i quali è ragionevole diminuire il carico di bilanciamento.)

    Infine, sì, con roundrobin si otterrà solitamente un equilibrio molto prevedibile e stabile che aderisce strettamente ai pesi.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.