网站访问慢,如何优化?

1.建立健全监控机制,使用合适的工具来进行问题的排查和定位,找出具体是什么步骤慢,是数据库访问慢,还是代码本身慢?

2.如果是数据库访问慢,进行数据库相关优化

3.如果是代码本身慢,分以下几种情况:

  1)锁开销过大,进行锁优化

  2)线程开销过大,进行线程池优化

      线程池实现方式:

        1.ThreadPoolExecutor,七种参数的含义:核心线程数,最大线程数,空闲时间,时间单位,线程工厂,任务队列,拒绝策略。两个常用api,execute和submit(区别,submit可以返回结果)

        2.ScheduledThreadPoolExecutor

        3.executors

  3)代码过于冗长,进行异步优化,把执行时间过长且不影响主流程的代码逻辑进行异步执行,从而提高主流程代码执行效率

      实现方式:

        1.创建线程

        2.线程池

        3.async注解,底层基于线程池(注意要在启动类上加上@EnabelAsync注解)

        4.消息队列

posted @ 2020-10-19 20:01  红嘴鲤鱼  阅读(180)  评论(0编辑  收藏  举报