This post was published in 2021-11-22. Obviously, expired content is less useful to users if it has already pasted its expiration date.
主要内容:(娱乐测试)不同Linux发行版的preload.py性能对比,EM算法
把本文的大部分内容整理到了一篇单独的文章,见:(娱乐测试)不同Linux发行版的preload.py性能对比
有关preload的代码见:WordPress cache preload code (python3) - Truxton's blog . 后来我又对这篇文章的preload.py进行了修改,统计网页底部的页面生成时间并取平均数,和preload.py总运行时间放在一起,作为最后统计的结果。长期以来,我一直用它来衡量LEMP的整体性能(尽管并不严谨)。
它经历了以下变化:(同一台VPS)
状态 | preload大致性能(越低越好) |
不知道为什么,安装了一个性能极低的PHP,很长一段时间都没有发现 | 0.5s左右 |
安装了正常性能(大概)的PHP,追上了一年前在腾讯云上测试的结果 | 0.22s左右 |
尝试从centos 8切换到Debian 11 | 0.28s左右,很失败 |
Debian 11很失败,切换到centos 7(考虑到centos 8的支持寿命) | 0.22s左右 |
又一次作死,尝试切换到redhat 8.5 | 0.28甚至0.35甚至0.47,非常非常失败 |
redhat 8.5很失败,切换到redhat 7.9 | 回到了正常水平(0.22s左右) |
仍在觊觎更高内核版本的linux发行版,希望能够在redhat 8.5这样的平台上跑出更高水平(<0.22s) | 打算尝试RHEL 7, RHEL 8, CentOS Stream, Fedora 35, Debian 11 |
听说RHEL个人版免费了,总是手痒想切换到RHEL 8.5。这两天手贱尝试了一次,发现preload性能特别特别差劲,不得不切回去(没有切回原先的centos 7.9而是切回了rhel 7.9),preload性能又回到了原来的水平。前一个月我也遇到过类似的情况(从centos 8切换到Debian 11.1性能反而从0.23下降到0.28)。鉴于preload的代码性能比较稳定(用了一个多月,有较多数据支撑),所以打算开一个Vultr $6/m的服务器单独测试各大linux发行版的preload性能。(不敢在唯一的服务器上测试了,每次测试网站都会离线小半天)
附:在这里查找Linux发行版的end of life:https://endoflife.date/
除了Linux发行版不同以外,其他的参数都尽量保持一致,包括nginx/php/mariadb/python/cython/pycurl...的版本。Python的版本跟随各大发行版的默认Python版本(比如RHEL 7.9/8.5使用的都是python 3.6.8,而Fedora 35是3.10),因为要使用python3-devel .
主机 | 安装的linux发行版 | 平均preload (单位:秒;越低越好) | 总时间 |
当前使用的VPS(超售严重) | CentOS 7.9 | 0.22~0.24 | |
当前使用的VPS(超售严重) | Redhat Enterprise Linux 8.5 | 0.27, 0.29, 0.37, 0.35... (很糟糕) | |
当前使用的VPS(超售严重) | Redhat Enterprise Linux 7.9 | 0.22~0.24 | |
Vultr (High Frequency $6/m) | Redhat Enterprise Linux 7.9 | 0.195~0.200 | 22~23 |
Vultr (High Frequency $6/m) | Redhat Enterprise Linux 8.5 | 0.175~0.180 | 21~22 |
Vultr (High Frequency $6/m) | Fedora 35 | 0.18~0.20 | 22~24 |
Vultr (High Frequency $6/m) | Debian 11 | 0.13~0.14(看下面的解释) | 25~26 |
Vultr (High Frequency $6/m) | CentOS Stream | 0.18~0.19 | 22~23 |
Debian 11是非常离谱的:虽然平均页面生成时间莫名其妙降到了0.13~0.14,但仔细一看就会发现preload.py的运行总时间仍然很高(甚至高于RHEL 7/8的运行总时间)。所以只能暂时把它归结于php编译出现了问题导致wordpress计算时间的方法出了问题。
EM算法
(后续再仔细读)🔗 [详解EM算法与混合高斯模型(Gaussian mixture model, GMM)_林立民爱洗澡-CSDN博客_gaussian mixture model] https://blog.csdn.net/lin_limin/article/details/81048411