Prefazione: non iniziare una discussione sull'ottimizzazione prematura o su qualsiasi argomento correlato. Sto solo cercando di capire che tipo di prestazioni posso ottenere da un singolo server con rail.Sono 100 o meno richieste al secondo (per pagine non memorizzate nella cache) cosa ci si può aspettare da Rails?
Sono stato benchmarking ruby su rails 3 e sembra che il più alto tasso di richieste al secondo che posso ottenere è di circa 100 richieste al secondo.
Ho utilizzato il passeggero di phusion con nginx e Ruby 1.8.7.
Questo è su un'istanza EC2 m1.large:
7.5 GB memory
4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each)
850 GB instance storage
64-bit platform
I/O Performance: High
API name: m1.large
la pagina è stata una semplice azione che ha scritto una sola riga in mysql.
user = User.new
user.name = "test"
user.save
Io parto dal presupposto senza il caching (memcache, ecc), voglio solo per ottenere un tatto per i numeri grezzi.
Ho utilizzato il banco apache sulla stessa istanza di ec2 e ho utilizzato diversi livelli di # di richieste (da 1000 a 10000 e numero variabile di richieste simultanee 1/5/10/25/50/100).
Bene, se hai già eseguito i test e non sei interessato alle ottimizzazioni, qual è la domanda effettiva? – deviousdodo
Su un server dedicato (Ubuntu 11.04, Dual Xeon E5620, 12GB RAM) che esegue Unicorn (8 worker) dietro nginx, ottengo circa 1.200 richieste/sec (su una pagina senza hit del database). –
@Dylan grazie !, so che il passeggero di Phusion scala automaticamente a più operai dietro le quinte, forse non ha dato il calcio d'inizio per qualche motivo? – codecompleting