Domanda

Al momento abbiamo due server in una configurazione 1 + 1. 1 apache, 1 mysql. Sia dedicata con 32 core e 64GB di RAM. Con un catalogo 300K +. Magento EE 1.11

A seguito di Magento di 'Ottimizzazione per le massime prestazioni' Mi chiedevo che cosa sarebbe le specifiche del server ottimale se dovessimo aggiungere un proxy inverso, come vernice o nginx in base alla corrente 1 + 1 di installazione?

Nella guida le specifiche hardware di prova per tutti i camerieri erano:

  • CPU: 2 x Intel Xeon CPU E5645 @ 2.40GHz - 12 core, 24 fili
  • HDD: RAID1 - LSI MegaRAID SAS 9260-4i; 2 x 164GB SAS 15,000rpm
  • RAM: 24 GB ECC
  • Network Interface Card: Intel 1GB 82576

mi sento come l'aggiunta di un altro server con le specifiche del setup corrente è eccessivo. Tutto il proxy inverso sta facendo è distribuendo contenuto memorizzato nella cache e se qualcosa è dinamico si ottiene scendere su di Apache / PHP per l'elaborazione. Eventuali guide buoni o libri su questo argomento?

È stato utile?

Soluzione

Firstly, don't blindly read any guide (whether provided by Magento or not) and try to ascertain server configuration and server specification for your own deployment.

Their tests and results are entirely specific to their test conditions and not applicable to your own store.

Every Magento store is different

Beyond that, selecting hardware for your deployment isn't something anyone here can do with the information you have provided.

You haven't provided nearly enough information for a useful response.

  • How many visitors do you have per day peak
  • How many visitors do you have per hour peak
  • Do you offer digital downloads
  • What amount of transit are you currently peaking at (in Mbps)
  • What proportion of web traffic is SSL and none SSL
  • How long are you prepared to keep stale items in a cache

For a reverse proxy, you need ...

  • Proportional amount of RAM for your cache stores (min 4GB)
  • Standard disks (disk I/O is not relevant)
  • High end network card (to reduce interrupts, improve latency & throughput)
  • Proportional amount of CPU cores to traffic level
  • Optional. SSL hardware decryption

Our advice

Don't bother. At the moment, your deployment already has flaws

  • 2 single points of failure
  • Bottlenecked MySQL throughput over network
  • Too few cores in web server
  • Too many cores in DB server
  • Over specified HDDs in web server
  • Under specified HDDs in DB server

Believe it or not, Magento runs better on a single machine up until you hit the limits of vertical scaling, because the bottleneck of MySQL being on a high latency remote machine constrained over whatever you network speed is - is far higher than having it on the same system and having RAM speed throughout.

Don't get me wrong, there's certainly a tipping point where multi-purposing 1 machine creates its own contention issues; but 32 cores is a fairly small ceiling of load.

If you still press ahead

A Varnish cache for a low traffic site (anything under 200k unique visitors per day) doesn't usually need more than 2GB RAM and a 1 core CPU - with low end HDDs. But for you, it may as well just be on your web server anyway - it wouldn't draw any resources, and by putting it on a third machine - you'll now have 3 single points of failure and even more network activity bottlenecking your throughout.

Take that paper with a pinch of salt - it is a marketing exercise from Peer 1 and the majority of it is not correct.

Altri suggerimenti

In my experience any VPS (not OpenVZ) with 512MB of RAM and 1 or 2 cores should be enough for an nginx proxy for most users. Step up to 1GB and the proxy will easily handle 10Mbit/s of mixed http/https cached/dynamic content traffic. Unless there is a specific reason not to you can/should just run it on the same server as Apache and if anything it will be a small net decrease in resource usage.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top