Do I need tweak something for this MySQL setup?
Your questions come down to, basically, "Do I have a problem" and you go on to say at the moment no but not sure about the future.


  The site performance is quite OK but I'm not sure what the 256 MB key buffer indicates and if that is tannable in the long run or not.


I don't think anyone can suggest that there is or is not a problem here based on the fact that performance is currently ok but you are worried about long-term performance concerns.  Without knowing what sort of growth you are expecting nobody can give more than a guess.

So I am going to go a different approach and suggest that you need to start with a framework for determining whether you need to start thinking about optimizing/upgrading.  This seems the best way at this current point.


Your database looks like it fits in RAM.  Is it growing?  How fast?  How big is it?  When will it exceed 250M in size?  When will it exceed your server's RAM?
How many concurrent connections do you typically have?  How fast is this growing?


Once you have this sort of data  (and you really need to start with hard numbers here!) then it should be pretty straight-forward to determine whether you need to be thinking about capacity or performance tuning.  However as long as performance is good right now, then you have time to gather data, evaluate, and plan.

UPDATE BASED ON FEEDBACK

So the db doesn't fit in RAM.  It is apparently a virtualized server with only 512MB of RAM.  I don't think you need a larger system yet but it is worth keeping your eyes on the performance numbers.

The cache is going to be the MySQL page cache.  This is used to store frequently used parts of the database in memory.  Note that ALL of your select and update queries are currently hitting the cache.  Your inserts are not as expected.  This means you have enough ram reserved for the MySQL page cache to hold everything being queried in RAM.  While I had assumed it was the full db, actually unqueried portions of the db would not need to fit in RAM for these numbers.

You have a few options.  You could decide to get more RAM (and run tuner programs as @RolandoMySQLDBA suggests) when your cache utilization hits 90% or so.  You could upgrade things now with the idea you may likely need it.  Or you could be more conservative and wait for some read queries not to hit the cache on a consistent basis.  It depends on what you see as necessary performance.