InfraPub 为您找到相关结果 64

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

) echo "File deleted.";; 1) echo "File not deleted.";; 255) echo "[ESC] key pressed.";; esac 7. logger 命令 这个命令可以让你系统日志例如 /var/log/messages: logger "MySQL database backup failed." tail -f /var/log/messages logger -t mysqld -p daemon.error "Database Server failed" tail -f /var/log/syslog 输出: Apr 20 00:11:45 vivek-desktop kernel: [38600.515354] CPU0...阅读全文

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

改善 Debian Linux 软件包管理的七款工具

了十个速度最快的镜像,然后把它们到你的软件包源列表。apt-spy执行类似的功能。 3. apt-transport-tor 你可能也知道了,Tor是一款匿名浏览工具。然而,即便你注重安全,下载软件包有可能让别人跟踪你的活动,进而一路跟踪你的系统。 apt-transport-tor让你可以堵住这个安全漏洞,它通过Tor来传输软件包管理指令。 2. cron-apt 如果你注重安全,或者只想要最新软件包,cron-apt可以帮助你确保版本最新。顾名思义,cron-apt可以为你的系统调度定期下载,并通知可用更新版。用户往往每天更新一次。 然而要注意:cron-apt下载但不安装更新的软件包。这个限制是有意设置的,因为在无人照看的情况下安装一切会导致系统问题。检查什么更新版可用后,你可以手...阅读全文

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

Apache Kafka发布 3.0 正式版

不是与什么的AdminClient收益已经为最新的偏移,这是下一个记录的偏移,在主题/分区混淆。)这个扩展现有ListOffsets API允许用户探测生动活泼的通过询问哪个是最近的记录的偏移量以及它的时间戳是什么来分区。kafka ConnectKIP-745:连接 API 以重新启动连接器和任务在 Kafka Connect 中,连接器在运行时表示为一组Connector类实例和一个或多个Task类实例,并且通过 Connect REST API 可用的连接器上的大多数操作都可以应用于整个组。从一开始,一个值得注意的例外restart是Connector和Task实例的端点。要重新启动整个连接器,用户必须单独调用以重新启动连接器实例和任务实例。在 3.0 中,KIP-745使用户...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

,和 Barrier 对齐阻塞数据影响性能处理的问题。 3. Generalized Incremental Checkpoint [2] Generalized Incremental Checkpoint 主要是用于减少 Checkpoint 间隔,如左图 1 所示,在 Incremental Checkpoint 当中,先让算子 state 的 changelog。写完后才把变化真正的数据到 StateTable 上。state 的 changelog 不断向外部进行持久的存储化。在这个过程中我们其实无需等待整个 StateTable 去做一个持久化操作,我们只需要保证对应的 Checkpoint 这一部分的 changelog 能够持久化完成,就可以开始做下一次...阅读全文

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

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

) FreeBSD的Ceph的第一个版本可用。通过常规FreeBSD端口和软件包发布系统,最新可用版本:net/ceph-devel。 在 Jewel(v10.2.z)版本上进行的重要修改 RADOS 现在默认为AsyncMessenger (ms type = async)的传统SimpleMessenger。最明显的区别是 我们现在使用固定大小的线程池进行网络连接(而不是使用SimpleMessenger,一个socket两个线程)。 优化OSD故障检测时间,而以前的心跳超时(默认为20秒)。 优化OSDMaps的代码量。 集群在进行重平衡/数据恢复时,OSD会停止Scrub。 RGW RGW现在支持S3多对象复制API。 现在可以离线重塑现有的分支。离线目前,桶重塑要求所有IO(特别是)到特定的桶...阅读全文

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

架构师详解 Nginx 架构

,主进程和工作进程需要进程交互。交互依赖于 Socket 实现的管道来实现。 Master-Worker 交互 这条管道与普通的管道不同,它是由主进程指向工作进程的单向管道,包含主进程向工作进程发出的指令,工作进程 ID 等;同时主进程与外界通过信号通信;每个子进程具备接收信号,并处理相应的事件的能力。 worker-worker 交互 这种交互是和 Master-Worker 交互是基本一致的,但是会通过主进程。工作进程之间是相互隔离的,所以当工作进程 W1 需要向工作进程 W2 发指令时,首先找到 W2 的进程 ID,然后将正确的指令指向 W2 的通道。W2 收到信号采取相应的措施。 五. 总结 通过这篇文章,我们对 Nginx 服务器的整体架构有了一个整体的认识。包括其模块化的设计...阅读全文

博文 2018-05-01 23:10:47 debian.cn

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

/no,通过配置项[appendfsync]指定: appendfsync no:不进行fsync,将flush文件的时机交给OS决定,速度最快 appendfsync always:每一条日志就进行一次fsync操作,数据安全性最高,但速度最慢 appendfsync everysec:折中的做法,交由后台线程每秒fsync一次 随着AOF不断地记录写操作日志,必定会出现一些无用的日志,例如某个时间点执行了命令SET key1 “abc”,在之后某个时间点又执行了SET key1 “bcd”,那么第一条命令很显然是没有用的。大量的无用日志会让AOF文件过大,也会让数据恢复的时间过长。 所以Redis提供了AOF rewrite功能,可以重写AOF文件,只保留能够把数据恢复到最新状态的最小写...阅读全文

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

RabbitMQ 高可用实现镜像队列

