The problem is that your request is not well defined. You say you want to monitor 'how much load it puts on the server', but that's not a single thing. Programs can cause i/o load, cpu load, network load, memory 'load' (ie. run out of memory), even interrupt load (if they interact with hardware), but all those things are then aggregated for efficiency by the kernel.
For instance, if your process uses a shared library that another program is using, which program does it count against? What if it uses a shared lib that isn't currently being used (and is therefore not loaded)? If two processes simultaneously request to load a shared library, which one does the disk i/o get charged against? What if those disk blocks were in readahead cache because a completely unrelated process happened to read a file that was 'nearby' on-disk ? An OS is an operating system... as such, it evinces complex interactions that don't necessarily allow individual parts to be analyzed separately.
Some things that will give you good info:
top will of course show you a ranked list based on some metrics, though read the manpage carefully for how things like memory accounting is done.
/proc/ is a kernel-mediated view of your process, including what filehandles it has open, what memory it's got mapped, all kinds of things. See the manpage for detailed info.
strace will trace the system calls a program makes so you can tell, to an extent at least, what it's doing. Again, the manpage has detailed info.