InfraPub 为您找到相关结果 675

Debian Jessie、Stretch 下安装配置 PHP7.2

Surý 是 Debian PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.2-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。 由于 PHP7.2 是新出的版本势必有不少的兼容性问题,我们建议等待开发者通知兼容PHP-7.2后,再进行升级,一些 PECL 扩展可能也不会及时适配该最新版。建议在你的网站业务低峰时段更新,并提前做好备份,以及回退的准备。Debian.cn 使用的是 WordPress 4.9 ,已 PHP7.2。 添加软件源 添加 GPG wget -O /etc/apt/trusted.gpg.d/php.gpg https...阅读全文

博文 2017-12-16 14:16:25 debian.cn

SK海力士进军PCIe 4.0 SSD:密度世界第一 轻松32TB

SK海力士今天正式发布了最新款的企业级SSD PE8000系列,包括PE8010、PE8030、PE8111三款型号,这也是其首款PCIe 4.0 SSD,无论存储密度、容量还是性能都是世界一流的,甚至是超一流的。 PE8010、PE8030都配备了SK海力士自产的96层堆叠4D TLC NAND闪存颗粒,搭配自研主控,最大容量8TB,兼容U.2、U.3接口,其中PE8010面向读取密集型应用,PE8030则为读写混合应用而优化。 性能方面,续读写速度最高均可达8.3GB/s、3.7GB/s,随机读写速度最高则可达1100K IOPS、320K IOPS。 相比于去年的上代产品,续读取性能提升103%,随机写入性能提升357%,另外最大功耗为17W。 PE8111则是针对读取密集型负载...阅读全文

博文 2020-04-08 09:31:41 debian.cn

Debian.cn 网站名更换为 Debian中国!

Debian.cn 正式更名为 Debian中国。相比我们之前使用的名字”Debian社区“,这个名字更中性一些,也避免了歧义。 Debian.cn 的内容风格还会和以前保一致,不会有明显变化,我们会继续重点关注 Debian系统 在生产环境的基础设施上的广泛应用,包括容器化、业务环境、大数据、媒体智能等。 这次一同调整的还有论坛功能。由于论坛中的的内容很少,我们上线了独立的讨论平台 bbs.debian.cn,和主站的账号系统保独立,并简化了注册。论坛的后台系统使用Discuz! Q 这个刚推出不久的开源的系统,欢迎注册。...阅读全文

博文 2020-08-10 11:45:14 debian.cn

iTerm2 如何保持连接?

使用 Linux 进行命令行操作时,一不留神 SSH 客户端就断开了连接,如何配置 SSH 客户端保连接? 第一种:修改配置文件 /etc/ssh/ssh_config 在文件末尾添加: ``` TCPKeepAlive yes ServerAliveInterval 300 ``` 第二种 在 iTerm2 的 Perferences > Profiles > session 中设置找到选项, 勾选 When idel, send ASCII code就可以了 ``` ☑️ When idle, send ASCII code 0 every 60 seconds ``` ASCII和时间间隔可自定义。通过这个配置,可以达到保 SSH 连接的目...阅读全文

谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA

并到所使用的 LTS 版本。 因此谷歌转向了滚动更新发行版,不过它没有选择知名的滚动更新发行版 Arch Linux,而是基于 Debian 测试分构建了 gLinux Rodete (Rolling Debian Testing)。 选择 Debian 是因为它有着庞大的社区和软件库,还可以使用 Debian 格式的现有内部软件包和工具。而且 Ubuntu 也是基于 Debian,迁移过去更容易顺畅。 Debian 稳定分也是差不多两年发布一次大更新,但其测试分是滚动更新的。滚动更新意味着需要尽可能防止新版本对现有工作流程造成破坏,为了管理从源代码构建所有上游软件包的所有这些复杂任务,谷歌构建了一个名为 Sieve 的工作流系统。通过运行一个虚拟化测试套件,确保核心组件和开发者工作流...阅读全文

博文 2022-07-31 19:13:41 中文开源技术交流社区

RabbitMQ 高可用实现镜像队列

