Debian 爱好者社区 为您找到相关结果 570

中芯国际2200万豪宅留下梁孟松 明年量产N+2工艺

年多,几乎从未休假,在其带领的2000多位工程师的尽心竭力的努力下,完成了中芯国际从28nm到7nm工艺的五个世代的技术开发。据梁孟松透露,目前中芯国际的“28nm、14nm、12nm及N+1等技术均已进入规模,7nm技术的开发也已经完成,明年四月就可以马上进入风险。5nm和3nm的最关键、也是最艰巨的8大项技术也已经有序展开, 只待EUV光刻机的到来,就可以进入全面开发阶段”。当然,7工艺以下的先进工艺现在还只是技术研发,没法,因为缺少关键的EUV光刻机设备。目前中芯国际已经完成了14nm工艺1.5万片晶圆/月的能建设目标,接下来的重点是N+1、N+2代工艺,尽管官方一直没有透露具体多少,不过业界认为N+1工艺大概是8到10nm节点,N+2工艺则是7nm节点。N+1工艺已经风...阅读全文

Rust 1.37.0 稳定版发布

Rust 1.37.0 stable 有什么?Rust 1.37.0 的亮点包括通过类型别名引用枚举变、内置 cargo vendor、对宏使用未命名的 const、配置文件引导的优化、Cargo 中的 default-run 和枚举上的 #[repr(align(N))] 。 通过类型别名引用枚举变 在 Rust 1.37.0,可以通过类型别名引用枚举变。例如: type ByteOption = Option; fn increment_or_zero(x: ByteOption) -> u8 { match x { ByteOption::Some(y) => y + 1, ByteOption::None => 0, } } 要实现它,Self 充当类型别名。在 Rust...阅读全文

博文 2019-08-17 21:17:23 debian.cn

如何重启 Kubernetes 中的 Pods

在使用 Docker 时,我们可以使用 docker restart container_id 来非常方便的重启容器,但是在 kubernetes 中并没有重启 pod 的命令。有时 Pod 意外终止时,我们希望重启 pod,来进行排障或者尝试恢复服务。这时我们会发现蛋有点疼,没有一个很直观的方式来重启 pod。 这里我总结了几种重启 Pod 的方式,分两种情况讨论如何重启 K8S 中的 Pod,希望对大家有所帮助。 第一种方式:Deployment方式下重启Pod 大多数生环境,使用的是 Deployment 方式部署应用。这种场景下,我们可以直接删除对应的 Pod,让k8s去完成 pod 重建,命令: kubectl delete pod {podname} -n...阅读全文

博文 2020-07-13 21:23:30 debian.cn

Redis 命令、特性介绍与性能调优

、Hyperloglogs等。 Redis具备LRU淘汰、事务实现、以及不同级别的硬盘持久化等能力,并且支持副本集和通过Redis Sentinel实现的高可用方案,同时还支持通过Redis Cluster实现的数据自动分片能力。 Redis的主要功能都基于单线程模型实现,也就是说Redis使用一个线程来服务所有的客户端请求,同时Redis采用了非阻塞式IO,并精细地优化各种命令的算法时间复杂度,这些信息意味着: Redis是线程安全的(因为只有一个线程),其所有操作都是原子的,不会因并发生数据异常 Redis的速度非常快(因为使用非阻塞式IO,且大部分命令的算法时间复杂度都是O(1)) 使用高耗时的Redis命令是很危险的,会占用唯一的一个线程的大处理时间,导致所有的请求都被拖慢。(例如时间复杂度为O(N)的...阅读全文

博文 2018-10-27 10:37:55 debian.cn

Go 泛型的括号选择:[ ] or ( )

( ) 和 [ ] 可供选择。然而缺少修饰的方括号会在数组和 slice 的类型声明中造成歧义,在解析索引表达式时也会引起小程度的歧义。因此在设计之初他们决定使用小括号,因为小括号似乎更符合 Go 语言的风格,而且看起来问题最少。 为了使小括号正常工作,并且为了向后兼容,他们表示不得不在类型参数列表中引入type关键字。最后,他们在参数列表、复合字面和嵌入类型中发现了额外的解析歧义,而这些歧义需要嵌套更多的小括号来解决。不过即便如此,他们还是决定继续使用小括号,因为当时还有更重要的设计问题需要解决。 现在他们决定重新考虑这个最初的决定。如果仅使用方括号声明类型参数,那么声明数组的方式如下所示: type A [N]E 不过这就无法与泛型的声明进行区分: type A[N] E 但如果能接受额外的...阅读全文

博文 2020-07-16 10:38:01 debian.cn

六大算法之三:动态规划【转载】

等),填表的过程就是根据递推关系,从1行1列开始,以行或者列优先的顺序,依次填写表格,最后根据整个表格的数据通过简单的取舍或者运算求得问题的最优解。 f(n,m)=max{f(n-1,m), f(n-1,m-w[n])+P(n,m)} 算法实现的步骤 1、创建一个一维数组或者二维数组,保存每一个子问题的结果,具体创建一维数组还是二维数组看题目而定,基本上如果题目中给出的是一个一维数组进行操作,就可以只创建一个一维数组,如果题目中给出了两个一维数组进行操作或者两种不同类型的变值,比如背包问题中的不同物体的体积与总体积,找零钱问题中的不同面值零钱与总钱数,这样就需要创建一个二维数组。 注:需要创建二维数组的解法,都可以创建一个一维数组运用滚动数组的方式来解决,即一位数组中的值不停的变化,后面会...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

