一个请求发出之后,需要等待比较长的时间,才能得到完整的响应。针对这种情况,我们需要怎么考虑呢?从软件和硬件的层面来说分为以下几点:
一、Web前端性能优化
1.优化浏览器的访问,主要包括:减少HTTP的请求数,像各种css、js和图片能合并就合并;使用浏览器缓存;压缩页面等。
2.使用CDN加速,缓存各种静态资源。
3.使用反向代理。
二、应用服务器性能优化
1.优化我们的代码,改善设计等。
2.使用分布式缓存,将那些读写比很高并且很少变化的数据存储到内存中(如:使用redis)。
3.如果对实时性没有要求,尽可能使用异步操作,可使用消息队列(如:RabbitMQ、RocketMQ等)实现。
4.使用集群,将并发请求分发到多个机器上。
三、存储性能优化
1.数据库方面可以考虑读写分离、分库分表等;另一方面,创建一些合适的索引。
2.复杂查询用搜索引擎(如:ElasticSearch等)实现。
3.使用分布式存储等。