As of moving over hugepic.io to my new EC2 server I now have all my working sites all under one server.
If I list all sites in
/etc/nginx/sites-enabled/ I count 14 sites. This blog being one of many. More listed here.
All but one of these services are Python. One is a Node server. About half of the Python services are Django and the other half is Tornado. There are four persistant databases (Postgres, Redis, Memcache, MongoDB) and two message queues (RabbitMQ and Python RQ).
I have this little script called ps_mem.py which does a decent job summorizing how much memory all of these take. Its output currently looks like this:
Private + Shared = RAM used Program ... 6.5 MiB + 27.3 MiB = 33.7 MiB postgres (5) 40.1 MiB + 58.0 KiB = 40.1 MiB memcached 54.7 MiB + 37.5 KiB = 54.7 MiB redis-server 72.2 MiB + 849.0 KiB = 73.1 MiB mongod 82.4 MiB + 1.5 MiB = 83.9 MiB rqworker (10) 605.6 MiB + 350.9 MiB = 956.5 MiB python (61) 1.9 GiB + 51.2 MiB = 2.0 GiB uwsgi-core (26) --------------------------------- 3.3 GiB
It's sorted by "RAM used" and I just showed here the bottom 7 ones.
Anyway, 3.3 Gb to run 14 sites isn't bad. All through one Nginx (which only uses 10Mb by the way).
The server is a Debian 7 on a reserved Large instance. I'll try to post an update later about this server with more details. I have a lot of work to do to set up all monitoring and backups for all these things.