Dear Fuqiang,
Thank you for providing all the necessary details! I have edited your post to prevent other people from logging into your site. Please be careful while providing access data (especially the root password), as this is a publicly accessible forum. Please use the private details box to privately share login data.
From what I can see, even an 8-core Xeon with 8 GB of RAM you are using will not be able to handle this type of request. With ~300.000 items divided into ~10 CPTs and while using a parametric query, this is way too much, with or without a filter. I have disabled the filter you have added and it does not change anything.
I would suggest rethinking of the site structure and reimplementing the View in a different way. Here are some ideas:
* instead of using CPTs for each type of product, use a Taxonomy
* use one View for displaying one type of items, i.e. split one large View into many and try them one by one
A site of this size often requires a different approach as CMS such as WordPress may have trouble handling such a large database without special modifications.
Please let me know if you are satisfied with my answer and if I can help you with any other questions you might have.
Regards,
Paweł