-Thin 会相对有点麻烦。 需要指定容,末尾还要留点容,因为 convert 到 thin-pool 后需要占用少空间来存放一些元数据 metadata,2 MB,但这个容不会从你创建的 lv 中去获取,所以这个容要留有,分区不能全部划完。 1234[email protected]:/var/lib/vz/template/iso# vgs VG #PV #LV #SN Attr VSize VFree hdd 1 1 0 wz--n- 2.73t 2.63t s163941-vg 1 2 0 wz--n- 223.33g 0 vgs 看到剩余容是 2.63T,我也指定 2.63T,实际上也留有一部分小数. 从名为 hdd 的 vg 中创建大小为 2.63T,名字叫 vm-data...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

Golang 操作 Kafka 样例

)、consumer(消息消费者)都可以是分布式的。 在消息的生时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。 同时为发布和订阅提供高吞吐。据了解,Kafka每秒可以生约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka发送与系统和应用程序健康相关的指标,然后这些信息会被收集和处理从而创建监控仪表盘并发送警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的发布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消息系统来说,Kafka...阅读全文

博文 2023-01-10 13:46:09 掘金

APISIX Ingress 如何使用 Cert Manager 管理证书

Apache APISIX Ingress Controller 是一款以 Apache APISIX 作为数据面的 Kubernetes Ingress Controller 开源工具,目前已经更新到 v1.3 版本,实现了如证书管理、负载均衡、金丝雀发布等功能。 长久以来,证书管理都不是一件简单的事情,虽然 Apache APISIX Ingress Controller 支持从 Kubernetes Secrets 资源中提取证书和私钥,并转换为 Apache APISIX 可识别的 SSL 对象,但这只是整个证书管理链中的一部分,证书的颁发、轮转、吊销逻辑依然需要管理员执行,尤其当证书数比较多时,工作往往并不小,因而会占用管理员不少的时间。 Cert Manager 是一款致力...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

!版权声明:本博客内容均均为原创,每篇博文作为知识积累,写博不易,转载请注明出处。 目录[-] 参考地址: Nacos 官方文档 系统环境: Nacos 版本:1.4.1 Mysql 版本:8.0.19 Kubernetes 版本:1.20.1 项目示例地址: Kubernetes 中部署 Nacos 的部署文件 Kubernetes 中部署 Mysql 数据库部署文件 如果该文章对你有帮助,别忘了 Github 帮忙点颗星哦~ 一、什么是 Nacos Nacos 是阿里开源的服务注册中心与配置中心组件,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流管理。同时能够与 SpringCloud、Kubernetes、Dubbo 等开源生态无缝集成。 Nacos 支持如下核心特...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

深入了解Docker背后的namespace技术

的demo之一,同时它会生一个shell会话,这样你就可以在你的namespace中“闲逛”。你可以自己的方式探索与检查这些不同的namespace。因此让我们复制这个文件,并开始使用network namespace。 > cp skeleton.c network.c 在这个文件里有一个很特殊的变,叫做clone_flags,大部分的变化将在此处发生。namespace主要由clone标志控制。network namespace的clone标记是CLONE_NEWNET。我们需要把int clone_flags = SIGCHLD;这一行改为 int clone_flags = CLONE_NEWNET | SIGCHLD;。这样调用clone就为我们创建一个新的network...阅读全文

