Open media vault 开启Wi-Fi热点

之前家里弱电箱一直放着着一套WD的网络硬盘做个人NAS,除了日常一家人的数据共享之外,还可以配合Macbook的时间机器功能,非常便利!眼瞧着用了接近8年的东西,也差不多到了必须要退休的时间了。另外,前几日家里的wifi坏掉了,用着卡到爆的电信的“接入设备”光猫+Wi-Fi撑了几天。这不到了618了,正准备一次性换掉两样东西。但简单的盘算了一下,觉得这次就自己一下DIY搞定。

继续阅读“Open media vault 开启Wi-Fi热点”

从Linux perf的数据采集说起

挺长时间了,不太情愿地做了一个给蝙蝠集团之一的consultant,即给所谓“精细化资源管理”做支持,该系统通过一个Linux perf为接口的守护工具,不断向控制节点发送当前系统中每一个应用的细粒度资源使用情况,方便从全局入手为应用程序求得最优分配方案。在这个过程中,A-B测试的结果反映这个守护工具会影响到业务的性能——这是意料之中的,对方的认可的心理底线是性能下降3%以内。可问题是对于某个核心应用的特定场景,这个工具居然导致了30%左右的性能下降,这就尴尬了!

继续阅读“从Linux perf的数据采集说起”

一个测试性能不稳定的问题

经常会通过一些通用的测试工具测试一些服务器的性能,个人非常喜欢SPEC的一系列产品,特别是SPECcpu。SPECcpu原理上通过接近30种不同特性的组件的执行时间对服务器的计算吞吐能力进行一个客观的评价。当然,由于计算机的硬件配置不同,不同的程序跑分各有千秋,但有一点也是SPECcpu能够成为业界标准之一的原因是跑分结果的稳定。这么说不夸张:如果其中的一个测试组件两次跑分差距超过5%,请仔细检查环境有没有变化。

继续阅读“一个测试性能不稳定的问题”

高性能编程的困境

之前收到公司一个大牛的PPT,里边详细分析了一个典型的代码段在短短2~3秒钟时间内的内存访问特征。内容翔实紧凑,说的有理有据。技术类PPT的惯例,文中有几页折线图表达了整个过程中每一细微时间粒度上的内存带宽变化,扫了一眼细细密密的横坐标,一方面感慨大牛的数据之精确,另一方面忽然有了放challenge的冲动。

继续阅读“高性能编程的困境”

Linux CFS调度器

一直没有写过关于Linux内核调度器的内容,这几天被问起,简单的讲了讲,收到一堆challenge,这次决定做一个通篇总结方便自己整理思路。
要说Linux2.4和2.6最大的差异就在于CFS调度器的引入。CFS是 Completely Fair Scheduler 的缩写。不过讲真话,个人并不完全认同“完全公平”调度是这个算法的本意,如何裁决资源抢占(preempt,字面上是优先权)才是这个调度器的本意。

继续阅读“Linux CFS调度器”

Linux的tickless设置

尽管当前已经是多核心SMP时代,但作为”多用户,多任务“操作系统,Linux还是通过分时复用的方式,即给一个个任务分配不同的时间片从而实现用户感知上的多任务。而各种中断则拥有最高的响应权限,可以直接导致线程的切换。

问题来了。记得我之前曾经在某篇帖子上说过:低时延和大吞吐量有的时候是一对矛盾。解决低时延,系统需要多个不断切换的线程接收用户端的数据——想象一下加特林机枪的射速是通过多枪管轮流发射达到低时延的目的;而大吞吐量往往需要一个不受干扰的持续运行状态——就如一条生产线,每一次更换产品都会带来一系列的时间损失。

继续阅读“Linux的tickless设置”

如何让SElinux和Docker并存

作为Redhat/Centos/Fedora 系的Linux特性之一,SElinux是一个相对简单易用安全管理工具。具体的细节我们这边就先不展开,简单的举个例子就是,假设现在某个网站的漏洞允许用户上传一个页面文件(比如php文件)到任意目录,如果有了SELinux的保护,不同的MAC权限保证了上传的文件依然无法被执行。

继续阅读“如何让SElinux和Docker并存”

Ubuntu snap安装包

之前一直不太想过多的介绍Ubuntu的snap安装方式,这次就做个快速总结吧。

自从1604之后,Ubuntu增加了一个snap的安装包管理系统,经过snap封装的应用被称为uApp。个人感觉这个安装包管理系统有点类似于docker的封装,软件发行商将不再需要过多的关注Linux那复杂繁琐的依赖包问题,也就说一个snap包会将所需的软件以及依赖包统统封装在一起。如果这种封装方式得到推广,Ubuntu就会拥有一套类似于apple app store的软件发布系统。同时,uApp模式使过去跨发行版发布软件的难度降低,ubuntu的幕后Canonical当然也会一家独大的垄断snap的发布渠道。

继续阅读“Ubuntu snap安装包”