InfraPub 为您找到相关结果 571

如何读懂火焰图?+ 实例讲解程序性能优化 - 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 博客园

深入理解Golang之context

。这个时候context就派上用场了。我们首先看看context的结构设和实现原理。context是什么context接口先看Context接口结构,看起来非常简单。type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() error Value(key interface{}) interface{} } Context接口包含四个方法:Deadline返回绑定当前context的任务被取消的截止时间;如果没有设定期限,将返回ok == false。Done 当绑定当前context的任务被取消时,将返回一个关闭的channel;如果当前context不会被取...阅读全文

博文 2021-01-27 09:05:27 知乎

Golang 中的 channel 通道详解

,channel的零值也是nil。两个相同类型的channel可以使用==运符比较。如果两个channel引用的是相同的对象,那么比较的结果为真。一个channel也可以和nil进行比较。通道的操作发送ch := make(chan int,0) // 创建一个无缓存区的int channel ch <- 998 // 向通道发送一个int类型的值10 接收receiver := <-ch //将通道ch的值取出,赋值给变量receiver <- ch //将通道ch的值取出,忽略结果 关闭close(ch) // 关闭通道 关于关闭通道需要注意的事情是,只有在通知接收方goroutine所有的数据都发送完毕的时候才需要关闭通道。通道是可以被垃圾回收机制回收的,它和关闭文件是不一样的,在结束操作之后关闭...阅读全文

Ceph 12.2.0 正式版本发布, 代号 Luminous

SSD来调整其默认配置。一般不需要手动调整。 原型mclock QoS排队法已经可用。 新增一种退出机制,可以防止OSD出现对当前不能处理IO对象或PG的请求过载情况。 OSD更换过程简化,变得更加强大了。 您可以使用ceph功能来查询所有连接的后台程序和客户端的支持功能和版本。 通过ceph osd set-require-min-compat-client连接到集群,您可以配置最旧的Ceph客户端版本,但 Ceph将阻止您启用会破坏与这些客户端的兼容性的功能。 包括osd_recovery_sleep,osd_snap_trim_sleep和osd_scrub_sleep的几个睡眠设置,已经被重新实现,并且可以有效地工作。(这些在某些情况下用于解决问题,限制后台工作。) 完成对...阅读全文

博文 2017-08-31 13:36:49 debian.cn

Linux 中使用 Fio 测评硬盘性能

apt-get install git 现在,我们切换到 /opt 目录,并从 Github 上克隆仓库: cd /opt git clone https://github.com/axboe/fio 现在,我们通过在 /opt 目录下切换到 Fio 的源代码目录,执行编译和安装操作了,命令如下: # cd /opt/fio # ./configure # make # make install 使用 Fio 进行磁盘性能测试 现在 Fio 已经安装到了你的系统中,我们一起看看如何使用 Fio 做磁盘的随机写、读和读写测试。 随机写测试 执行下面的命令来开始。这个命令将要同一时间执行两个进程,写入共 4GB( 4 个任务 x 512MB = 2GB) 文件: sudo fio --name...阅读全文

博文 2018-08-15 19:18:24 debian.cn

Go1.16 新特性:一文快速上手 Go embed