博文 2015-05-17 10:03:00 debian.cn

NVDIMM-P非易失内存标准公布:断电不丢数据、兼容DDR4

。 - 大容:支持扩展的内存寻址功能。 - 支持即插即用:在电脑开机时可以直接插入标准的双列内存插槽,并立刻与同一总线上的DDR内存交互操作。 NVDIMM-P的主要特征: - 与现有DDR通道完全兼容,包括物理接口、电气性能、协议、时钟。 - 保证为下一代CPU插槽增加的针脚尽可能少。 - 协议支持数据读取时的不确定延迟。 - 确保数据在非易失内存中的事务性操作。 - 从NAND到DRAM多种延迟模式的支持(在模块级别)。 - 内存本身具备高可靠性、链路错误保护功能。 事实上,NVDIMM是一个系列标准,除了这里说的NVDIMM-P,还有NVDIMM-F、NVDIMM-N、NVDIMM-H。 NVDIMM-F本质上就是DDR接口的SSD固态盘,只使用NAND闪存,优点是延迟低(纳秒级别)、带宽高...阅读全文

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

Pod注入了 env 环境变 PODPRESET_MESSAGE=This is podpreset message. 到匹配的 Pod 中注入了 volumes 卷挂载目录到匹配的 Pod 中的 /opt/logs 目录 创建一下该 PodPreset 资源。 $ kubectl create ns wanyang3 namespace/wanyang3 created $ kubectl apply -f podpreset-busybox-hwy.yaml podpreset.settings.k8s.io/busybox-hwy created $ kubectl get podpreset -n wanyang3 NAME CREATED AT busybox-hwy 2019-07...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

使用 cURL 对Web请求进行性能测试

在做 Web 开发的时候,经常需要对 Web Page 或者 REST-ful API 做简单的 Benchmark。本文将介绍如何使用 cURL 进行简单快速的性能评测。本文内容分为以下两部分: 使用 curl 查看加载时间 使用 curl -w 查看更多的网络情况 使用 curl 查看加载时间 curl -s -w "%{time_total}\n" -o /dev/null http://www.github.com/ 1.492 可以看到请求时间为 1.492 秒。此时: -s, --silent: 让 curl 保持静默模式,不会输出进度条 -w "%{time_total\n}":输出使用时间 -o /dev/null: 这个参数用来隐藏 response 的内容 如果使用...阅读全文

博文 2018-11-28 18:40:47 debian.cn

腾讯在贵州有个山洞:放置腾讯业务最核心数据

