There's your problem: Prestashop :)
Kidding aside, I could take a look at your site and DB, maybe it's something wrong just on your prestashop, but the best solution would be to implement caching. Either at server level or at site level.
I'm not promising anything, if I fail, I will return the milestone payment.