:go:embed helloworld/*。 总的来讲,Go1.16 embed 特性很好的填补了 Go 语言在打包静态文件资源的一块原生空白领域。同时也说明了 Go 官方的确在不断地吸收社区的一些良好的想法和经验。 分享 Go 语言、微服务和奇怪的系统设 ???? 长按关注煎鱼,在知识的海洋里遨游 学习资料分享,关注公众号回复指令: 回复【000】,下载 LeetCode 题解大全。回复【001】,下载 Go 进阶图书 Mastering Go。...阅读全文

博文 2021-02-17 08:44:12 CSDN

开源软件对于商业机构的6大好处

常是对产品供应商有利,而非客户。如果软件停止运行,或者如果供应商要求支付更多的费用,你甚至无法起诉供应商的不当行为。而像 GPL 一类的开源许可证就是为保护客户专门设的,而不是供应商,它确保你按照自己的需求使用软件,而没有专制限制。 由于它们的广泛使用,GPL 及其衍生许可的含义被广泛理解。 例如,许可证允许你现有(开源或闭源)基础设施通过定义良好的 API 与其连接,对时间或用户数量没有限制,并且不会强制你打开配置或知识产权 财产(如公司标志)。但有一个问题就是,有一些开源内核混合了 GPL 和专有软件的条款,这违反了许可证规定,会将客户置于危险境地。 使用专有软件意味着你需要面对严苛的法规遵从性条款,还有承担高额罚款的风险。...阅读全文

博文 2017-11-15 23:41:11 debian.cn

全民HTTPS时代:盘点免费SSL证书那些事儿

根据 Let’s Encrypt CA 的统,截至 2017 年 11 月,Firefox 加载的网页中启用 HTTPS 的比例占 67%,比去年底的 45% 有巨大提升。浏览器开发商如 Mozilla, Google 准备采取下一步措施:将所有 HTTP 网站标记为不安全。 随着 HTTPS 的普及,给网站加个 SSL 证书已经是大势所趋而且很有必要了。目前已经存在不少免费好用的 SSL 证书,因此,本文就来盘点一下关于免费 SSL 证书的那些事儿。 一、Let’s Encrypt 官方网站:https://letsencrypt.org/ 点评:毫无疑问,Let’s Encrypt 是目前使用范围最为广泛的免费 SSL 证书,而且官方博客宣布,自 2018 年开始提供通配符 SSL...阅读全文

团队激励的八大方法,让你的团队成员更加高效地达成目标

,来激发下属的上进心和荣誉感的方法。团队领导树立那些多方面或某一方面表现突出、有重要贡献的先进模范人物为榜样,引导和号召其他人向他们学习,并努力去仿效和超越他们,从而使下属的工作积极性和创造性可以充分地发挥出来。8、数据激励法数据激励法是指领导者在详细登记、统下属的各种工作情况数据的基础上,通过大会讲评、公开张榜和填写评比表等形式予以公布,使下属对自己和团队全局的情况有所掌握,从而明确以后的努力方向,进一步鼓舞信心和斗志。...阅读全文

HTTP状态码详解

求头 Expect 中指定的预期内容无法被服务器满足,或者这个服务器是一个代理服务器,它有明显的证据证明在当前路由的下一个节点上,Expect 的内容无法被满足。 421 从当前客户端所在的IP地址到服务器的连接数超过了服务器许可的最大范围。通常,这里的IP地址指的是从服务器上看到的客户端地址(比如用户的网关或者代理服务器地址)。在这种情况下,连接数的可能涉及到不止一个终端用户。 422 请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)423 Locked 当前资源被锁定。(RFC 4918 WebDAV) 424 由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH。(RFC 4918 WebDAV) 425 在WebDav...阅读全文

博文 2021-01-28 17:50:11 debian.cn

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

对象,并且包含新的证书。 总结 本文主要讲解了如何利用 Cert Manager 在 Apache APISIX Ingress Controller 中进行证书的创建和管理。想了解更多关于 Apache APISIX Ingress 的介绍与内容,可参考本篇文章 或者参与 Apache APISIX Ingress 项目每两周举行的线上讨论,分享当下项目进度、最佳实践及设思路等多个话题,可查看具体 issue 了解更多。...阅读全文

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

你应该选择Cinnamon作为Linux桌面环境的十个理由

Cinnamon 桌面 Cinnamon目前的最新版本为3.2。Cinnamon可用于多种发行版,其中包括Debian、Arch、Gentoo、Mint、Fedora以及OpenSUSE等。 使用Cinnamon的理由 1. 集成度。桌面的选择与应用可用性并无关联。事实上,我所用过的任何应用都能够在任意桌面环境中运行良好,Cinnamon自然也不例外。不过,Cinnamon确实能够为各类面向KDE与GNOME乃至任何其他桌面编写的应用提供全部必要库,且带来良好的无缝化体验。 2. 外观。Cinnamon拥有清晰、简洁的外观设,且字体与颜色组合适于阅读。大家可以通过System Settings -> Desktop菜单轻松完成图标显示设置,也能够借此指定桌面图标应该仅显示在主显示器上、副显示器上或者同时...阅读全文

博文 2021-01-28 17:50:21 debian.cn

十条关于 WordPress 安全性的小贴士

WordPress 本质上并没大家认为的那么危险,而且开发者也在努力工作,以确保危险漏洞能被快速修复。但不幸的是,WordPress 的成功使其成为众矢之的:如果你能攻破一个 WordPress 安装,那么可能会有数以百万的网站向你 “开放”。而且即使 WordPress 是安全的,也并不是所有的主题和插件都会有同样级别的开发重视程度。 有些人攻击 WordPress 是为了挑战或造成恶意的损害,这些行为都很容易被发现。最糟糕的罪魁祸首是那种潜入内容的行为,它们会将钓鱼网站深入到文件夹结构,或使用你的服务器发送垃圾邮件。一旦你安装的 WordPress 被破解,可能需要删除所有内容并从头重新安装。 庆幸的是,有很多简单的方案来提升安全性。下面提到的安全修复方案都不会超过几分钟。 1. 切...阅读全文

博文 2021-01-28 17:50:29 debian.cn

三个技巧 大幅减少 Docker 镜像体积

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文

博文 2018-09-06 10:50:29 debian.cn

21款必不可少的Ubuntu桌面应用程序

Atom文本编辑器。 12. Steam Linux Gaming 如果你打在Linux系统上玩游戏,那么确实值得花一番心思来安装Steam,这是一种大受欢迎的游戏发布平台。 有3000多款Steam游戏适用于Linux,包括众多知名游戏,比如《古墓丽影》、《杀出重围:人类分裂》和《战锤:全面战争》。还有大批的独立游戏和经典游戏值得探究一番。 13. NeoFetch系统信息工具 在寻找一种巧妙的方法来了解你运行的是什么窗口管理器、GTK主题、桌面环境、内核和bash版本?你可以点击一大堆菜单来搞个明白,也可以运行一个命令:neofetch。 重要的事先说:你需要先安装这个应用程序,之后才可以运行它;为此,你需要从NeoFetch Github页面下载最新版本。 14. Corebird...阅读全文

博文 2021-01-28 17:50:19 debian.cn

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统数据。 二、提前部署 Mysql Nacos 需要提前部署 Mysql,目前支持 5.7 及 8.0 版本。关于如何部署 Mysql 可以参考之前本人写的一篇文章 Kubernetes 部署 Mysql 数据库。 三、导入 SQL 相关数据 等数据库创建完成后,还需要导入 SQL 文件来创建它的表结构和一些基础数据。操作如下,我们进入 Mysql 客户端,执行 source 命令导入 SQL 文件。 $ mysql -uroot -p123456 mysql> source /data/nacos.sql SQL 地址:Nacos 数据 Sql 文件地址 你也可以通过 Navicat...阅读全文

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

Cortex: 高可用和水平扩展Prometheus监控系统

"} prometheus_tsdb_head_samples_appended_total{cluster="one"} Cleanupkubectl delete -f k8s/ helm delete --purge prom-one helm delete --purge grafana ingester pods将卡在终止阶段。这是设使然的,因为ingester是半状态的,并且将在终止之前尝试将其数据刷新到其他ingester。这使得升级和回滚成为可能,同时避免了数据丢失。在这种情况下,我们只是尝试一下,而不关心数据,因此我们可以使用以下命令强制将其删除:kubectl delete pod -l name=ingester --grace-period=0 --force 具有数据去重功能的HA Prometheus设置此设置与上一个非常相似。主要区别在于我们正在部...阅读全文

博文 2021-10-09 17:00:22 知乎

WebAssembly:无需容器的 Docker (下)

以及 Wasm 带来的高级 “沙箱隔离”。我们可以轻松看到的两种容器之间的其他差异。首先,我们将运行两个 daemon 容器,看看我们如何解释有关它们的一些统信息。 然后我们将检查容器镜像的差异。容器数据让我们运行两个 daemon 容器 - 一个是从传统的 php 镜像,另一个是从 php-wasm 镜像。docker run --rm -d \ -p 8083:8080 -v $(pwd)/images/php/docroot:/docroot \ php:7.4.32-cli \ -S 0.0.0.0:8080 -t /docroot docker run --rm -d \ --runtime=io.containerd.wasmedge.v1 \ -p 8082:8080 -v...阅读全文

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

细数k8s支持的4种类型的container - 侃豺小哥

提供关注点分离,并专注于特定功能,以减少意大利面条的依赖性和不可测的组件 对于Sidecar容器一般来说主要体现在以下4种角色: 代理。例如现在Istio中的Envoy。 通过这种Sidercar 模式,代理可以拦截进出主容器的流量从而Istio可以提取有关流量行为的大量信号作为属性。 Istio可以使用这些属性来执行策略决策,并将其发送到监视系统以提供有关整个网格行为的信息。 Sidecar代理模型还允许您将Istio功能添加到现有部署中,而无需重新构造或重写代码。 适配器。适配器容器对输出进行标准化。考虑监视N个不同应用程序的任务。可以使用不同的导出监视数据的方式来构建每个应用程序。 (例如JMX,StatsD,特定于应用程序的统信息),但每个监控系统都希望其收集的监控数据具有一致且统...阅读全文

博文 2021-08-20 11:45:32 博客园

Monit:开源服务器监控工具

”。 服务检测时间 可以使用every语句修改服务检查划。 有三种变体: 1.轮询周期倍数 EVERY [number] CYCLES 2.Cron-style EVERY [cron] # [cron] # * * * * * # 分 时 日 月 周 3.与Cron-style相反(do-not-check) NOT EVERY [cron] 示例:示例1:每两个周期检查一次 check process nginx with pidfile /var/run/nginx.pid every 2 cycles 示例2:在上午8点到下午7点之间检查每个工作日 check program checkOracleDatabase with path /var/monit/programs...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

Apache Kafka发布 3.0 正式版

。此外,不要错过 Kafka Connect 任务重启增强、KStreams 基于时间戳同步的改进以及 MirrorMaker2 更灵活的配置选项。常规变化KIP-750:弃用 Kafka 中对 Java 8 的支持在 3.0 中,Apache Kafka 项目的所有组件都已弃用对 Java 8 的支持。这将使用户有时间在下一个主要版本 (4.0) 之前进行调整,届时 Java 8 支持将被取消。KIP-751:弃用 Kafka 中对 Scala 2.12 的支持对 Scala 2.12 的支持在 Apache Kafka 3.0 中也已弃用。与 Java 8 一样,我们给用户时间来适应,因为划在下一个主要版本 (4.0) 中删除对 Scala 2.12 的支持。Kafka 代理、生产者、消...阅读全文

博文 2021-09-26 14:13:03 joseph