流量优化:防盗链,防爬虫。
前端优化:合并ajax请求,合并css或js,压缩css、js和图片,允许浏览器缓存,使用CDN加速,建立独立图片服务器,页面静态化。
后端优化:使用orm框架中的缓存,使用内存数据库做数据缓存,长时间的任务使用多线程异步处理(消息队列、任务队列),限制过多的请求访问(请求队列,发放令牌)。
数据库优化:数据库缓存,分库(没有关联的表可以分到不同数据库),分表(水平分表、垂直分表),数据库读写分离,数据库集群, 修改并发线程数量个数,修改最大连接数。
SQL优化:适当建立并使用索引,避免全表扫描,MySQL分页优化,尽量减少连接数据库次数,只查询需要的字段,减少连接查询的连接个数,尽量使用内连接代替其他连接查询,适当冗余字段可以提升查询效率,设计表时不使用外键,避免一次查询大量数据(数据量大一定要分页),将复杂的操作封装到数据库的存储过程或方法中。
硬件优化:提升服务器硬件配置,增加服务器数量,提升服务器宽带。
架构优化:做集群、分布式将压力分摊到多台服务器,做负载均衡合理利用每一台服务的资源。
JVM优化:修改参数,提高JVM内存。
web服务器优化:修改配置,提高web服务器处理效率,如tomcat开启nio,调整最大连接数。