[Speed] Ideas for speed.python.org
Da_Blitz
pypy at pocketnix.org
Mon Jul 11 16:25:58 CEST 2011
Hi
i have been watching speed since it was announced and was expecting
some form of rough plan for the server would be discussed but haven't
seen one proposed to date. since no one has got the ball rolling i
thought i would put some questions out there to get it all started
What sort of raid level will be used with the server, raid10? raid5?
How is the hard drive going to be divided up?
Any opinions on what OS should be installed?
What services need to be running
What services need to be remotely accessible
is there any other infrastructure we need to integrate to? eg ldap for logins (unlikely but worth asking)
what are we doing about turbo boost? disabling in the BIOS or just leaving it in there
Who will need regular accesses to the box?
what is the box for besides benchmarking, will we allow users to log on and run their own compile jobs?
to answer some of my own questions:
Personally i think raid5 should be sufficient i don't see IO being a
significant bottle neck and having 900GB vs 600GB may be an advantage
down the road. raid 6 was ruled out as there are only 4 drives in the
machine. there should be 2 unused hard drive slots we can use in the
future if we need to. IIRC there is online raid5 -> raid6 migration
code in the MD device subsystem but i can confirm that if anyone needs
me to
as for hard drives, i am a fan of LVM as long as its don't right. VG
name being <system name>-<Year><Month><day><count> where count is the
install number for the day. if you don't do it this way you WILL have
issues when the machine crashes and you need to plug those drives into
another machine with the same hostname. as for partitioning, 10-15GB
for / is normally sufficient. a couple of GB's for log files
(/var/log) to avoid a misconfigured logrotate cron job from eating all
the disk space (seen this more times than i want to count in
production). 5GB for /tmp and the remaining space apart from 20GB
allocated to /home
the reason for the 20GB of "slosh" space is so that if something does
fill up and you cant afford to delete it you can resize the partition
and then extend the filesystem while the machine is still running
(only works on some filesystems and as such i would recommend only
using a filesystem with only resize, online shrinking is not a high
priority as one may think).
another tactic i have seen is a separate partition to install
daily/weekly backups (eg /backups) that are rsyncd to a remote server.
cheap and effective.
as for OS choice i assume that means ubuntu for 90% of the people on
this mailing list, this is basically a matter of personal preference
but if anyone has specific constructive comments then i recommend
mentioning it
that covers most of the presetup work that cant be changed easily at
another date
is this just a benchmarking server, or a server people can also log
into and use as a generic build machine? i always assumed that one
socket would be used to benchmarking and the other socket would be
given over to normal users who needed a machine with a bit more speed
as it is some nice hardware and it would be a shame to see it go to
waste. this leads into the next question of who needs access to the
machine and what level of accesses do they need.
remotely accessible serveries, i know apache was mentioned and someone
wanted something a tiny bit more light weight. as long as you tune it
apache is fine, we used to run 2000+ domains on machines with a
quarter as much ram and only 2 cpus and still had them humming along
with no issue. i would doubt you would hit the kind of traffic to that
machine that would justify not using the default config and would put
this as premature optimization. if you still want to look at
alternatives, i have had experience with nginx. on my machine it only
uses about 2MB but i would have to recommend lighttpd due to its cgi
support and its fcgi process support (no external monitoring app
required for fcgi processes unlike nginx)
i know someone mentioned doing some virtualisation which i assume by
that they meant xen or virtual box. the cgroups support is one half of
the light weight virtualisation stack for linux (the resource counting
part) with LXC being the other half. but full virtualisation is
something that should also be discussed.
i will stop here as my original list of "points to be discussed" came
to about 50 items and even then i would have considered that a short
list for server deployment, hopefully someone has some more input or
if people like these ideas i can start putting this together as a more
concrete list of things that need to get done
Man with a plan
Da_Blitz
More information about the Speed
mailing list