Linux内核版本以及部分参数与性能之二

news/2024/10/4 21:27:49

Linux内核版本以及部分参数与性能之二


版本范围

grubby --set-default /boot/vmlinuz-6.9.4-1.el7.elrepo.x86_64
grubby --set-default /boot/vmlinuz-5.4.277-1.el7.elrepo.x86_64
grubby --set-default /boot/vmlinuz-4.19.12-1.el7.elrepo.x86_64
grubby --set-default /boot/vmlinuz-3.10.0-1160.el7.x86_64

测试工具-SPECJBB

内核版本 max-jOPS critical-jOPS
3.10 15840 1273
4.19 16410 1273
5.4 15669 1209
6.9 14428 1322

测试工具

Redis的验证
客户现场,因为有很多Redis的Client, 所以client 设置到 5000 进行模拟.
./redis-benchmark -h 127.0.0.1 -p 6379 -n 1000000 -c 5000 -q
默认值参数进行测试之一修改一个参数进行测试之二
修改参数的原因: The TCP backlog setting of 511 cannot be enforced because/proc/sys/net/core/somaxconn is set to the lower value of 128.
echo  512 > /proc/sys/net/core/somaxconn
再次进行相同的测试测试大key值. 

测试结果总结

image

3.10测试结果

PING_INLINE: 76057.20 requests per second, p50=33.343 msec
PING_MBULK: 74788.72 requests per second, p50=33.791 msec
SET: 77501.36 requests per second, p50=32.383 msec
GET: 80334.19 requests per second, p50=31.167 msec
INCR: 71341.94 requests per second, p50=34.943 msec
LPUSH: 78094.49 requests per second, p50=32.383 msec
RPUSH: 78474.45 requests per second, p50=31.199 msec
LPOP: 77851.30 requests per second, p50=32.367 msec
RPOP: 75614.37 requests per second, p50=33.503 msec
SADD: 78690.59 requests per second, p50=32.015 msec
HSET: 79195.38 requests per second, p50=31.455 msec
SPOP: 75007.50 requests per second, p50=34.111 msec
ZADD: 78505.26 requests per second, p50=31.807 msec
ZPOPMIN: 76581.41 requests per second, p50=32.591 msec
LPUSH (needed to benchmark LRANGE): 74822.30 requests per second, p50=33.823 msec
LRANGE_100 (first 100 elements): 60114.21 requests per second, p50=40.671 msec
LRANGE_300 (first 300 elements): 24937.66 requests per second, p50=100.607 msec
LRANGE_500 (first 500 elements): 16858.57 requests per second, p50=147.327 msec
LRANGE_600 (first 600 elements): 15697.11 requests per second, p50=158.591 msec
MSET (10 keys): 77966.63 requests per second, p50=32.543 msec
XADD: 76312.58 requests per second, p50=32.863 msec

4.19测试结果

PING_INLINE: 101040.72 requests per second, p50=23.839 msec
PING_MBULK: 98570.72 requests per second, p50=24.063 msec
SET: 97560.98 requests per second, p50=23.583 msec
GET: 83208.52 requests per second, p50=30.527 msec
INCR: 97314.13 requests per second, p50=23.695 msec
LPUSH: 96674.40 requests per second, p50=23.727 msec
RPUSH: 85932.80 requests per second, p50=29.327 msec
LPOP: 87673.16 requests per second, p50=26.815 msec
RPOP: 91920.22 requests per second, p50=25.743 msec
SADD: 96918.01 requests per second, p50=23.647 msec
HSET: 83472.46 requests per second, p50=30.447 msec
SPOP: 81314.03 requests per second, p50=30.831 msec
ZADD: 81632.66 requests per second, p50=31.007 msec
ZPOPMIN: 92980.01 requests per second, p50=24.655 msec
LPUSH (needed to benchmark LRANGE): 83689.01 requests per second, p50=29.935 msec
LRANGE_100 (first 100 elements): 62960.39 requests per second, p50=41.503 msec
LRANGE_300 (first 300 elements): 25910.09 requests per second, p50=97.919 msec
LRANGE_500 (first 500 elements): 17452.31 requests per second, p50=145.151 msec
LRANGE_600 (first 600 elements): 16337.73 requests per second, p50=154.879 msec
MSET (10 keys): 90432.27 requests per second, p50=26.607 msec
XADD: 87788.61 requests per second, p50=29.247 msec