干嘛的?“如果把腾讯比作一个工厂,那么数据中心就是车间,信息需要在这里集中处理、存储、交换。”腾讯技术工程事业群任职数据中心技术总监朱华说。 那个名叫T-block的技术,是腾讯数据中心自主研发的第四代技术。 腾讯数据中心的技术发展,总共经历四个阶段: 第一代(2006-2009),基本是沿用了传统电信机房的解决方案(厂房改造,风冷,N+1冗余),只在局部做了点优化,比如冷热通道隔离; 第二代(2007-2011),从天津开启数据中心的大而全模式,10万级、大型离心冷水机组、10KV Switch Gear、变压器上楼、中压油机、UPS、STS、AHU、MAU、封闭热通道、预作用水消防、水侧Free cooling、Air side economizer; 第三代TMDC(2011...阅读全文

博文 2018-04-06 08:44:38 debian.cn

Go 1.16 即将发布,这些变更你需要知道

-bindata/go-bindata 这类第三方开源库来实现。 而从 Go1.16 起,通过 go:embed 就可以快速实现这个功能: import _ "embed" //go:embed hello.txt var s string print(s) 通过对变 s 声明 go:embed 指令,使其在编译时读取当前目录下的 hello.txt 文件。 最终变 s 就会输出 hello.txt 文件中的字符串内容。 新增 io/fs 的支持 新增了标准库 io/fs,正式将文件系统相关的基础接口抽象到了该标准库中。 以前的话大多是在 os 标准库中,这一步抽离更进一步的抽象了文件树的接口。在后续的版本中,大家可以优先考虑使用 io/fs 标准库。 调整切片扩容策略 Go1.16 以前的...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

InfluxDB 的 percentile 函数详解

官方文档的说明并不详细: https://jasper-zhang1.gitbooks.io/influxdb/content/Query_language/functions.html 实际百分位取第几位的值参考如下 PERCENTILE(field_key, N) 选取某个字段中大于N%的这个字段值。 如果一共有4条记录,N为10,则10%*4=0.4,四舍五入为0,则查询结果为空。N为20,则 20% * 4 = 0.8,四舍五入为1,选取的是4个数中最小的数。如果N为40,40% * 4 = 1.6,四舍五入为2,则选取的是4个数中第二小的数。 由此可以看出N=100时,就跟MAX(field_key)是一样的,而当N=50时,与MEDIAN...阅读全文

谷歌公开了内部管理Infra层的两个工具的Paper

题,详见图3。 图3:每个服务模型必须和每个基础架构提供者集成 如果只需要处理几个基础架构提供者,N*M问题还是可以管理的。随着基础架构提供者数的增多(看看Google Cloud,AWS和Microsoft Azure上的品数),这些集成的数和质问题就开始出现了。 实际上减少基础架构提供者的数不太实际。每个提供者都在提供不同的服务(比如,键值存储,pub/sub系统等),并且一些冗余不得不存在,就算定义好规则也会有很多异常情况出现。使用单个服务模型也不现实——这个模型必须能够暴露所有基础架构提供者的每一个特性,这违反了服务模型的初心。 Google的工程师们花费了大时间将他们需要的服务模型连接到想要使用的基础架构上。我们显然需要一种不同的配置方案。 — 2 — 大规模部署 在...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

k8s 中发现很多为状态为 Evicted 的 Pod

背景 在查看k8s的环境的时候,突然发现存在n多个pod状态为Evicted。差不多得有几百个。 解决 同事愉快的丢了个链接给我,让我自己看一波:What will happen to evicted pods in kubernetes? 查看了一下pod的信息。结果发现是磁盘满了。 kubectl describe pod {pode_name} -n {namespace} 但是得手动删除Evicted状态的pod kubectl get pods --all-namespaces -o json | jq '.items[] | select(.status.reason!=null) | select(.status.reason | contains("Evicted...阅读全文

博文 2021-03-05 08:34:20 diablo4

linux下查看系统socket读写缓冲区_eyucham的专栏

(int argc,char **argv) { int err = -1; /* 返回值 */ int s = -1; /* socket描述符 */ int snd_size = 0; /* 发送缓冲区大小 */ int rcv_size = 0; /* 接收缓冲区大小 */ socklen_t optlen; /* 选项值长度 */ /* * 建立一个TCP套接字 */ s = socket(PF_INET,SOCK_STREAM,0); if( s == -1){ printf("建立套接字错误\n"); return -1; } /* * 先读取缓冲区设置的情况 * 获得原始发送缓冲区大小 */ optlen = sizeof(snd_size); err = getsockopt(s...阅读全文

博文 2021-01-26 16:21:35 CSDN博客

基于thanos搭建分布式prometheus

: thanos receive组件需要部署N个进程组成集群,prometheus可以remote write写入数据到任意receive节点,收到写入请求的receive节点根据metrics label做哈希后计算出负责存储该部分数据的receive节点,并将数据转发过去; 同时,receive可以配置replica数,这样的话receive会根据哈希结果将数据复制给多个receive做冗余,应该说是非常简单粗暴的复制方案吧,因为监控场景没那么严谨所以基本可用即可,查询去重和归拢则全部依靠querier组件反向查询所有Receive组件搞定。 我们的选择 让prometheus直接配置remote write的方式看起来更好一些,我们只需要在启动一套thanos receive集群,然后让...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

Linux 系统 vim 编辑器使用简明教程

下使用) /yusi123 //向光标下搜索yusi123字符串 ?yusi123 //向光标上搜索yusi123字符串 n //向下搜索前一个搜素动作 N //向上搜索前一个搜索动作 六、跳至指定行(vi命令模式下使用) n+ //向下跳nn- //向上跳n行 nG //跳到行号为n的行 G //跳至文件的底部 七、设置行号(vi命令模式下使用) :set nu //显示行号 :set nonu //取消显示行号 八、复制、粘贴(vi命令模式下使用) yy //将当前行复制到缓存区,也可以用 “ayy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 nyy //将当前行向下n行复制到缓冲区,也可以用 “anyy 复制,”a 为缓冲区,a也可以替换为a到z的...阅读全文

博文 2015-07-25 16:33:04 debian.cn

深入学习golang — channel

. process(r) // May take a long time. <-sem // Done; enable next request to run. } func Serve(queue chan *Request) { for { req := <-queue go handle(req) // Don't wait for handle to finish. } } 我们通过引入sem channel,限制了同时最多只有MaxOutstanding个goroutine运行。但是,上面的做法,只是限制了运行的goroutine的数,并没有限制goroutine的生成数。如果请求到来的速度过快,会导致生大的goroutine,这会导致系统资源消耗完全。 为此,我们有必要限制...阅读全文

博文 2021-01-25 12:39:17 博客园

三个简单而优秀的 Linux 网络监视器

有一个网络接口,可以不带选项运行 iftop。iftop 需要 root 权限: $ sudo iftop 当你有多个接口时,指定要监控的接口: sudo iftop -i wlan0 就像 top 一样,你可以在运行时更改显示选项。 h 切换帮助屏幕。 n 切换名称解析。 s 切换源主机显示,d 切换目标主机。 s 切换端口号。 N 切换端口解析。要全看到端口号,请关闭解析。 t 切换文本界面。默认显示需要 ncurses。我认为文本显示更易于阅读和更好的组织(图1)。 p 暂停显示。 q 退出程序。 图 1:文本显示是可读的和可组织的。 当你切换显示选项时,iftop 会继续测所有流。你还可以选择要监控的单个主机。你需要主机的 IP 地址和网络掩码。我很好奇 Pandora 在我那可...阅读全文

博文 2017-11-07 00:07:38 debian.cn

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

的文本文件。如果一台服务器有16个 CPU,每秒抽样99次,持续30秒,就得到 47,520 个调用栈,长达几十万甚至上百万行。 为了便于阅读,perf record命令可以统计每个调用栈出现的百分比,然后从高到低排列。 $ sudo perf report -n --stdio 这个结果还是不易读,所以才有了火焰图。 二、火焰图的含义 火焰图是基于 perf 结果生的 SVG 图片,用来展示 CPU 的调用栈。 y 轴表示调用栈,每一层都是一个函数。调用栈越深,火焰就越高,顶部就是正在执行的函数,下方都是它的父函数。 x 轴表示抽样数,如果一个函数在 x 轴占据的宽度越宽,就表示它被抽到的次数多,即执行的时间长。注意,x 轴不代表时间,而是所有的调用栈合并后,按字母顺序排列的。 火焰图就...阅读全文

博文 2022-03-11 10:05:09 博客园

176Gbps:新一代Wi-Fi

802.11ac是当今最流行的Wi-Fi无线标准,不过,为了提高速度、吞吐、降低功耗,IEEE 802.11ax/ad/ay先后应运而生。其中802.11ax是对ac/n的自然演进,同样工作在2.4/5GHz频段上,而ad/ay则是作为辅助技术,由于工作频段极高,没有干扰,所以速率可以非常高。比如基于60GHz的802.11ad可以达到8Gbps的数据传输率,如今TP-Link Talon AD7200路由、戴尔E74450/7470笔记本、Windows 10创作者更新都将支持。 据悉,目前的最新进展是,第一个修订版802.11ay(verison 0.2)标准已经认证完毕,目标速率高达176Gbps,也就是22GB/s,理论上说蓝光电影可以1秒下完。不过,你的电脑硬盘肯定是跟不上,即...阅读全文

博文 2021-01-28 17:50:22 Fi 802.11ay来了

Kubernetes调度算法浅析

在真正的生环境中,如何合理的分配服务器资源、提高利用率、让整个集群运行的更加稳定使得 k8s-scheduler 这个角色在集群中的地位愈发重要。 kube-scheduler的预选(过滤)和精选(打分) api-server会将创建pod的请求发送给kube-scheduler,并且将pod信息记录在etcd数据库中。之后kube-scheduler会根据预选(过滤)规则,首先过滤掉一部分node节点中的pod,没有被过滤掉的pod可以看做是可以被调度的pod,之后再通过更加严格的规则给剩下的pod打分,这一步也叫作优选。打分最高的pod可以看做被优先分配到pod任务。 调度流程简介 创建pod的命令被api-server的api接口接收到。api-server将pod信息存储在...阅读全文

博文 2020-12-20 11:01:10 debian.cn

Debian 如何安装无线网卡驱动

在安装 Debian 10 的时候提示没有iwlwifi驱动,因为当时没有安装有 iwlwifi 的驱动盘,跳过后开机发现没有 wifi。这里我们将介绍,有线网正常的状态下,如何下载安装 iwlwifi 驱动,并开启 wifi 。 因为我用的是 Intel Wireless-N 的无线网卡,所以本教程以 Intel Wireless-N 为例说明。如果你使用的是其他厂商的无线网卡,请参考 Debian wiki,查找相应的配置方法。如果不确定无线网卡的型号,可以通过命令 lspci 查询,或者在 dmesg 的命令输出中找到线索。 更新安装源 我们需要添加 non-free 的安装源,到系统中,更新 /etc/apt/sources.list,添加以下记录: deb http...阅读全文

博文 2020-02-19 15:18:51 debian.cn

Kafka生产问题总结以及性能优化

定要配置重试要根据业务情况而定。也可以用同步发送的模式去发消息,当然acks不能设置为0,这样也能保证消息发送的有序。 kafka保证全链路消息顺序消费,需要从发送端开始,将所有有序消息发送到同一个分区,然后用一个消费者去消费,但是这种性能比较低,可以在消费者端接收到消息后将需要保证顺序消费的几条消费发到内存队列(可以搞多个),一个内存队列开启一个线程顺序处理消息。 如果为了性能好,不允许所有消息只在同一个分区,同时又要保证顺序消费,那么可以给每条消息加一个下标,当消费者拿到消息后先不急着消费,而是先判断下标,然后根据下标以此进行消费; 2.1.4 消息积压 1)线上有时因为发送方发送消息速度过快,或者消费方处理消息过慢,可能会导致broker积压大未消费消息。 此种情况如果积压了上百万未...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

十个增加 Linux Shell 脚本趣味的小工具

tput rev echo "M A I N - M E N U" tput sgr0 tput cup 7 15 echo "1. User Management" tput cup 8 15 echo "2. Service Management" tput cup 9 15 echo "3. Process Management" tput cup 10 15 echo "4. Backup" # Set bold mode tput bold tput cup 12 15 read -p "Enter your choice [1-4] " choice tput clear tput sgr0 tput rc 输出: 3. setleds 命令 这个命令可以让你控制键盘灯,例如打开数字键...阅读全文

博文 2018-04-09 09:38:50 debian.cn

在TKE上使用Kubecost进行成本管理

,即为计算 Pod 资源请求(Request)或者使用(Usage)消耗的成本。根据不同类型的资源,按照 Pod 所在 Node 的 IaaS 计价方式作为基本参考,来计算 Pod 所使用的成本费用。 目前云厂商的 Node 计费模式一般是**包年包月(Month)**、**按计费(Hour)**和**竞价实例**。当 Kubecost 计算 Pod 成本时,即使是相同请求的 Container,在不同类型的 Node 上成本消耗也不一致。 上述三种计费模式中,由于用户购买的是一个整体实例,因此按照实例计费,不针对单独一个资源计费。而通过使用 Kubecost,可以参照模型分析资源类型分摊成本、每种资源分摊成本。 例如,一个云厂商提供的某种 Node(虚拟机、物理机),CPU 为1核(C...阅读全文

Debian 10 一键安装配置 WireGuard 服务端

\_\.\-]\{1,\}_' |head -n1 |cut -d'_' -f2` [ -n "$Version" ] || exit 1 wget --no-check-certificate -qO "/tmp/wireguard_${Version}_all.deb" "${POOL}wireguard_${Version}_all.deb" wget --no-check-certificate -qO "/tmp/wireguard-tools_${Version}_${arch}.deb" "${POOL}wireguard-tools_${Version}_${arch}.deb" POOL='https://deb.debian.org/debian/pool/main/w...阅读全文

Debian 9.3上安装和配置 Observium 监控平台

Observium是一个免费的开源网络管理和监控工具,可用于监控所有的网络设备。 它是用PHP编写的,使用SNMP从连接的设备收集数据并使用Web界面监视它们。 Observium支持大的网络硬件和操作系统,包括Linux,Windows,FreeBSD,思科,戴尔,NetApp等等。 Observium提供了一个功能强大,简单易用的界面来监视网络的健康和状态。 在本教程中,我们将解释如何在Debian 9服务器上安装和配置Observium。配置需求: 一个新的Debian 9服务器安装在您的系统上。 在您的服务器上设置一个根密码。 入门 首先运行以下命令,将系统更新到最新的稳定版本: apt-get update -y apt-get upgrade -y 系统更新后,重新启动系统以...阅读全文

博文 2017-12-30 11:35:21 debian.cn

说透IO多路复用模型_京东云开发者的博客

){ pollfds[0].revents = 0; ret = recv(connfd,buff,sizeof(buff)-1,0); printf("receive %d bytes from client: %s \n",ret,buff); } } 由于源码中,我做了比较详细的注释,同时将和select模型不一样的地方都列了出来,这里就不再详细解释了。总体说来,poll模型比select模型要好用一些,去掉了一些限制,但是仍然避免不了如下的问题: 用户态和内核态仍需要频繁切换,因为revents的赋值是在内核态进行的,然后再推送到用户态,和select类似,整体开销较大。 仍需要遍历数组,时间复杂度为O(N)。 epoll模型 如果说select模型和poll模型是早期的物,在性能上有诸多不尽人意之...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