:A,B同时停 该场景下可能是由掉电等原因造成,只需在30s内联系启动A和B即可恢复镜像队列。 场景3:A先停,B后停,且A无法恢复。 因为B是master,所以等B起来后,在B节点上调用rabbitmqctl forget_cluster_node A以接触A的cluster关系,再将新的slave节点加入B即可重新恢复镜像队列。 场景4:A先停,B后停,且B无法恢复 该场景比较难处理,旧版本的RabbitMQ没有有效的解决办法,在现在的版本中,因为B是master,所以直接启动A是不行的,当A无法启动时,也就没版本在A节点上调用rabbitmqctl forget_cluster_node B了,新版本中forget_cluster_node-offline参数,offline参数允许...阅读全文

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

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

有 30 分钟的时间进行付,如果 30 分钟之内没有付成功,那么这个订单将进行异常处理,这时就可以使用延时队列来处理这些订单了。 2)订单完成1小时后通知用户进行评价。 实现思路:发送延时消息时先把消息按照不同的延迟时间段发送到指定的队列中(topic_1s,topic_5s,topic_10s,…topic_2h,这个一般不能任意时间段的延时),然后通过定时器进行轮训消费这些topic,查看消息是否到期,如果到期就把这个消息发送到具体业务处理的topic中,队列中消息越靠前的到期时间越早,具体来说就是定时器在一次消费过程中,对消息的发送时间做判断,看下是否延迟到对应时间了,如果到了就转发,如果还没到这一次定时任务就可以提前结束了。 2.1.6 消息回溯 如果某段时间对已消费消息计算...阅读全文

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

Ubuntu 创始人解释为什么决定放弃 Unity

变得完全可续。即便明天他被汽车撞了,Ubuntu 项目也能继续发展下去。他还说到,这是不是有点神奇?这样一个世界级的企业平台,完全免费提供,但它却是可续的。 此外,Mark Shuttleworth 表示 Canonical 公司将会集中在云以及物联网领域发展。 失去 Unity 可能是对桌面用户的一大打击,但它有助于平衡公司的其他部分。...阅读全文

博文 2017-10-26 10:53:20 debian.cn

influxdb内存消耗分析及性能优化【探索篇】

1.新的问题influxdb目前内存型索引inmem及文件型索引tsi1。之前追踪篇将influxd索引修改为tsi1之后,经过一段时间的运行,从监控观察到,由于调用方采用异步队列+批处理的方案将数据写入influxdb,会在某些时刻调用方内部出现数据堆积,指标如图:横坐标: 时间轴,从12-29 00:00 到 12-30 00:00纵坐标: 队列中数据堆积长度,坐标最大值250k,即最大25w个数据堆积从上图可以看到,当天监控出现数次堆积,上午7:00-10:00尤为严重。在堆积时,登录influxdb服务器,查看机器状态如下:top - 09:40:58 up 120 days, 19:18, 1 user, load average: 32.29, 32.32, 29.82...阅读全文

博文 2021-10-27 16:06:30 知乎

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

服务。如果cortex有许多的查询,则可以扩展Querier或Query Frontend微服务。高可用性– Cortex可以在实例之间复制数据replicate data。这样可以防止数据丢失,并避免度量标准数据出现间断,即使发生机器故障and/orpod被驱逐。多租户–多个不受信任的parties可以共享同一群集。Cortex在从ingester到querying的整个生命周期中提供数据隔离。这对于为多个单元或应用程序存储数据的大型组织或运行SaaS服务的人员非常有用。长期存储– Cortex将数据分块存储并为其生成索引。可以将Cortex配置为将其存储在自托管或云提供商的数据库或对象存储中。Cortex的需求Prometheus高可用性和数据去重Prometheus默认情况下不具有...阅读全文

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

Qt 5.9.4 正式发布:包含近 200 项 Bug 修复

Qt 5.9.4 已正式发布,这是继 5.9正式版 之后的第四个维护版本,未添加任何新功能,但提供了大量的 Bug 修复和性能改进。 与 Qt 5.9.3 相比,新的 Qt 5.9.4 包含近 200 项 Bug 修复 以及超过 500 项更改。有关重要更改的详细信息,请查阅发行说明。 开发团队表示,Qt 5.9 LTS 将很快进入“Strict” 阶段(在发布 Qt 5.11 分之后)。届时,它仍将得到重要的 bug 修复和显着的性能改进。下一个 Qt 5.9.5 补丁版本计划于 2018 年 3 月底发布。 Qt 是一个跨平台的 C++ 图形用户界面应用程序框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发 GUI 程序,也可用于开发非 GUI 程序。Qt 是完全面向对象的...阅读全文