5.4 测试结果

PING_INLINE: 87282.88 requests per second, p50=28.895 msec
PING_MBULK: 90366.89 requests per second, p50=29.007 msec
SET: 94526.89 requests per second, p50=25.279 msec
GET: 87989.45 requests per second, p50=27.487 msec
INCR: 84882.44 requests per second, p50=30.063 msec
LPUSH: 95319.80 requests per second, p50=24.271 msec
RPUSH: 98706.95 requests per second, p50=23.263 msec
LPOP: 81886.67 requests per second, p50=31.407 msec
RPOP: 83521.26 requests per second, p50=30.175 msec
SADD: 92566.88 requests per second, p50=25.007 msec
HSET: 89174.25 requests per second, p50=26.975 msec
SPOP: 90317.92 requests per second, p50=25.343 msec
ZADD: 87696.22 requests per second, p50=26.975 msec
ZPOPMIN: 91041.52 requests per second, p50=26.351 msec
LPUSH (needed to benchmark LRANGE): 95978.50 requests per second, p50=23.999 msec
LRANGE_100 (first 100 elements): 59520.27 requests per second, p50=43.359 msec
LRANGE_300 (first 300 elements): 26372.70 requests per second, p50=96.319 msec
LRANGE_500 (first 500 elements): 17874.06 requests per second, p50=141.439 msec
LRANGE_600 (first 600 elements): 16672.22 requests per second, p50=151.807 msec
MSET (10 keys): 85800.09 requests per second, p50=30.399 msec
XADD: 98784.95 requests per second, p50=23.839 msec

6.9 测试结果

PING_INLINE: 76458.45 requests per second, p50=33.055 msec
PING_MBULK: 73206.45 requests per second, p50=35.231 msec
SET: 74738.41 requests per second, p50=34.079 msec
GET: 75278.53 requests per second, p50=33.695 msec
INCR: 74771.95 requests per second, p50=34.015 msec
LPUSH: 73067.37 requests per second, p50=34.911 msec
RPUSH: 77706.11 requests per second, p50=32.175 msec
LPOP: 78920.38 requests per second, p50=31.887 msec
RPOP: 73329.91 requests per second, p50=35.327 msec
SADD: 75488.79 requests per second, p50=33.087 msec
HSET: 75454.61 requests per second, p50=33.407 msec
SPOP: 74794.31 requests per second, p50=33.695 msec
ZADD: 72653.30 requests per second, p50=35.295 msec
ZPOPMIN: 75809.27 requests per second, p50=33.311 msec
LPUSH (needed to benchmark LRANGE): 75884.05 requests per second, p50=33.183 msec
LRANGE_100 (first 100 elements): 57960.93 requests per second, p50=43.167 msec
LRANGE_300 (first 300 elements): 25442.70 requests per second, p50=98.303 msec
LRANGE_500 (first 500 elements): 17265.49 requests per second, p50=144.767 msec
LRANGE_600 (first 600 elements): 16195.64 requests per second, p50=154.495 msec
MSET (10 keys): 73757.20 requests per second, p50=34.527 msec
XADD: 72843.83 requests per second, p50=34.847 msec

不同内核测试测试


测试结果之一

