wsl、Prometheus、grafana、性能瓶颈分析

感觉学着没啥意义,有时候面试又问。

一、wsl

  wsl解释看百度百科,主要是不想再花钱买云服务器了。为了有一个linux环境,方便学习

  1、找到Windows功能,勾选

             

  2、管理员运行终端

           

  3、运行命令(默认安装ubuntu):wsl  --install

    中途输入linux系统的用户名和密码

    最后按照提示重启

  4、点击ubuntu即开始进入linux系统

       

二、Prometheus

  官网文档:Getting started | Prometheus

    更新软件包列表:sudo apt update。
    安装:sudo apt install prometheus。【配置文件在/etc/prometheus/prometheus.yml】
    启动:sudo systemctl start prometheus。
    自启动:sudo systemctl enable prometheus。
    默认的Web界面(localhost:9090)来查看监控数据。

  exporter组件:用于收集不同类型服务的指标数据,如Node Exporter、MySQL Exporter、Redis Exporter等
  下载地址:https://prometheus.io/download/

三、grafana

  官方文档:Grafana documentation | Grafana documentation

    https://grafana.com/grafana/download?edition=oss
    # sudo apt-get install -y adduser libfontconfig1 musl
    # wget https://dl.grafana.com/oss/release/grafana_10.4.2_amd64.deb
    # sudo dpkg -i grafana_10.4.2_amd64.deb
    # sudo /bin/systemctl start grafana-server
    # sudo /bin/systemctl daemon-reload                守护进程重载
    # sudo /bin/systemctl enable grafana-server        自启动
    默认的Web界面(localhost:3000

 创建Dashboard

  1、创建datasources(http://localhost:3000/connections/datasources/new

    选择数据来源:Prometheus

 

     根据实际情况填写,鉴权什么的我都没设置过,只填写了下图这些(name随便填)。然后点击最下面的save&test,没问题的话会提示成功了                  

  2、创建dashboard(http://localhost:3000/dashboard/import

    见截图,三种方式。我是点击第二种方式后面那个链接

     链接点进来就可以看到下图的各种dashboard,我自己是只装了node exporter,所以点击下图标记的那个dashboard;

    点击node exporter后,在新页面Copy iD to clipboard  或 Download JSON;我复制了id,然后填进上图第二种方法的输入框,点击load

    之后选择自己创建的数据源,点击import;也可以修改name

     效果

 四、性能瓶颈分析

  1、系统架构分析:查看整个系统的架构,了解各个组件之间的关系和交互方式,从而确定可能存在的性能瓶颈。
  2、响应时间分析:通过监控系统的响应时间,分析各个模块或接口的响应时间,找出响应时间较长的部分,进一步分析原因。
  3、资源利用率分析:查看系统的CPU、内存、磁盘、网络等资源的利用率,找出资源利用率较高的部分,分析是否存在资源瓶颈。
  4、日志分析:通过分析系统的日志文件,了解系统的运行情况和错误信息,从而找出可能存在的性能瓶颈。
  5、工具分析:使用一些专业的性能分析工具,如JProfiler、VisualVM等,对系统进行性能分析,找出可能存在的性能瓶颈。
  分析性能瓶颈需要综合考虑多个因素,包括硬件、软件、网络等方面,同时还需要结合具体的业务场景和需求进行分析。
  因此,在进行性能瓶颈分析时,需要具备一定的系统架构和性能调优经验,同时还需要不断学习和探索新的方法和技术。

  数据库性能:jmeter也可以测试;
  redis:自带的benchmark
  rabbitmq:rabbitmq-perf-test,模拟多个生产者或消费者向RabbitMQ发送或接收消息,从而测试RabbitMQ的性能指标

        1、TPS波动较大:资源限制、锁竞争、网络波动、垃圾回收占用大量系统资源
        2、负载不均衡:    使用负载均衡工具、节点配置相似
        3、高并发下大量报错:资源限制(如CPU、内存、磁盘空间、网络带宽等)
                             代码问题(数据库连接没有正确关闭、内存泄漏、死锁等)
                             外部服务故障
        4、并发数不断增加,TPS上不去,CPU使用率较低:索引、SQL、代码中设有同步锁
        5、压测过程中TPS不断下降,CPU使用率不断降低:可能是压测工具问题
        优化代码和资源、增加监控、备份和容错

 

posted @ 2024-04-14 16:15  whitewall  阅读(10)  评论(0编辑  收藏  举报