一、skywalking简介
官网:https://github.com/apache/skywalking
引用官网的架构:
二、部署OAP和UI
需使用的镜像


可以看日志是否正常(端口是否ok):kubectl logs pod/oap-9d459674b-8vndj -n skywalking
initContainers:- image: 192.168.16.156(个人IP)/skywalking/skywalking-agent-sidecar:v1.0 name: sw-agent-sidecar imagePullPolicy: IfNotPresent command: ["sh"] args: [ "-c", "mkdir -p /skywalking/agent && cp -r /usr/skywalking/agent/* /skywalking/agent", ] volumeMounts: - mountPath: /skywalking/agent name: sw-agent env: - name: JAVA_OPTS value: -javaagent:/usr/skywalking/agent/skywalking-agent.jar volumeMounts: - mountPath: /usr/skywalking/agent name: sw-agent
进入容器:kubectl exec -it product-78fcbdfd6b-mv2hl -n mm -- sh
可以看到,服务容器的目录下有skywalking-agent.jar
可以用top查看进程

2、仪表盘

五、利用skywalking 性能剖析
下面的截图是运行网上的积分兑礼物的代码例子
1.单场景
jmeter -n -t gift.jmx -l res.jtl -e -o res/

2.多场景

3、单压查询订单场景
tps在10-20

grafana监控结果

k8s监控面板

用skywalking链路追踪
可以选择持续时间和时间范围,发现慢查询

点击进去,查看详情,可以看到SQL

也可以拆解时间,查看拓扑图
查看网关服务,侦察端,订单服务



把对应的SQL拉出来分析
执行计划:explain select o.id,o.order_number,o.order_product_name,o.order_price,o.count,o.buy_date from orders o where o.order_number = 'n305udx6jqu2pjxt';

发现是扫全表,然后建索引。(这个只是例子,可以查看代码所以排查起来比较简单,可以和研发合作)
create unique index index_order_number on orders(order_number);