PING_INLINE: 101040.72 requests per second, p50=23.839 msec
PING_MBULK: 98570.72 requests per second, p50=24.063 msec
SET: 97560.98 requests per second, p50=23.583 msec
GET: 83208.52 requests per second, p50=30.527 msec
INCR: 97314.13 requests per second, p50=23.695 msec
LPUSH: 96674.40 requests per second, p50=23.727 msec
RPUSH: 85932.80 requests per second, p50=29.327 msec
LPOP: 87673.16 requests per second, p50=26.815 msec
RPOP: 91920.22 requests per second, p50=25.743 msec
SADD: 96918.01 requests per second, p50=23.647 msec
HSET: 83472.46 requests per second, p50=30.447 msec
SPOP: 81314.03 requests per second, p50=30.831 msec
ZADD: 81632.66 requests per second, p50=31.007 msec
ZPOPMIN: 92980.01 requests per second, p50=24.655 msec
LPUSH (needed to benchmark LRANGE): 83689.01 requests per second, p50=29.935 msec
LRANGE_100 (first 100 elements): 62960.39 requests per second, p50=41.503 msec
LRANGE_300 (first 300 elements): 25910.09 requests per second, p50=97.919 msec
LRANGE_500 (first 500 elements): 17452.31 requests per second, p50=145.151 msec
LRANGE_600 (first 600 elements): 16337.73 requests per second, p50=154.879 msec
MSET (10 keys): 90432.27 requests per second, p50=26.607 msec
XADD: 87788.61 requests per second, p50=29.247 msec


修改somaxconn 测试

sysctl -w net.core.somaxconn=512
PING_INLINE: 89758.55 requests per second, p50=25.615 msec
PING_MBULK: 98029.60 requests per second, p50=23.215 msec
SET: 84274.40 requests per second, p50=30.015 msec
GET: 83857.44 requests per second, p50=29.887 msec
INCR: 82535.49 requests per second, p50=30.559 msec
LPUSH: 95156.53 requests per second, p50=24.607 msec
RPUSH: 88074.69 requests per second, p50=29.231 msec
LPOP: 95048.00 requests per second, p50=25.375 msec
RPOP: 93031.91 requests per second, p50=25.039 msec
SADD: 89341.55 requests per second, p50=29.135 msec
HSET: 82685.63 requests per second, p50=31.071 msec
SPOP: 93396.84 requests per second, p50=24.703 msec
ZADD: 86281.27 requests per second, p50=28.015 msec
ZPOPMIN: 83437.63 requests per second, p50=30.063 msec
LPUSH (needed to benchmark LRANGE): 87397.30 requests per second, p50=27.231 msec
LRANGE_100 (first 100 elements): 63011.97 requests per second, p50=41.631 msec
LRANGE_300 (first 300 elements): 25982.80 requests per second, p50=97.727 msec
LRANGE_500 (first 500 elements): 17438.31 requests per second, p50=145.151 msec
LRANGE_600 (first 600 elements): 16410.66 requests per second, p50=154.111 msec
MSET (10 keys): 82932.49 requests per second, p50=28.687 msec
XADD: 80788.49 requests per second, p50=31.519 msec

修改IP_PORT_RAGE和TW_BUCKET后

