Hmm… defining server performance by it’s network speed is not the best. The server is at fault, and for most of us mortals ( on ADSL… ) is pretty irrelevant.
Also, your coding suggestions are based on absolutely no solid evidence. They also take into no account any of the caches that may be in place.
A quick test at cable speeds from Ireland ( it’s a node I know, and close to your target audience ) shows a TTFB of c. 1.5s which isn’t brilliant ( speed it important with an eCommerce site! ), but is a good starting point.
http://www.webpagetest.org/result/160223_P6_13D5/
I see that it’s an OpenCart / php 5.5 / nginx site, so there are things you ( or hexweb ) can do to improve things.
Basically:
MySQL wants to be configured with loads of memory to cache stuff. Also, it needs to be at a minimum version of 5.6.
PHP is running in FPM mode ( or at least I hope so, and it’s not one of these ‘apache behind nginx’ setups ), so give it a decent opcode cache, and play with alternatives: PHP 5.6 / 7 / hhvm to see if it improves things.
nginx can be sped up quite a lot, the open file cache can help a lot amongst many things.
After that, look ad reducing the amount of content that you’re delivering to the client. I see that there are a lot of web fonts included ( including one that doesn’t exist ). Do you need them all? As many are from 3rd party hosts you can’t control their performance… always a worry. Also, it should be possible to shrink the size of the images in use with no reduction in quality - a 1.4MB homepage shrinking to 500kb is good, although as the expires headers are set up, you’re only addressing the first visit to the site.
If you can get some profiling in place - say (briefly) install new relic - you’ll get some idea on where the bottlenecks are. Because you’ve got a LEMP stack, it does make it easier to identify the bottleneck. If overall PHP performance is the problem, then you need more CPU power ( the newer E5 Xeons are a lot faster due to their large on-die cache ), databases usually speed up with sensible use of extra memory to improve caching ( there are scripts out there on the net to aid in tuning it, don’t try and re-invent the wheel here! ).
Only then is it time to start pulling the code apart…
Cheers / MVG
Steve