博文 2018-01-25 10:38:53 debian.cn

Debian 9.9 发布 修复超过120个bug与安全问题

Debian 项目今天发布了其稳定分 Debian 9(代号 Stretch)的第九个常规维护更新 Debian 9.9。这种“point release”不是全新的发布版本,而只是更新了一些包含的软件包,所以用户没有必要扔掉之前的 9 版本,只需要使用最新的 Debian 镜像将软件包升级到当前版本。 如果您已经在计算机上运行Debian GNU / Linux 9“Stretch”操作系统系列,那么您只需通过安装官方软件存储库中的所有更新来更新您的安装。为此,您可以在终端仿真器中运行“sudo apt-get update && sudo apt-get dist-upgrade”命令。 Debian GNU / Linux 9.9“Stretch”维护更新包括总共122个更改,包括...阅读全文

Google Chrome 在浏览器市场表现优异 继续拉开对手

Google Chrome是桌面上最常用的浏览器并不是秘密,但NetMarketShare在9月份发布的新数据显示,该产品与其竞争对手之间的差距几乎每个月都在增加。Google Chrome的市占率从8月的65.21%上升到上个月的66.28%,再一次表明用户并不真正关心浏览器市场中的其他应用程序。 尽管其他厂商努力推动他们的应用,但这种差异正在变得越来越大。例如,微软经常被指责用各种“新奇手法”试图说服Windows 10用户坚使用Edge。他们的策略涉及桌面上显示的广告,微软甚至考虑让邮件应用程序中默认用Edge打开链接,而不管用户的配置如何。 然而,这些工作毫无意外地全都失败了,并且似乎已经适得其反。微软Edge上个月的市场从4.30%的下降到4.08%。Mozilla...阅读全文

MX Linux 17 Beta 1 发布,基于 Debian 的发行版

MX Linux 是基于 Debian 稳定分的面向桌面的 Linux 发行,它是 antiX 及早先的 MEPIS Linux 社区合作的产物。它采用 Xfce 作为缺省桌面,是一份中量级操作系统,并被设计为优雅而高效的桌面与如下特性的结合:配置简单、高度稳定、性能可靠、占用空间不大也不小。 MX-17 Beta 1 镜像现在可供下载和测试。 Beta 1 具有以下功能: antiX 项目的最新实时系统更改和修复; Debian(Stretch)的最新更新; 4.9.0-4 内核(alphas 特性 4.9.0-3); 32 位 ISO 有 PAE 内核,而非 PAE; 更新软件包,包括 LibreOffice 5.4.1 的更新和 mx-apps; mx-tweak 替换了 mx...阅读全文

博文 2017-11-07 10:19:49 debian.cn

Linux Lite 宣布使用基于 Linux Kernel 4.14 的内核

Linux Lite 项目维护成员 Jerry Bezencon 今天发布推文,这款基于 Ubuntu 的发行版本现在已经基于最新的 Linux Kernel 4.14 分内核。 如果你正在使用 Linux Lite 2.x/3.x 系列,那么可以通过下面这段命令行来获取 4.14 内核,除了在安装完成之后需要重启之外用户不再需要任何其他操作。不过要注意的是,这可能会破坏您已经安装的任何专有驱动程序(如 NVIDIA 或 AMD Radeon 图形驱动程序) sudo apt-get update && sudo apt-get install -y linux-headers-linuxlite-4.14.0 linux-image-linuxlite-4.14.0 此外用户也可以通过...阅读全文

Debian Buster 10.2 发布: 合计115项改进

Debian项目团队于今天发布了Debian GNU/Linux 10 “Buster”分的第二个维护版本更新,和此前版本更新相隔2个多月时间。为那些想要在新电脑上部署操作系统,或者不想要下载数百个更新的用户,Debian 10.2将会提供新的安装镜像。Debian GNU / Linux 10.2“ Buster”总共包含115个更改,包括66个各种BUG修复,以及49个针对各种核心组件和软件的安全更新。 下载:https://www.debian.org/mirror/list Debian团队表示:“值得注意的是,本次维护版本更新并不构建Debian 10的新版本,只是对系统的部分组件进行了更新。因此目前不需要丢弃旧的安装媒介。在完成安装之后,可以使用最新的Debian镜像来升级至...阅读全文

