SLB指标监控
视图预览阿里云 SLB 指标展示,包括后端 ECS 实例状态,端口连接数,QPS,网络流量,状态码等 版本支持操作系统支持:Linux 前置条件 服务器 <安装 Datakit> 服务器 <安装 Func 携带版> 阿里云 RAM 访问控制账号授权 RAM 访问控制 登录 RAM 控制台 https://ram.console.aliyun.com/users 新建用户:人员管理 - 用户 - 创建用户 保存或下载 AccessKey ID 和 AccessKey Secret 的 CSV 文件 (配置文件会用到) 用户授权 (只读访问所有阿里云资源的权限) 安装配置说明: 示例 Linux 版本为:CentOS Linux release 7.8.2003 (Core) 通过一台服务器采集所有阿里云 SLB 数据 部署实施脚本市场 登录 Func,地址 http://ip:8088 开启脚本市场,管理 - 实验性功能 - 开启脚本市场模块 **依次添加 **三个脚本集 观测云集成 (核心包) 观测云集成 (阿里云-云...
iowait的CPU使用率升高-大量不可中断进程和僵尸进程
进程的不可中断状态是系统的一种保护机制,可以 保证硬件的交互过程不被意外打断。所以,短时间的不可中断状态是很正常的。但是,当进程长时间都处于不可中断状态时,进程很可能因为得不到硬件的响应,而长时间处于不可中断状态。 从 ps 或者 top 命令的输出中 D 状态,也就是不可中断状态 (Uninterruptible Sleep)。 等待 I/O 的 CPU 使用率(以下简称为 iowait)升高,也是最常见的一个服务器性能问题。 Linux 进程状态查看–top 的 S 列top的输出里面,S 列(也就是 Status 列)表示进程的状态。 R 是 Running 或 Runnable 的缩写,表示进程在 CPU 的就绪队列中,正在运行或者正 在等待运行。 D 是 Disk Sleep 的缩写,也就是不可中断状态睡眠****(Uninterruptible Sleep) 不可中断状态,表示进程正在跟硬件交互,为了保护进程数据和硬件的一致性,系统不允 许其他进程或中断打断这个进程。进程长时间处于不可中断状态,通常表示系统有 I/O 性能问题。 保证进程数据...
netty高性能网络框架涉及的核心组件
https://www.processon.com/view/60ddbec51efad40c1bf0210d?fromnew=1
netty高性能网络框架原理
https://www.processon.com/view/608e06281e085376286d72ef?fromnew=1
pipeline解决Redis频繁命令往返导致的性能瓶颈
客户端和服务端交互模型 Redis 的 pipeline 交互模型 Redis pipeline 与原生批量mset等等命令对比 原生批量命令是原子性,pipeline 是非原子性的 原生批量命令一次只能执行一种命令,pipeline 支持批量执行不同命令 原生批命令是服务端实现,而 pipeline 需要服务端与客户端共同完成 需要注意: Redlis 事务是具有隔离性的,在执行过程中不会穿插执行其他客户瑞发送的命令 使用 pipeline 组装的命令个数不能太多,不然数据量过大 pipeline 会按照指令缓冲的顺序执行,但是可能会穿插其他客户端发送来的命令,即时序性不一定能够保证 pipeline 执行中间某一个指令出现异常,将会继续执行后续的指令,即不能保证原子性
presto配置
presto启动时默认配置文件目录在安装目录下的etc下 每个节点的配置在etc下创建node.properties文件,配置如下: 123node.environment=productionnode.id=ffffffff-ffff-ffff-ffff-ffffffffffffnode.data-dir=/var/presto/data node.environment: 集群名字,一个集群内所有的节点必须一致。 node.id: 节点id,每个节点同一集群内保持唯一。 node.data-dir:节点数据目录,数据目录用于存放日志和服务的pid。 服务配置presto server分为coordinator和worker,coordinator可以认为是master节点,worker可以认为是计算节点。配置时在etc下创建config.properties文件。 coordinator配置如下:12345678coordinator=truenode-scheduler.include-coordinator=falsehttp-server.http.port=8...
shell展开与shell数组
00 0 12 1101 1 13 702 0 14 103 0 15 704 1 16 604 1 17 506 6 18 407 3 19 408 1 20 109 14 21 010 2 22 011 5 23 0Total files = 80 12345678910111213141516171819202122232425262728293031当执行该 hours 程序时,指定当前目录作为目标目录。它打印出一张表显示一天(0-23小时)每小时内, 有多少文件做了最后修改。```bash#!/bin/bashusage () { echo "usage: $(basename $0) directory" >&2}# Check that argument is a directoryif [[ ! -d $1...
shell排错
shell排错常见语法错误=当做==1234567#!/bin/bashnumber=1if [ $number = 1 ]; then echo "Number is equal to 1."else echo "Number is not equal to 1."fi echo字符表达式丢失引号1234567#!/bin/bashnumber=1if [ $number == 1 ]; then echo "Number is equal to 1.else echo "Number is not equal to 1."fi 丢失或意外的标记删除 if 命令中测试之后的分号 12345678#!/bin/bash# trouble: script to demonstrate common errorsnumber=1if [ $number = 1 ] then echo "Number is equal to 1.&qu...
Spring踩坑二
Spring Webhttp 请求处理流程总览1234567@RestController public class HelloWorldController { @RequestMapping(path = "hi", method = RequestMethod.GET) public String hi(){ return "helloworld"; }; } 请求的 Path: hi 请求的方法:Get 对应方法的执行:hi() 那么,假设让你自己去实现 HTTP 的请求处理,你可能会写出这样一段伪代码: 1234567891011public class HttpRequestHandler{ Map<RequestKey, Method> mapper = new HashMap<>(); public Object handle(HttpRequest http...
shell高级
shell高级组命令和子 shellbash 允许把命令组合在一起。可以通过两种方式完成;要么用一个 group 命令,要么用一个子 shell。 组命令: 1{ command1; command2; [command3; ...] } 子 shell: 1(command1; command2; [command3;...]) 组命令用花括号把它的命令包裹起来,而子 shell 用括号。花括号与命令之间必须有一个空格,并且最后一个命令必须用一个分号或者一个换行符终止。 它们都是用来管理重定向的。 123ls -l > output.txtecho "Listing of foo.txt" >> output.txtcat foo.txt >> output.txt >>是追加 这些代码相当简洁明了。三个命令的输出都重定向到一个名为 output.txt 的文件中。 使用一个组命令,我们可以重新编 写这些代码 1{ ls -l; echo "Listing o...