There is something you are not taking into account.
- MyISAM caches index pages into the Key Cache
- InnoDB caches data and index pages in the Buffer Pool
- I wrote a post about this : http://dba.stackexchange.com/questions/1/what-are-the-main-differences-between-innodb-and-myisam/2194#2194What are the main differences between InnoDB and MyISAM?
466092032 you gave is just the number of bytes taken by indexes. The InnoDB Storage Engine is moving data and index pages (each InnoDB page is 16K) in and out of the Buffer Pool due to its small size and the amount of data you are not accounting for.
- Increase the VPS RAM enough to fully accommodate your data.
- Lower the read and write threads since you are in a VPS
- Disable the query cache because it slows down InnoDB : See my post http://dba.stackexchange.com/questions/23699/is-the-overhead-of-frequent-query-cache-invalidation-ever-worth-it/23727#23727Is the overhead of frequent query cache invalidation ever worth it?