Hi Tuan,
The main issue with your site seems to be on the server side. It takes an extremely long time for any response to come back from the server. I ran your site through
webpagetest.org, and you can see the waterfall charts at this link
Notice how long that first bar is. in the chart. That is the time the browser is waiting for your server to send data back to it. Over 13 seconds. It is not a bandwidth issue or because I am probably far away from your server (in the USA), because that response is only 12.4 KB.
So something is going on on your server in creating that page that is taking a very long time. Not sure if you are doing database queries or some other long operation in that page, but you need to scrutinize that code and figure out what is taking so long. There are other items that can be improved after that, but getting what is happening on the server fixed is by far the most important thing for you to concentrate on.
PageSpeed Insights is focused on front end performance issues, things in HTML, JS and your images. Your problem is a backend issue, somewhere in your PHP code or maybe in a database or service you are talking to. So get that under control, and then come back and run PageSpeed Insights
Good luck!