博文 2019-11-17 17:20:30 debian.cn

什么是线程安全,以及并发需要知道的几个概念

里等待,直到售货员把衣服交给你后才算购物成功,这就相当于同步的过程。 不过,如果是在网上购物的话,我们只需下单并完成付,对我们来说整个购物过程就算完成了。网上的商家接到订单会帮我们加紧安排送货,这段时间我们可以去做其他的事,比如去外面打个篮球之类的。等送货上门并签收商品就完事了,这个过程就相当于异步。 并发和并行并发和并行的功能很相似,两者都可以表示多个任务一起执行的情况,但本质上两者其实是有区别的。 严格意义上来说,并行的多任务是真实的同时执行,而并发更多的情况是任务之间交替执行,系统不停的在多个任务间切换执行,也就是 “串行” 执行。 最直接的例子的就是我们的计算机系统,在单核CPU时代,系统表面上能同时进行多任务处理,比如听歌的同时又浏览网页,但真实环境中这些任务不可能是真实并行的...阅读全文

博文 2018-12-31 20:44:06 debian.cn

如何解决 XFS 文件系统 duplicate UUID can't mount

如果你在 dmesg 日志中发现了该错误,对应的 xfs 分区不能被挂载和使用, ``` "XFS Filesystem has duplicate UUID", ``` 临时解决办法是,在 mount 命令中使用 nouuid 挂载选项, ``` # mount -o ro,nouuid /dev/nvme0n1p1 /mnt ``` 临时解决办法在你机器重启后将失效,久的办法应该是使用 xfs_admin 命令行工具生成新的 UUID,然后将新的UUID配置到 /etc/fstab 中, ``` # xfs_admin -U generate /dev/nvme0n1p1 Clearing log and setting UUID...阅读全文

代码审计CodeQL

CodeQL是一个白盒源码审计工具,它以一种非常新颖的方式组织代码与元数据,使研究人员能够“像查询数据库一样检索代码”,并发现其中的安全问题。 GitHub于去年收购了开发CodeQL的公司Semmel,并与其联合成立了GitHub Security Lab,Semmel在此前推出了面向开源社区和企业的源代码分析平台 LGTM,这个平台能够自动化的发现并预警GitHub上开源软件的安全问题,同时,与CodeQL一样对开源社区与开发者保免费。...阅读全文

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

成一个三节点的 Kubernetes 集群的创建,可以开始愉快的玩耍了。 K3s 的蛋蛋 如果执行 kubectl get pods --all-namespaces,就会看到其它服务的一些 Pod,比如 Traefik。Traefik 在这里起到是反向代理和负载均衡器的作用,它可以让流量从单个入口进入集群后引导到集群中的各个服务。Kubernetes 这种机制,但 Kubernetes 本身不提供这个功能,因此 Traefik 是一个不错的选择。...阅读全文

博文 2020-04-12 16:30:23 debian.cn

深入学习golang — channel

Channel 1. 概述 “网络,并发”是Go语言的两大feature。Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单。写一个Server除了网络,另外就是并发,相对python等其它语言,Go对并发使得它有更好的性能。 Goroutine和channel是Go在“并发”方面两个核心feature。 Channel是goroutine之间进行通信的一种方式,它与Unix中的管道类似。 Channel声明: ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType . 例如: var ch chan int var ch1 chan<- int //ch1只能写...阅读全文

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

项目总结报告应该怎么写

意以上统下,中心句可以概括表达下方层级的内容。在结论中如果涉及层级关系时,要注意逻辑递进,便于理解。比如说老板、经理、职员这三个职位排列时要按照职位的重要程度进行从上到下排列。结论:1)结论的排列顺序遵循先扬后抑,结论内容是正向的放在前面,结论内容是负向时放在后面;2)结论中必须有观点,且观点有数据撑,表达方式为结论→理由→撑理由的事实和依据;3)结论中的内容是正向的文字颜色可以标为绿色,内容是负向的文字颜色可以标为红色。6.方案落地执行这部分内容其实是报告发布之后,对报告中的解决方案进行跟踪落实,让我们做的事情有始有终,形成一个闭环。写在最后好的项目总结都是相似的:结构清晰、重点突出、观点明确且有数据撑,便于快速获取关键信息。愿大家都可以写出一份可以解决实际问题好的项目总结。...阅读全文

Debian 9 使用kubeadm创建 k8s 集群(上)

本教程使用的是 Kubernetes 1.14版,这是本文发布时的官方版本。 有关最新版本的最新信息,请参阅官方Kubernetes文档中的当前发行说明 。 Kubeadm自动安装和配置Kubernetes组件,例如API服务器,Controller Manager和Kube DNS。 但是,它不会创建用户或处理操作系统级依赖关系及其配置的安装。 对于这些初步任务,可以使用Ansible或SaltStack等配置管理工具。使用这些工具可以更加简单地创建其他集群或重新创建现有集群,并且不易出错。 在本指南中,您将使用Ansible和Kubeadm从头开始设置Kubernetes集群,然后将容器化的Nginx应用程序部署到它。 目标 您的群集将包含以下物理资源: 一个主节点 主节点...阅读全文

博文 2019-05-13 22:47:39 debian.cn

Debian已着手部署补丁:修复WPA2安全漏洞

-13088 根据Debian项目团队表示, Jessie (security)、 Stretch (security)和Sid分已经获得了修复补丁。而Debian 7 Wheezy目前仍未修复,不过由志愿者组成的团队已经着手发布修复补丁。 对于广大普通 Wi-Fi 用户来说,这意味着 —— 即使你不会很快被入侵,在路由器制造商发布安全更新之前,你的无线网络都将处于易受攻击的状态。 浏览网站或使用各项服务的时候,要多留意其是否启用了安全超文本传输协议,不然从你手机或电脑中发出的信息都有可能被攻击者给窃取。...阅读全文

博文 2017-10-17 13:32:27 debian.cn

在 Debian Stretch 上安装 FFmpeg

stretch main" >> /etc/apt/sources.list.d/multimedia.list' sudo apt-get update sudo apt-get install deb-multimedia-keyring sudo apt-get install ffmpeg 卸载命令: sudo apt-get remove ffmpeg --purge sudo rm /opt/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg 在 Ubuntu 系统中安装卸载 ffmpeg 在 Ubuntu 系统及衍生的分包括:Linux Mint,Pinguy OS,Elementary OS,Deepin,Peppermint Five,Linux Lite,LXLE...阅读全文

博文 2017-10-26 13:41:36 debian.cn

海盗船发布1.6TB NVMe SSD新品:采用PCIe 3.0 x4接口

海盗船(Corsair)刚刚为 Neutron NX 500 系列固态硬盘驱动器添加了 1.6TB 的新版本,其售价为 1575 美元(约 10389 RMB),折合每 GB 容量 0.98 美元。 在 ATTO 基准测试中,其续读 / 写性能分别达到了 3000MB/s 和 2800MB/s;换用 CrystalDiskMark 的话,则是 2800MB/s(读取)和 1600MB/s(写入)。随机读 / 写性能上,1.6TB 版本分别可达 300k 和 270k IOPS 。 不过与外媒在今年早些时候评测过的 400GB 版本相比,1.6TB 版本 NX500 NVMe SSD 的性价比反而并不高。如果官方的读写数据是可以相信的,那 1.6TB 版本的售价未免也太高了。 作为对比,三...阅读全文

事务性包管理器 GNU Guix 1.0.0 正式发布

2012 年宣布的 GNU Guix 包管理器项目正式释出了 1.0.0 版本。在过去七年中,260 名开发者递交了超过 4 万个 commits,此外还有文档、翻译、设计等方面的大量工作。 GNU Guix 是事务性包管理器,可以安装在 GNU/Linux 发行版上,也可以作为 i686、x86_64、ARMv7 和 AArch64 机器的独立操作系统发行版。 用户可使用 Guix 安装应用程序并保程序在最新状态,软件开发者可以产生一次性的软件环境,系统管理员可以更容易的部署复杂服务。 感兴趣的用户可以使用虚拟机镜像体验 Guix。...阅读全文

博文 2019-05-05 12:58:39 debian.cn

Docker 重大更新,版本升至17.03

3月2日,Docker 官方发布了一篇 blog ,宣布企业版到来。版本也从1.13.x一跃到17.03。之后,Docker 会每月发布一个 edge 版本(17.03, 17.04, 17.05...),每三个月发布一个 stable 版本(17.03, 17.06, 17.09...),企业版(EE) 和 stable 版本号保一致,但每个版本提供一年维护。 Docker 的 Linux 发行版的软件仓库也从以前的 https://apt.dockerproject.org / https://yum.dockerproject.org 变更为目前的 https://download.docker.com/。软件包名变更为 docker-ce (社区版) 和 docker-ee (企...阅读全文

博文 2021-01-28 17:50:23 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

Debian 10(代号 Buster)或于 2019 年中期发布

Debian 发行团队发布了有关即将到来的 Debian 10 “Buster” 的最新信息。Debian 发行团队目前计划在 2019 年 1 月 12 日开始往冻结状态过渡,2019 年 2 月 12 日处于软代码冻结状态 (Soft Freeze),并最终于 2019 年 3 月 12 日左右进行全面冻结。 据表示,官方发布 Debian 10.0 “Buster” 的时间将是明年年中左右。 此外,对于 Debian 11 “Bullseye”,他们希望能通过续集成、自动打包测试等方式引入更多的自动化 QA 测试,而根据过去的发布时间,Debian 11.0 可能会在 2021 年发布, 而 Debian 12 的代号也已经确定,被命名为“Bookworm”。显然,还要再过好几年才...阅读全文

博文 2018-04-19 08:13:42 debian.cn

Linux Kernel 5.10改进EXT4文件系统:随机覆盖性能提升10倍

在 Linux Kernel 5.10 代码中已经增加了对 EXT4 文件系统的更新,其中包括在 DAX/DIO 模式下大幅改进文件覆盖的效率。尤其是在运行英特尔 Optane DCPMM 存储的情况下,并行写入尤其是随机覆盖性能可以提升 10 倍以上,常规操作也能提升 2 倍以上。但是您必须使用 EXT4 iommap 代码(例如在DAX / DIO模式下),并且此更改不会影响 EXT4 的常规操作。 另一项针对 EXT4 的重大改变是由谷歌 Harshad Shirwadkar 提交的 “fast commits”。fast commits 模式和在有序模式(挂载选项 data=ordered)运行的 EXT4 用户有关,在保最小增量的情况下与 JBD2 日志共享的快速提交空间中重新...阅读全文

博文 2020-10-25 10:58:54 debian.cn

使用 MongoDB 之前应该知道的 14 件事

返回一个空的记录集 。 Lookup 而没有索引 Lookup 的功能和 SQL 联合查询类似。为了获得良好的性能,作为外键的键值上需要有索引。这并不明显,因为其使用并没有在 explain() 中报告。这些索引并不包含在 explain() 记录的索引里,那些索引是供管道操作符$match、$sort 出现在管道开始时使用的。现在,索引可以覆盖聚合管道的任何阶段 。 不使用多条更新 db.collection.update() 方法用于修改一个已存在文档的一部分或全部,或者是整个替换一个已存在的文档,这取决于你提供的 更新参数 。除非你设置 multi 参数,更新匹配查询条件的所有文档,否则它不会更新集合里的所有文档。这一点不是那么明显。 忘记哈希对象中键序的意义 在 JSON 中,一...阅读全文

使用 Go 语言的三个原因

阅读行为放在编写之上 。Go 通过工具和自定义来强制所有代码格式化成特定的样式。这消除了学习项目特定语言的方言时的困难,并有助于发现错误,因为它们 看上去 就是不正确。 由于专注于分析和机器辅助,Go 开发人员开始采用越来越多的工具来发现常见的编码错误,这种工具从来没有在 C 语言开发者中产生共鸣 – Go 开发人员 希望 工具帮助他们保代码清洁。 并发性 十多年来,芯片设计师一直在警告 免费午餐将会结束 。从最低端的手机到最耗电的服务器,硬件的并行性以 更多、更慢、堆砌 cpu 内核 的形式出现,但只有 当 你的语言可以利用它们才有意义。因此,并发特性需要内置到我们编写的要在今天的硬件上运行的软件中。 通过提供一种基于协程的 轻量级并发模型 ,或者是 Go 中已知的 goroutines...阅读全文

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

成为Debian社区维护人需要做好的准备

Bug、回应用户请求),来使你的 sponsor 相信你已经有能力来处理好某个特定软件包,这样他们才会在接下来的申请流程中推荐你。 一些 sponsor 会在他们觉得合适时向你提议申请 DM,另外一些不会,作为新维护人员要在自己觉得差不多合适的情况下和 sponsor 进行沟通,听取他的意见看是否可以申请。 6. 申请 DM 前要让至少一位你 sponsor 之外的 DD 对你的 GPG 密钥进行数字签名,且密钥本身至少要 2048 RSA 或更强。签署密钥不需要对能的考察,其目的是确认每个密钥的控制者确实是他本人,从而构建 Web of Trust,因而任何人都可以参与到密钥签名活动当中。签名时一般需要双方在现实生活中见面,互相检查身份证或护照确认无误后,交换事先打印好的 GPG key...阅读全文

Linux下多线程程序为什么消耗大量虚拟内存

; getchar(); getchar(); pthread_create( &th, 0, thread_run, 0 ); while ( (getchar() ) ) { start = 1; } return(0); } 其运行结果如下图,刚开始时,进程占用虚拟内存14M,输入0,创建子线程,进程内存达到23M,这增加的10M是线程堆栈的大小(查看和设置线程堆栈大小可用ulimit -s),第一次输入1,程序分配1k内存,整个进程增加64M虚拟内存,之后再输入2,3,各再次分配1k,内存均不再变化。 这个结果让我欣喜若狂,由于以前学习过谷歌的Tcmalloc,其中每个线程都有自己的缓冲区来解决多线程内存分配的竞争,估计新版的glibc同样学习了这个巧,于是查看pmap $(pidof main...阅读全文

博文 2015-01-28 10:35:39 debian.cn

Golang 应用集成 Prometheus 统计数据支持

:请求续时间,响应大小。可以对观察结果采样,分组及统计。例如设置一个name为web_request_duration_seconds的Histogram 的metrics,并设置区间值为[0.1,0.5,1]会对区间点生成一条统计数据. # 响应时间小于0.1s的请求有5次 web_request_duration_seconds_bucket{endpoint="/query",method="GET",le="0.1"} 3 # 响应时间小于0.5s的请求有次 web_request_duration_seconds_bucket{endpoint="/query",method="GET",le="0.5"} 5 # 响应时间小于1s的请求有7次...阅读全文

博文 2022-11-24 10:33:09 CSDN博客

Java Annotations详解

) { localNames = new ArrayList(); } localNames.add(getVehicleName()); return localNames; } } Java预置的编译注释 Java三个可以用来给编译相关的注释,它们是: · @Deprecated · @Override · @SuppressWarings 下面将对它们此次做解释 @Deprecated @Deprecated用来标记一个类、方法、成员变量已经被舍弃了。如果你的代码中使用舍弃(Deprecated)的类、方法或成员变量,那么编译器会给你一个警告。下面是一个例子: @Deprecated public class MyComponent { } 当你使用@Deprecated表示舍弃时,你也可以在Java文档中...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

利用 NAT VPS 进行流量中转

Firewall (UFW) on Ubuntu配置 iptables、ufw 端口转发iptables port forwarding only for a certain range of IPgartnera / tcp-forward.servicesocat 中转单个端口, TCP 和 UDPsocat(1) - Linux man pagesocat 多端口转发配置socat 使用手册How to run socat in the background?socat examplesMigrate socat init script to systemdCan socat be started directly by systemd?socat port forwarding for...阅读全文

博文 2021-03-11 21:16:11 Silearner

如何在 Debian 下配置邮件服务器

:~# apt-get install dovecot-common dovecot-pop3d dovecot-imapd dovecot可以POP3和IMAP(plain text),以及加密POP3S和IMAPS(secured)。默认情况下,dovecot将创建和使用SSL加密的自签名证书。证书可以根据需求手动创建或导入。在本教程中,将使用dovecot生成的自签名证书。 POP/IMAP:准备配置文件 根据需要修改下面的参数。 root@mail:~# vim /etc/dovecot/conf.d/10-mail.conf ## the location of the mailbox is specified in 'mbox' format ## mail_location...阅读全文

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

基于thanos搭建分布式prometheus

: failureThreshold: 10 httpGet: path: /-/ready port: 9090 scheme: HTTP initialDelaySeconds: 60 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 3 terminationGracePeriodSeconds: 60 thanos-querier需要指定反向代理的列表,它基于DNS SRV记录的服务发现机制,因为thanos querier部署在K8S集群内,所以直接走coredns的DNS SRV记录发现thanos receive的所有POD地址即可,对应参数:–store=dnssrv+_grpc._tcp.thanos...阅读全文

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

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

no LVM-Thin images,rootdir raw no yes yes 可以看到,LVM-Thin 快照和克隆,但是不能共享了,没事,我不需要共享给别的节点,我没用集群。 但是添加 LVM 和 添加 LVM-Thin 的步骤都记录下。 如果是添加 LVM如果是要添加 LVM,只需要到 Datacenter - Storage点击 Add:LVM 123Base storage: Existing volumn groupsVolumn group: hddID: 随便取名 这样添加后,容量是 hdd 的容量, 2.73T , 但是会显示已经占用了 100G。 Usage 3.59% (100.20 GiB of 2.73 TiB) 如果是添加 LVM-Thin添加 LVM...阅读全文

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

Go 1.10 发布说明草案:预计于 2018 年 2 月发布

Go 1.10 还没发布,下面将简单介绍正在进行中的 Go 1.10 发布说明草案。Go 1.9 已于 2017 年 8 月发布,最新的 Go 1.10 预计将于 Go 1.9 发布六个月后 —— 2018 年 2 月发布。 Go 1.10 大部分的变更仍然集中在工具链、运行时和库的实现上。一如既往地,此版本依然会 保与 Go 1.x 的兼容性 ,官方表示几乎所有的 Go 应用程序都能像以前一样继续编译和运行。 语言特性方面的改变 语言特性方面没有实质性的变化。 极端情况下,由无类型常量引起的变化已经弄清楚。因此,编译器也已进行升级,它可允许这样的索引表达式 x[1.0 << s] 通过编译,其中 s 是一个无类型常量。go/types 包也已完善。 方法表达式的语法 (grammar...阅读全文

博文 2017-11-18 13:59:12 debian.cn

如何在 Debian 中锁定软件包版本

在 Debian 或基于 Debian/Ubuntu 的 Linux 发行版系统中,有多种方法可以将软件包锁定在一个特定的版本。也就是说,可以将某个软件固定维护在指定版本,不让其随系统更新而更新。 为什么要锁定软件包,防止软件包更新呢? 通常是用户对某个软件版本有特定的需求,或更新期间、更新后可能会导致问题,所以需要维特定的版本不进行升级。在常见的数据类服务中,这样的需求很有代表性,比如缓存Redis、数据队列RabbitMQ等。还有部分服务依赖于系统中特定的软件,比如指定的 Linux 内核版本,这时就需要锁定内核版本防止因内核升级导致服务异常。 我们这里介绍两种方式,防止软件包被更新。需要注意的是,如果软件包被其他软件所依赖,阻止其更新,可能会导致关联问题。建议将尽量少的的软件包锁定...阅读全文

博文 2019-01-09 13:19:52 debian.cn

Debian及衍生版自动安装系统更新

在本篇文章中,我们将介绍如何在 Debian 和其衍生版上,配置系统自动安装更新,并通过邮件通知系统管理员,每次升级的变更内容。本文中提到的多数命令,由于是系统层面的配置,需要用 root 来执行。 在配置系统更新前,我们需要安装这两个安装包,安装命令如下: # apt update && aptitude install unattended-upgrades apt-listchanges -y unattended-upgrades 是一个可以让系统保自动更新的包。这些更新包含了安全更新和 Bugfix 等。启用 unattended-upgrades 后,我们还需要知道每次改动的内容,apt-listchanges 解决了这个问题,它将会邮件通知我们升级过程中发生的改变。 依赖包...阅读全文

博文 2019-06-04 12:23:56 debian.cn