Node.js 10.0.0 正式版发布 大量改进和修复

Node.js 10.0.0 正式发布,这是自 Node.js Foundation 开展以来的第七个主要版本,并将在 2018 年 10 月成为下一个 LTS 分支。 新版本自带定制化的 Node-ChakraCore 引擎,其功能亮点包括: 全面支持 N-API 可轻松通过新的 Visual Studio Code Extension 进行 Time-Travel 调试 支持 TTD 的生成器和异步函数 支持 Inspector 协议 增强稳定性和其他各种改进 Node.js 10.0.0 还包含以下更新: N-API native addons API 已从实验状态毕业 Async_hooks 过时的实验性 async_hooks API 已被删除 Child Process 忽略未...阅读全文

博文 2018-04-25 14:24:27 debian.cn

SK Hynix量产首个4D NAND闪存:96层堆栈 速度提升30%

随着64层堆栈3D NAND闪存的大规模,全球6大NAND闪存厂商今年都开始转向96层堆栈的新一代3D NAND,几家厂商的技术方案也不太一样,SK Hynix给他们的新闪存起了个4D NAND闪存的名字。 在今年的FMS国际闪存会议上正式宣告了业界首个基于CTF技术的4D NAND闪存,日前他们又宣布4D NAND闪存正式,目前主要是TLC类型,96层堆栈,512Gb核心容,使用该技术可以减少30%的核心面积,读取、写入速度分别提升30%、25%。 根据SK Hynix之前公布的信息,所谓的4D NAND闪存其实也是3D NAND,它是把NAND闪存Cell单元的PUC(Peri Under Cell)电路从之前的位置挪到了底部,所以叫了4D NAND闪存,本质上其实还是3D...阅读全文

