linux后端服务处理大量字符串数据-效率很慢
在C++开发的历史项目中,我们使用自定义协议进行通信,协议采用了二维数组的模式。在处理大量数据时,协议内部需要遍历数组并进行序列化操作以生成日志,由于效率较低,导致了系统在高负载下出现明显的卡顿,业务部门反馈系统卡顿。
在C++开发的历史项目中,我们使用自定义协议进行通信,协议采用了二维数组的模式。在处理大量数据时,协议内部需要遍历数组并进行序列化操作以生成日志,由于效率较低,导致了系统在高负载下出现明显的卡顿,业务部门反馈系统卡顿。
在同一段业务代码的情况下,程序在 CentOS 7 环境下编译并运行正常,但当切换到 CentOS 8 并使用更新版的 GCC 进行编译时,程序却发生了崩溃。值得注意的是,问题只在 Release 模式下出现,Debug 模式则完全没有问题。这是我们第一次遇到类似的情况,经过三天的排查,最终找到了问题的根源。
Windows 平台有个鲁大师(娱乐大师),不能说数据很准,单总归有个参考,当然也有其他的专业跑分软件,到了 Linux 系统,好像一直没遇到特别合适的跑分软件。
Sysbench 是一款多功能的基准测试工具,可用于测试CPU、内存、文件I/O、线程性能等。您可以使用 sysbench 来执行各种性能测试任务。
手头上刚好有三台机器用于测试:机械师 mini 本地小主机、阿里云 dev 开发云服务器、华为云开发服务器。
工作多年接触到的都是centos操作系统,如果是mac用户或者Ubuntu用户,部分内容无法适用。
安装部分可以参考清华大学的手册:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
作者对硬件有浓厚兴趣,使用Jmeter进行压力测试,记录了在CentOS 7上部署Jmeter、InfluxDB和Grafana的过程。分享了Jmeter的安装和命令使用,InfluxDB的特点和Docker安装方法,以及Grafana的简单部署和配置。总结了高性能程序模式的经验和参考资料。
线上生产环境操作系统,Red Hat和CentOS为主流选择。记录了两个系统生命周期的官网链接,并分享了从CentOS 8升级到CentOS 8 Stream的经验。