如果 RabbitMQ 集群只有一个 broker 节点,那么该节点的失效将导致整个服务临时性的不可用,并且可能会导致 message 的丢失(尤其是在非持久化 message 存储于非持久化 queue 中的时候)。可以将所有 message 都设置为持久化,并且使用持久化的 queue,但是这样仍然无法避免由于缓存导致的问题:因为 message 在发送之后和被磁盘并执行 fsync 之间存在一个虽然短暂但是会产生问题的时间窗。通过 publisher 的 confirm 机制能够确保客户端知道哪些 message 已经存入磁盘,尽管如此,一般不希望遇到因单点故障导致服务不可用。 如果 RabbitMQ 集群是由多个 broker 节点构成的,那么从服务的整体可用性上来讲,该集群对...阅读全文

博文 2018-12-30 19:21:59 debian.cn

Kubernetes源码探疑:Pod IP泄露排查及解决方法

,kubelet通过给容器打不同的label来识别之。CRI是一个统一的容器操作gRPC接口,kubelet对容器的操作,都要通过CRI请求来完成,而Docker,Rkt等容器项目则负责实现各自的CRI实现,Docker的实现即为dockershim,dockershim负责将收到的CRI请求提取出来,翻译成Docker API发给Docker Daemon。 relist通过CRI请求更新到Pod中Sandbox容器和非Sandbox容器最新状态,然后将状态信息kubelet的缓存podCache中,如果有容器状态发生变化,则通过pleg channel通知到syncLoop循环。对于单个pod,podCache分配了两个数组,分别用于保存Sandbox容器和非Sandbox容器的最新状态...阅读全文

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

代表cpu使用的时间。例如: 九、Async-profiler的使用 和 火焰图分析 背景: 目前有一个kafka消费者工程,此工程会消费kafka中的消息,并通过fastjson解析该消息为java实体,然后存入到阻塞队列 BlockingQueue中。另外有若干个线程会从queue中批量拿消息,然后以批量形式到 elasticsearch 中。目前在使用中发现存在性能瓶颈,需要定位是该工程对消息转化处理较慢,还是写es操作比较慢。 9.1采集cpu profile数据 我们将代码回退到第一次测试的情况,并启动程序,并找到当前进程号(627891),然后通过如下命令进行采集,并转换为火焰图格式 svg。 ./profiler.sh -d 15 -i 50ms -o svg -e cpu...阅读全文

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

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

/customer# vgs VG #PV #LV #SN Attr VSize VFree hdd 1 9 0 wz--n- 2.73t 31.84g s163941-vg 1 2 0 wz--n- 223.33g 0 运行 lvs 和 vgs 发现之前的 VM 硬盘 还在,fdisk 格式化一下 看来 nocix 后台的 wipe hard disk 没起作用 1fdisk /dev/sdb m 可以查看帮助菜单 输入 p 回车,d 回车,w 回车 命令说明:p 打印分区d 删除分区w 更改 过程如下:123456789101112131415161718192021222324252627Command (m for help): pDisk /dev/sdb: 2.7 TiB...阅读全文

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

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

次通知。 水平触发 水平触发则简单多了,他包含了边缘触发的所有场景,简而言之如下: 当接收缓冲区不为空的时候,有数据可读,则读事件会一直触发。 当发送缓冲区未满的时候,可以继续数据,则写事件一直会触发。 同样的,为了使表达更清晰,我们也来举个栗子,按照上述入输入方式来进行。 服务端开启,客户端连接并发送单字符A,可以看到服务端输出情况如下: -->LT Mode: it was triggered once! get 1 bytes of content: A 这个输出结果,毋庸置疑,由于buffer中有数据,所以水平模式触发,输出了结果。 服务端开启,客户端连接并发送ABCDEFGHIJKLMNOPQ,可以看到服务端输出情况如下: -->LT Mode: it was...阅读全文

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

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

(Scheduler)来解决。 Scheduler 作为一个独立的组件运行在集群控制平面上,工作方式与其他 Controller 相同:监听实际并将系统状态调整到期望的状态。具体来说,Scheduler 的作用是将待调度的 Pod 按照特定的算法和调度策略绑定(Binding)到集群中某个合适的 Node 上,并将绑定信息 etcd 中(它会过滤其 PodSpec 中 NodeName 字段为空的 Pod),默认的调度算法的工作方式如下: 当 Scheduler 启动时,会注册一个默认的预选策略链,这些预选策略会对备选节点进行评估,判断备选节点是否满足备选 Pod 的需求。例如,如果 PodSpec 字段限制了 CPU 和内存资源,那么当备选节点的资源容量不满足备选 Pod 的需求时,备选 Pod 就不会...阅读全文

博文 2022-04-18 16:18:04 CSDN

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

案有如下优势: 可以优化数据模型,让数据更容易被消费。大多数数据模型避免冗余,因为冗余会让者一致性地编辑数据变得困难。因为我们的模型不允许编辑数据,所以可以生成重复的信息。这样,消费者那边的逻辑可以比较简单——比如,它们不需要特殊逻辑来找出某个字段的默认值存储在哪里,而只需要依赖扩展后的数据就可以了。和已有配置的集成。这是创建自己的生成pipeline的主要驱动力。在实践中,用户已将Prodspec与大量配置格式和实践集成在一起。“真相来源”可以针对人工或编程编辑进行优化。这很有用,因为我们需要用和配置Google Maps前端完全不同的方式来配置网络交换机。例如,你可能希望同时变更所有前端服务器的二进制版本。使用简单的数据库方案时,这需要编辑每个asset,从而导致潜在的不一致性,特别...阅读全文

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