sysctl -w net.ipv4.ip_local_port_range="10000 20000"
sysctl -w net.ipv4.tcp_max_tw_buckets=100000
sysctl -w net.ipv4.tcp_tw_reuse=0这样很容易就会出现错误:
Could not connect to Redis at 127.0.0.1:6379: Cannot assign requested address所以建议修改为: 
sysctl -w net.ipv4.ip_local_port_range="1025 65530"
sysctl -w net.ipv4.tcp_max_tw_buckets=10000
sysctl -w net.ipv4.tcp_tw_reuse=0测试间隙查看:
netstat  -an |grep 6379 |awk '{print $6}' |sort|uniq -c10000 ESTABLISHED2 LISTEN9996 TIME_WAIT会发现很多类似的情况PING_INLINE: 84688.35 requests per second, p50=29.903 msec
PING_MBULK: 81712.70 requests per second, p50=31.215 msec
SET: 90090.09 requests per second, p50=26.031 msec
GET: 82733.52 requests per second, p50=30.607 msec
INCR: 97732.60 requests per second, p50=23.567 msec
LPUSH: 87565.67 requests per second, p50=28.431 msec
RPUSH: 96107.64 requests per second, p50=23.935 msec
LPOP: 87229.59 requests per second, p50=29.599 msec
RPOP: 86340.88 requests per second, p50=28.943 msec
SADD: 88487.75 requests per second, p50=28.239 msec
HSET: 79465.99 requests per second, p50=33.279 msec
SPOP: 83780.16 requests per second, p50=30.143 msec
ZADD: 81234.77 requests per second, p50=32.031 msec
ZPOPMIN: 83682.01 requests per second, p50=30.335 msec
LPUSH (needed to benchmark LRANGE): 78740.16 requests per second, p50=33.343 msec
LRANGE_100 (first 100 elements): 65049.11 requests per second, p50=40.351 msec
LRANGE_300 (first 300 elements): 25932.94 requests per second, p50=97.855 msec
LRANGE_500 (first 500 elements): 17418.87 requests per second, p50=145.407 msec
LRANGE_600 (first 600 elements): 16359.12 requests per second, p50=154.751 msec
MSET (10 keys): 81586.03 requests per second, p50=31.359 msec
XADD: 81135.91 requests per second, p50=31.183 msec

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/44218.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Python实用库--PrettyTable

简介 PrettyTable是一个强大的Python第三方库,专门设计用于从程序中生成美观、易于阅读的ASCII格式表格。 在数据分析、命令行工具开发、脚本编写等领域中,特别是在需要直观呈现数据而又不依赖图形界面的情况下,PrettyTable库显得尤为实用。 其设计灵感来源于PostgreSQL的ps…

随便写的小网页练习

随便写的小网页练习: 👆原视频:十分钟学会写网页【编程前端入门】 本期重做了好几遍,是全新的视角和概念,从浏览器底层渲染原理到实现网站的演示,一节课讲透,必看的一期。后面不管是写小程序还是App,都会用到这一期的概念。 这一期内容是我做完第一章个人网站后更新的,…

golang 同时(一个项目)注册http和GRPC服务

main 里面package mainimport ("fmt""github.com/gin-gonic/gin""github.com/hashicorp/consul/api"grpc "gorm_project/grpc/services""gorm_project/route""gorm_project/utils""log""net/http&…

如何设置word首页封面不出现页眉和编码

方法: 比如说我想让页码从第二页开始编号,那就双击第二页的编号,然后勾取消掉这个链接到前一页(我这里已经勾选掉了),之后直接删除掉第一页的编号就可以了如果数字不对的话,可以在“设置页码格式”中修改一下起始的页码:参考: 设置word中第一页不显示页码,第二页页码…

Paimon笔记

支持高吞吐数据摄入、变更追踪、高效分析的流批数据湖 基于LSM提升写入速度并降低写入消耗;基于有序的SortRun裁剪大部分数据以提升查询性能;支持多种merge引擎实现高性能流表打宽 基于Flink&Paimon实现,提供数据一致性管理能力,解决流式数仓普遍存在的问题 paimon通过…

6.14安卓开发日记58

实验三:Newton法程序设计 一、实验目的 掌握Hesse矩阵的计算方法和Newton法的基本思想及其迭代步骤;学会运用MATLAB编程实现常用优化算法;能够正确处理实验数据和分析实验结果及调试程序。 二、实验内容 (1)求解无约束优化问题:; (2)终止准则取; (3)完成Newton法(…

Ubuntu24.04安装金铲铲之战

结论 使用waydroid方案,可以打开游戏,实际效果后续更新参考 Documentation waydroid_script 注意 waydroid_script需要安装libndk和libhoudini

计组要我命第四天

要命计组(4) 开始时间 2024-06-15 22:02:30 结束时间 2024-06-15 23:38:03 前言:真学不完了,服了,后天考试,mbd不应该昨天晚上去酒吧玩的 总结:主要为完成了画图题和计算题的学习,也学习了一些存储器的基本概念,比如说动态ram和静态ram,还有一些比如…