SkyWalking的学习之二(性能优化以及log)


背景

周六在家学习了SkyWalking的交单部署和agent的方式获取日志.
万恶的周天上班到公司发现出现了宕机. 具体原因是我想进行SkyWalking的处理时的logback的配置文件出现了异常.
今天还发现了很多别的问题,比如启动太慢,是不是的卡顿等.
想着今天晚上继续整理一下, 优化自己的学习.

性能优化

SkyWalking 的默认内存堆区非常小, 只有 512M
我这边有一个接近30个微服务的场景, 运行一会儿之后就会导致卡顿
所以需要进行优化.
按照我对性能朴素的理解, 需要加大堆区可以进行尝试.
第二步是不适用h2换用其他的工具.进行存储.
修改内存的方法为: vim apache-skywalking-apm-bin/bin/webappService.sh
大概是第 23行, 将-Xms和-Xmx修改为 24G左右. 避免出现大量的GC 以及
vim apache-skywalking-apm-bin/bin/oapService.sh
大概也是第 23行, 将-Xms和-Xmx修改为 24G左右. 避免出现大量的GC 可以修改:
vim apache-skywalking-apm-bin/config/application.yml
内的端口指定非标准端口, 便于使用.

抓取日志-1

因为我们产品其实使用的是logback
skywalking 其实是支持抓取logback的日志的.
所以准备采用一下logback进行相关的处理 因为我这边的岗位没有具体的代码以及pom权限, 所以我只能通过maven仓库获取文件进行替换的方式.
具体的方法为:
将依赖的jar包放到产品的 runtime/3rd 目录下面.
https://repo1.maven.org/maven2/org/apache/skywalking/apm-toolkit-logback-1.x/8.9.0/ 其实本质是利用一般群里的pom依赖进行处理:
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>{skywalking.version}</version>
</dependency>

抓取日志-2

添加了 第三方jar包之后需要修改 logback的配置文件:

增加上一段信息:
<appender name="skywalking" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level logger_name:%logger{36} - [%tid] - message:%msg%n</pattern>
</layout>
</encoder>
</appender> 然后 注意这个是需要添加进来的不是需要新增一行.
<root level="ERROR">
<appender-ref ref="skywalking" />
</root>

抓取日志-3

增加了jar包,修改了配置文件
还需要修改一下 skywalking 的agent的配置.
vim skywalking-agent/config/agent.config
如果没有, 需要增加如下内容, 如果要dump到其他服务器, 需要修改一下 HOST的信息.
以及端口信息, 保证能够将日志正确的打进来. # 指定要向其报告日志数据的GRPC服务器主机
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:10.110.139.xxx}
# 指定要向其报告日志数据的GRPC服务器端口
plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}
# 指定GRPC客户端要报告的日志数据的最大大小
plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760}
# 客户端向上游发送数据时将超时多长时间,单位是秒
plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}

SkyWalking的学习之二(性能优化以及log)的更多相关文章

  1. Android开发学习之路--性能优化之常用工具

      android性能优化相关的开发工具有很多很多种,这里对如下六个工具做个简单的使用介绍,主要有Android开发者选项,分析具体耗时的Trace view,布局复杂度工具Hierarchy Vie ...

  2. Android开发学习之路--性能优化之布局优化

      Android性能优化方面也有很多文章了,这里就做一个总结,从原理到方法,工具等做一个简单的了解,从而可以慢慢地改变编码风格,从而提高性能. 一.Android系统是如何处理UI组件的更新操作的 ...

  3. ORACLE数据库学习之SQL性能优化详解

                                                                                    Oracle  sql 性能优化调整 ...

  4. MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询

    本篇深入了解查询优化和服务器的内部机制,了解MySql如何执行特定查询,从中也可以知道如何更改查询执行计划,当我们深入理解MySql如何真正地执行查询,明白高效和低效的真正含义,在实际应用中就能扬长避 ...

  5. Android学习笔记之性能优化SparseArray

    PS:终于考完试了.来一发.微机原理充满了危机.不过好在数据库89分,还是非常欣慰的. 学习内容: 1.Android中SparseArray的使用..   昨天研究完横向二级菜单,发现其中使用了Sp ...

  6. IOS学习笔记45--UITableView性能优化

    说实话,面试的时候已经被问到几次这个问题,然后就搜索了一下,看到了这篇优化文章,感觉不错,转来日后作为一种UITableView优化的方法. 使用不透明视图.      不透明的视图可以极大地提高渲染 ...

  7. 移动端 CPU 的深度学习模型推理性能优化——NCHW44 和 Record 原理方法详解

    用户实践系列,将收录 MegEngine 用户在框架实践过程中的心得体会文章,希望能够帮助有同样使用场景的小伙伴,更好地了解和使用 MegEngine ~ 作者:王雷 | 旷视科技 研发工程师 背景 ...

  8. Android性能优化学习

    工作以来,越来越觉得性能优化的重要性,从技术角度,它甚至成了决定一个app成败的最关键因素.因此,特地花时间去学习专研性能优化的方法. 学习性能优化最便捷的方式便是研读别人有关性能优化的博客,然而网上 ...

  9. PLSQL优化基础和性能优化 (学习总结)

    PLSQL优化基础和性能优化 (学习总结) 网上有一篇关于PLSQL优化的文章,不错,个人根据自己的经验再稍加整理和归纳,总结PLSQL优化和性能调优 适合有一定PLSQL基础,需要进一步提高的学友看 ...

  10. Android 性能优化 SparseArray【转载】

    原文地址:Android学习笔记之性能优化SparseArray 学习内容: 1.Android中SparseArray的使用..   昨天研究完横向二级菜单,发现其中使用了SparseArray去替 ...

