Optimization of variables in my.cnf (mysql) for Drupal
Your config looks pretty good. If you have 16 GB of ram and it is a dedicated server for Mysql, then I would bump innodb to 8GB. 
Mysql will also need to "warm up" which is the time is takes to start caching the most frequently used tables. Depending on your application, query cache might not be useful. (I would turn if off). Make sure to turn on Slow Query log, set long query to 5 sec. If nothing shows up after a day or two, set long query to 3 sec.
with a 8GB innodb_buffer, you should be able to handle a database size > 20GB.
You can always increase the innodb buffer pool but it will require a restart.

slow-query-log          = 1
slow-query-log_file     = /mysqldb/logs/.hostname..-slow-query.log
long_query_time         = 5
log_slow_verbosity      = full