Server Config for DB Server for Multisite

Here's my first question of the sorts for you guys, I've looked online, high and low for suggestion but not sure what to do here.

Looking for help from the WPMU guru's out there. We currently have a multisite setup with Nginx Webserver (4GB | 2 CPU) and a DB Server (2GB | 2 CPU) all running Ubuntu 12.04. I've noticed incredibly slow speeds regarding updating posts with the db server. I currently use digitalocean to host both servers. My gut feeling is that the config we have currently set for the db server could be increased to use more resources and improve load times with updating subsites in the backend. The loading of the front-end is fast having nginx especially with caching enabled, but backend administration may take 20+ seconds to load a page or longer.

I'm using the Multi-DB Plugin as well with 16 DB's setup FYI. Don't plan on having more than 100 sites but they'll be using alot of the webservers resources in sending email campaigns etc. I'm curious if there is a resource I could have my developer read on understanding how we should configure the DB server and down the road setup replication, and load balancing when its necessary.

Here's the config I have for mysql DB server-

[mysqld]
local-infile = 0
max_connections = 250
key_buffer = 64M
myisam_sort_buffer_size = 64M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 2M
max_heap_table_size = 16M
table_cache = 5000
thread_cache_size = 286
interactive_timeout = 25
wait_timeout = 7000
connect_timeout = 15
max_allowed_packet = 16M
max_connect_errors = 10
query_cache_limit = 2M
query_cache_size = 32M
query_cache_type = 1
tmp_table_size = 16M
[mysqld_safe]
open_files_limit = 4096
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M
[mysqlhotcopy]
interactive-timeout

Appreciate your time!