博文 2018-11-05 23:47:54 debian.cn

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

库提供商,将那台Redis最近一周的命令全部调用出来,最后发现,在那个时间点运行了一条keys *...*命令。公司的一个工程师执行keys模糊的匹配命令是为了清理没用的键,但是没有考虑到keys *进行模糊匹配引发Redis锁,造成Redis锁住,CPU飙升,引起了所有调用链路的超时并且卡住,等Redis锁的那几秒结束,所有的请求流全部请求到RDS数据库中,使数据库生了雪崩,使数据库宕机。 改进方案 所有线上操作,全部要经过运维通过后方可执行,运维部门逐步快速收回各项权限 新增Redis实例,进行分离 如果有使用类似keys正则命令需求,使用scan命令代替 总结 该事件中出现的两次事故,完全是由于人为操作引起的,如果那位工程师,看过Redis的开发规范,会发现是建议禁用keys命令的...阅读全文

博文 2018-10-27 10:18:18 debian.cn

命令行下如何对字符进行十六进制的编码和解码?

比如,当我们需要查看 /etc/passwd 的内容时,可以通过对文件名编码,隐藏这个操作, ``` cat $(echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64") ``` 如何对指定的字符串做 16 进制的编码?借助 od 命令即可, ``` $ echo /etc/passwd | od -A n -t x1 2f 65 74 63 2f 70 61 73 73 77 64 0a ```...阅读全文

