First put more RAM in there. RAM prices are dirt cheap and that will give you the biggest instant boost in performance.
RAM is not just for mysql but for the webserver and file caching. Up it to 16GB or even 12GB and you will notice a difference.
But it looks as if you are runing 32-bit MySQL. This could be a problem. Check with your hoster what type of O/S you have.
[--] Data in MyISAM tables: 3G (Tables: 1218)
[--] Data in InnoDB tables: 47M (Tables: 27)
Do you really need InnoDB? What are the 27 tables that are using it? If this is just the default MySQL install with the performance_schema, test tables etc then convert them to myiasm and disable innodb om startup.
[!] Allocating > 2GB RAM on 32-bit systems can cause system instability
That's what I mean about the 32-bit / more RAM
[OK] Highest usage of available connections: 6% (200/3000)
Do you ever hit 3000 connections? If not lower it.
[OK] Key buffer size / total MyISAM indexes: 8.0M/1.4G
That is so wrong! The Key buffer size should match the total MyISAM indexes. Ideally you need to make this 1.4G.
Are you using swap memory?
Can you tune the webserver memory?
General tweaks and optimisations for the O/S? e.g. set noatime on the partitions