I do not use any manual locking as I do not need atomic transactions.
So I think locking shouldn't be an issue.
I believe that the source of the problem is the big amount of queries
generated by the mass of users. And that's why i'm looking at shared
memory caching.