批量ssh时,如何自动 kill 超时的ssh链接?

除了 ConnectTimeout 参数外,我们还可以在外部包装一层, 当 ssh 执行超时时,自动 kill 掉超时的 ssh 链接,样例如下: $ cat /tmp/ip`; do echo -n ++++++++++++++ $i\ ; timeout -s 9 3s ssh -o ConnectTimeout=2s -o ConnectionAttempts=1 $i md5sum /etc/resolv.conf ; done 这里 timeout 的含义是,如果3s没有返回,就发送signal 9,结束进程。...阅读全文

如何列出域名 所有SAN字段的SSL证书?

SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析。 这里以 Google.com 为例,证书中所包含的 SAN 扩展域名,可以用这个命令列出: echo | openssl s_client -connect google.com:443 2>&1 | openssl x509 -noout -text | awk -F, -v OFS="\n" '/DNS:/{x=gsub(/ *DNS:/, ""); $1=$1; print $0}'...阅读全文

DPDK Graph Pipeline 框架简介与实现原理

libgraph 的参照对象。因为 VPP 项目整体是一个非常全面的解决方案,从中剥离核心的设计框架为其它轻级项目所用就变得很有意义。这也是 Libgraph 的生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心概念:标和向包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向包处理的框架。与传统的标包处理模型(一系列函数负责处理一个数据包,重复直到所有数据包处理完毕)相比,向数据包处理...阅读全文

博文 2023-02-09 07:13:55 掘金

WebAssembly:无需容器的 Docker (下)

php/php-7.4.32/ && tree build-output/php/php-7.4.32/bin/ ... ( a few minutes and hundreds of build log lines)几分钟和数百行构建日志 build-output/php/php-7.4.32/bin/ ├── php-cgi-wasmedge └── php-wasmedge PHP 是用 autoconf 和 make 构建的。 所以如果你看一眼脚本 scripts/wl-build.sh ,你会注意到我们设置了所有相关变,如 CC、LD、 CXX 等,以使用来自 WASI_SDK 的编译器。export WASI_SYSROOT="${WASI_SDK_ROOT}/share/wasi...阅读全文

博文 2023-01-03 06:39:46 spider

Apache Flink 1.14 新特性预览 - OSCHINA

-2 个大版本后都会发布一个变化稍微少一点的版本,主要目的是把一些特性稳定下来。 1.14 版本就是这样一个定位,我们称之为质改进和维护的版本。这个版本预计 8 月 16 日停止新特性开发,可能在 9 月份能够和大家正式见面,有兴趣可以关注以下链接去跟踪功能发布进度。 Wiki:https://cwiki.apache.org/confluence/display/FLINK/1.14+Release Jira:https://issues.apache.org/jira/projects/FLINK/versions/12349614 [1] 截至到 8 月 31 日,确定进入新版本的是 33 个,已全部完成。 二、流批一体 流批一体其实从 Flink 1.9 版本开始就受到持续的关注,它...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

Facebook 是如何进行大规模代码部署的

Facebook 高速发展的 2007 年到 2016 年,他们一天部署 3 次代码,cherry-pick 集齐成千上万个 commit;现在使用类似持续交付的方法,每个 commit 能自动部署到 production。公司里有很多员工、很多用户的好处:新代码让公司所有员工先用上,因为员工数足够多,能很快发现问题;然后让 2% 的访问用上新代码,最后慢慢增加到 100% 的访问。 不久前有篇关于缩短 Facebook 发布流程的文章,阐述了将代码投入生的灵活方法。这篇文章着重讲述了他们在一年之内如何从“ cherry-picking ”升级到“ push-from-master ”策略。早些时候, Facebook 也分享了他们部署过程的细节。作者 Chuck Rossi 是...阅读全文

博文 2017-10-31 14:05:20 debian.cn

AMD Zen之父跳槽Intel:推进10nm工艺

、GlobalFoundries已经纷纷开始或准备7nm,AMD Zen2架构品明年也会上7nm。 虽然Intel一再宣称自己的工艺比对手领先一个时代,但现在的问题是,就算对手的7nm只相当于你的10nm,人家也已经在阶段了,这是无法回避的。再加上AMD步步紧逼,作为几十年龙头老大的Intel,身上的压力可想而知。 相信这也是Intel挖过来Jim Keller,共同推进新工艺的关键原因。当然,Jim Keller擅长的是架构设计,而不是工艺制造,因此在Intel更多的应该也就是配合工艺技术、研发和生进度,优化架构和品设计,帮助尽快落地上市。 之前还有消息说,Intel已经在调整10nm工艺,为了能尽快而降低技术要求,所以最终我们看到的Intel 10nm可能只是个缩水版,也就谈不上比肩对手7nm了。...阅读全文

博文 2018-08-11 18:15:33 debian.cn