随机推荐

  1. MySQL部署后配置

    授权root用户登录 #仅本地登录,修改密码用 alter user root@'localhost' identified with mysql_native_password by'******* ...

  2. 关于腾讯地图geolocation.getLocation 经常定位失败,定位时间过长的解决方法

    今天遇到个项目,腾讯地图定位出现问题,导致地图无法呈现出最近的目标 这是正常的效果,之前一直出现贵州等地点的信息,查看控制台的网络后,发现腾讯的定位失败,要么就是定位时间过长,要20S左右,但是换ED ...

  3. yml与json互转、yaml转json、json转yml

    yml与json互转.yaml转json.json转yml 使用jackson下的格式化模块实现 依赖: <dependency> <groupId>com.fasterxml ...

  4. c++ 期末编程题

    1. 计算两点之间的距离 #include <iostream> #include <cmath> using namespace std; int main() { int ...

  5. CodeForces 1009E Intercity Travelling 概率DP

    原题链接 题意 给我们一个长为n的序列,要求我们从头开始向右走n个节点,每个位置都有1 / 2的概率将我们传送回1号点之前,不过我们只需要完成走n步的任务就可以了.求我们走过的元素和 乘以 2的n - ...

  6. HDU 4705 立方和拆解

    HDU 4705 立方和拆解 题意 给一棵树,找出所有的(A,B,C)三元组的数量,满足ABC不能同时被一条路径覆盖 思路 首先可以明确的是,对于每个入度大于等于3的点(也就是有两个或以上儿子的节点) ...

  7. 实证与虚无,抽象和具象,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang接口(interface)的使用EP08

    看到接口这两个字,我们一定会联想到面向接口编程.说白了就是接口指定执行对象的具体行为,也就是接口表示让执行对象具体应该做什么,所以,普遍意义上讲,接口是抽象的,而实际执行行为,则是具象的. 接口(in ...

  8. 资源成本降低70%!华为MetaERP资产核算的Serverless架构实践

    本文分享自华为云社区<资源成本降低70%!华为MetaERP资产核算的Serverless架构实践>,作者: 华为云PaaS服务小智. 资产核算是指在一定的财务周期,对企业拥有的房屋建筑物 ...

  9. 实战案例丨使用云连接CC和数据复制服务DRS实现跨区域RDS迁移和数据同步

    摘要:实践案例展示如何使用云连接CC和数据复制服务DRS实现跨区域RDS迁移和数据同步. [业务场景及诉求] 希望将不同区域"华北-北京四"的rds与"亚太-新加坡&qu ...

  10. 2023开发者必备iOS开发工具

    ​ 2023开发者必备iOS开发工具 工欲善其事,必先利其器.进行开发工作时,利用并熟练使用恰当的工具可以让工作效率得到大幅度提高.下边会介绍一些在进行iOS开发工作时常用的一些工具,本文并不对其进行 ...