SkyWalking的学习之二(性能优化以及log)
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)的更多相关文章
- Android开发学习之路--性能优化之常用工具
android性能优化相关的开发工具有很多很多种,这里对如下六个工具做个简单的使用介绍,主要有Android开发者选项,分析具体耗时的Trace view,布局复杂度工具Hierarchy Vie ...
- Android开发学习之路--性能优化之布局优化
Android性能优化方面也有很多文章了,这里就做一个总结,从原理到方法,工具等做一个简单的了解,从而可以慢慢地改变编码风格,从而提高性能. 一.Android系统是如何处理UI组件的更新操作的 ...
- ORACLE数据库学习之SQL性能优化详解
Oracle sql 性能优化调整 ...
- MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询
本篇深入了解查询优化和服务器的内部机制,了解MySql如何执行特定查询,从中也可以知道如何更改查询执行计划,当我们深入理解MySql如何真正地执行查询,明白高效和低效的真正含义,在实际应用中就能扬长避 ...
- Android学习笔记之性能优化SparseArray
PS:终于考完试了.来一发.微机原理充满了危机.不过好在数据库89分,还是非常欣慰的. 学习内容: 1.Android中SparseArray的使用.. 昨天研究完横向二级菜单,发现其中使用了Sp ...
- IOS学习笔记45--UITableView性能优化
说实话,面试的时候已经被问到几次这个问题,然后就搜索了一下,看到了这篇优化文章,感觉不错,转来日后作为一种UITableView优化的方法. 使用不透明视图. 不透明的视图可以极大地提高渲染 ...
- 移动端 CPU 的深度学习模型推理性能优化——NCHW44 和 Record 原理方法详解
用户实践系列,将收录 MegEngine 用户在框架实践过程中的心得体会文章,希望能够帮助有同样使用场景的小伙伴,更好地了解和使用 MegEngine ~ 作者:王雷 | 旷视科技 研发工程师 背景 ...
- Android性能优化学习
工作以来,越来越觉得性能优化的重要性,从技术角度,它甚至成了决定一个app成败的最关键因素.因此,特地花时间去学习专研性能优化的方法. 学习性能优化最便捷的方式便是研读别人有关性能优化的博客,然而网上 ...
- PLSQL优化基础和性能优化 (学习总结)
PLSQL优化基础和性能优化 (学习总结) 网上有一篇关于PLSQL优化的文章,不错,个人根据自己的经验再稍加整理和归纳,总结PLSQL优化和性能调优 适合有一定PLSQL基础,需要进一步提高的学友看 ...
- Android 性能优化 SparseArray【转载】
原文地址:Android学习笔记之性能优化SparseArray 学习内容: 1.Android中SparseArray的使用.. 昨天研究完横向二级菜单,发现其中使用了SparseArray去替 ...
随机推荐
- Ubuntu修改root可以远程ssh
默认情况下,Ubuntu系统不允许root远程登录,新建的系统root密码为随机密码,你不会知道首次ssh登录需要用自建用户远程登录,登录后提示如下: seafile@seafile:~$ 是以 ~ ...
- AnimatedList 实现动态列表
AnimatedList实现动画 AnimatedList 和 ListView 的功能大体相似,不同的是, AnimatedList 可以在列表中插入或删除节点 时执行一个动画,在需要添加或删除列 ...
- 企业研发治理转型利器:华为云发布流水线服务CodeArts Pipeline
摘要:2月27日,华为云正式发布流水线服务CodeArts Pipeline,旨在提升编排体验,开放插件平台,以及提供标准化的DevOps企业治理模型,将华为公司内的优秀研发实践赋能给伙伴和客户. 本 ...
- 实践丨GaussDB(DWS)资源管理排队原理与问题定位
摘要:GaussDB(DWS)提供了资源管理功能,用户可以根据自身业务情况对资源进行划分,将资源按需划分成不同的资源池,不同资源池之间资源互相隔离. 本文分享自华为云社区<GaussDB(DWS ...
- 详解GaussDB(DWS)的CPU资源隔离管控能力
摘要:GaussDB使用cgroup实现了两种cpu管控能力,基于cpu.shares的共享配额管控和基于cpuset的专属限额管控. 本文分享自华为云社区<GaussDB(DWS)的CPU资源 ...
- 华为海外女科学家为您揭秘:GaussDB(for MySQL)云栈垂直集成的力量有多大?
摘要:让数据库性能UP!UP!UP!华为云GaussDB(for MySQL)是这样做的 本文分享自华为云社区<华为海外女科学家为您揭秘:GaussDB(for MySQL)云栈垂直集成的力量有 ...
- Linux IPTables:如何添加防火墙规则
摘要:本文介绍了如何使用"iptables -A"命令添加 iptables 防火墙规则. 本文分享自华为云社区<Linux IPTables:如何添加防火墙规则(使用允许 ...
- M-SQL:超强的多任务表示学习方法
摘要:本篇文章将硬核讲解M-SQL:一种将自然语言转换为SQL语句的多任务表示学习方法的相关论文. 本文分享自华为云社区<[云驻共创]M-SQL,一种超强的多任务表示学习方法,你值得拥有> ...
- 接通率维持 66% 以上,为什么火山引擎 VeDI 能让企业智能外呼不再难?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 智能机器人在企业级市场的应用更加深入了. 随着人工智能技术的进一步发展,包括智能外呼.财务审核.自助客服等在内的智 ...
- MySQL 创建存储过程注意项
MySQL server version for the right syntax to use near 'IF' MySQL server version for the right synta ...