SPECweb2009调优指南

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适配认证四大板块,旨在共享尖端技术,为开发者提供一个涵盖多领域的开发平台和工具套件。 点击这里开始你的技术升级之旅吧

image.png

本文分享至飞腾开发者平台《SPECweb2009调优指南》

1 介绍

  SPECweb2009 是衡量 Web 服务器性能和能效的标准化基准,可以对 Web 服务器的并发数进行性能测试,评测 Web 服务器能够支持的最大同时连接数的客户端/服务器(每秒能够响应的最大请求数)。为充分利用服务器性能,提升SPECweb2009测试结果,可通过增大系统进程数、优化服务器软件参数、绑核以及优化参数等。

2 环境要求

  测试时使用的全部具体环境要求如下表所示。

项目说明
机器类型被测端:飞腾腾云S2500服务器、测试端:X86服务器
被测端操作系统CentOS Linux release 7.9.2009 (AltArch)
被测端内核版本4.19.5l
测试端操作系统CentOS Linux release 7.6.1810 (Core)
测试端内核版本4.19.5
Apache2.4.51

3 测试拓扑图

  本次测试中,以飞腾腾云S2500服务器作为Web服务器端,Client端和Besim端均部署在X86服务器上,网卡均使用Mellonx 10G网卡。拓扑图如下图所示。本文调优基于Apache服务器软件,故Web服务器上使用的是Apache软件。

image.png

4 测试调优手段

4.1 参数调优

4.1.1 增大系统最大进程数

  原理:修改系统的最大进程数,可以提高测试的并发数;
  调优方式可以如下表所示:

参数修改方式
/etc/security/limits.conf在文件尾部添加如下内容:
* hard nproc 65536
* soft nproc 65536
* hard nfile 65536
* soft nfile 65536
* soft stack unlimited
* soft core unlimited
* hard core unlimited
* - nofile 65536
vm.max_map_count(client 节点)sysctl -w vm.max_map_count=131060
4.1.2 优化web服务器软件参数(依据所使用的web服务器软件而定)

  原理:优化web服务器软件参数,可以充分利用和整合该软件的资源,如线程、生存期处理请求数等,提升处理性能。
  调优方式:本次测试使用Apache的Worker多进程处理模式,在测试端和被测端均修改/usr/local/apache2/conf/extra/httpd-mpm.conf文件,修改参考如下
  找到<IfModule mpm_worker_module>,将其他模式全注释。将worker模式修改如下:

StartServers     6  //初始进程数
ServerLimit     60  //表示服务器允许开启的最大进程数
ThreadLimit     600 //每个子进程可配备的线程数上限
MaxClients     36000 //允许同时伺服的最大接入请求数量,数值等于ServerLimit* ThreadLimit
MinSpareThreads     25 //空闲线程数,若总的空闲线程数太少,子进程将产生新的空闲线程
MaxSpareThreads     650 //最大空闲线程数,若空闲线程数太多,将杀死多余空闲线程
ThreadsPerChild     600 //每个子进程建立的常驻线程数
MaxRequestWorkers      20000 //代表最大请求数(因为在Worker MPM模块中,一个请求数对应一个线程,故也可以理解为最大线程数。理论上,最大线程数不能超过最大进程数与每个进程可创建的线程数的乘积)
MaxRequestsPerChild     0 //设置每个子进程在其生存期内允许伺服的最大请求数量
4.1.3 优化测试参数

  增大java的初始堆和最大堆大小。修改参考如下表所示。

修改文件建议值
start_client.sh$JAVA -Xms16384m -Xmx16384m -classpath bin/specweb2009.jar:bin/check.jarspecwebclient
start_prime_client.sh$JAVA -Xms16384m -Xmx16384m –classpath bin/specweb2009.jar:bin/check.jar:lib/jcommon-1.0.15.jar:lib/jfreechart-1.0.12.jar specweb
4.1.4 绑核

  原理:将进程和中断进行绑核,可避免频繁地核间调度带来的性能损耗。
  调优方式参考如下:在绑核中进行三方面的绑核,首先进行httpd进程的绑核,在server端和Besim端分别对httpd进程进行绑核,本次调优的httpd进程绑定在0-63上,可根据具体情况调整。httpd进程绑核可查考如下脚本:

#!/bin/bash
NUM=`ps aux | grep -i httpd | grep -v grep | wc -l`
for i in $(seq 1 $NUM)
doPID=`ps aux | grep httpd | grep -v grep | awk '{print $2}' | sed -n "$i"p`echo $PIDecho ""taskset -pc $1 $PID
done

  然后,进行中断绑核,本次调优将Mellonx网卡中断绑定在0-7上,可根据具体情况调整。
  最后在Client端进行对测试进程进行绑核,修改start_client.sh和start_prime_client.sh文件,修改如下:

#vim start_client.sh
taskset -ac CPU java -Xms16384m -Xmx16384m -classpath bin/specweb2009.jar:bin/check.jar 
specwebclient 
#vim start_prime_client.sh
taskset -ac CPU java -Xms16384m -Xmx16384m –classpath 
bin/specweb2009.jar:bin/check.jar:lib/jcommon-1.0.15.jar:lib/jfreechart-1.0.12.jar specweb

5 问题分析

5.1 运行期间遇到SocketTimeoutException

5.1.1 问题描述和分析

  当遇到SocketTimeoutException问题时,可能是你的服务器的session已超载,或者你的httpd的配置出现问题。出错如图下图所示。

image.png

5.1.2 解决办法

  原先mpm_worker_module中的MaxRequestWorkers值只有400,导致测4000 session出错,增大/usr/local/apache2/conf/extra/httpd-mpm.conf 中的MaxRequestWorkers的值,然后重启httpd服务。

5.2 报错404

5.2.1 问题描述和分析

  当出现报错404时,表示访问的页面没找到,这可能是准备的资源数量少于访问的session数量。出错截图如下图所示。

image.png

5.2.2 解决办法

  增大web服务器端和Besim服务器端support_downloads_props.rc 和 support_image_props.rc文件中的SIMULTANEOUS_SESSIONS 值,重新执行如下命令:

#cd /web2009-1.20/Wafgen
#./Wafgen.sh unix/support_downloads_props.rc
#./Wafgen.sh unix/support_image_props.rc

6 调优结果

6.1 测试命令

  首先生成测试所需的资源,先修改Client端和web server端/web2009-1.20/Wafgen/unix/目录下的support_downloads_props.rc和support_image_props.rc中SIMULTANEOUS_SESSIONS值,参考值大小为18000,接着执行如下命令:

#cd /web2009-1.20/Wafgen
#./Wafgen.sh unix/support_downloads_props.rc
#./Wafgen.sh unix/support_image_props.rc
最后到Client端的/web2009-1.20/Client和/web2009-1.20/Prime_Client下分别执行以下命令:
# ./start_client.sh    //先在Client目录下执行此命令
# ./start_prime_client.sh

6.2 结果比较

  开始时,未经过调优,当Test.config中的SIMULTANEOUS_SESSIONS值为300时,测试结果为48671 requests, 79.1% good;调优后 SIMULTANEOUS_SESSIONS的值可以增至9000,测试结果为1607377 requests, 99.78% good。调优后具体每个不同 SIMULTANEOUS_SESSIONS结果如表所示。测试结果部分截图如下图所示。

SIMULTANEOUS_SESSIONS总请求数请求Good比例
400071367199.96%
500089288699.94%
9000160737799.78%

  未调优SIMULTANEOUS_SESSIONS为300的结果

image.png

  调优后SIMULTANEOUS_SESSIONS为9000的结果

image.png

推荐阅读

  • 基于飞腾腾云S2500的SPECWeb2009部署指南
  • SPDK的本地环境搭建和本地测试方法

欢迎广大开发者来飞腾开发者平台获取更多前沿技术文档及资料

如开发者在使用飞腾产品有任何问题可通过在线工单联系我们


版权所有。飞腾信息技术有限公司 2023。保留所有权利。

未经本公司同意,任何单位、公司或个人不得擅自复制,翻译,摘抄本文档内容的部分或全部,不得以任何方式或途径进行传播和宣传。

商标声明

Phytium和其他飞腾商标均为飞腾信息技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

本文档的内容视为飞腾的保密信息,您应当严格遵守保密任务;未经飞腾事先书面同意,您不得向任何第三方披露本文档内容或提供给任何第三方使用。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,飞腾在现有技术的基础上尽最大努力提供相应的介绍及操作指引,但飞腾在此明确声明对本文档内容的准确性、完整性、适用性、可靠性的等不作任何明示或暗示的保证。

本文档中所有内容,包括但不限于图片、架构设计、页面布局、文字描述,均由飞腾和/或其关联公司依法拥有其知识产权,包括但不限于商标权、专利权、著作权等。非经飞腾和/或其关联公司书面同意,任何人不得擅自使用、修改,复制上述内容。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-BGP路由负载分担

在大型网络中&#xff0c;到达同一目的地通常会存在多条有效BGP路由&#xff0c;设备只会优选一条最优的BGP路由&#xff0c;将该路由加载到路由表中使用&#xff0c;这一特点往往会造成很多流量负载不均衡的情况。 通过配置BGP负载分担&#xff0c;可以使得设备同时将多条等代…

spring boot整合WebSocket实现群聊功能 通俗易懂教程

首先获取消息的内容&#xff0c;即payload。将payload转换为JSONObject对象&#xff0c;并从中获取消息类型type。如果消息类型是"join"&#xff0c;则从消息中获取群组ID&#xff0c;并将当前WebSocketSession的ID加入到该群组对应的Set中。如果消息类型是"lea…

Python爬取中国福彩网彩票数据并以图表形式显示

网页分析 首先打开中国福彩网&#xff0c;点击双色球&#xff0c;选择往期开奖栏目 进入栏目后&#xff0c;选定往期的奖金数目作为我们想要爬取的目标内容 明确目标后&#xff0c;开始寻找数据所在的位置 鼠标右击页面&#xff0c;打开网页源代码&#xff0c;在源代码中搜索…

vue3-openlayers 轨迹回放(历史轨迹)(ol-animation-path实现)

本篇介绍一下使用vue3-openlayers轨迹回放&#xff08;历史轨迹&#xff09;&#xff08;ol-animation-path实现&#xff09; 1 需求 轨迹回放&#xff08;历史轨迹&#xff09;实时轨迹 2 分析 轨迹回放&#xff08;历史轨迹&#xff09;&#xff0c;一般是一次性拿到所有…

功能测试【测试用例模板、Bug模板、手机App测试★】

功能测试 Day01 web项目环境与测试流程、业务流程测试一、【了解】web项目环境说明1.1 环境的定义&#xff1a;项目运行所需要的所有的软件和硬件组合1.2 环境(服务器)的组成&#xff1a;操作系统数据库web应用程序项目代码1.3 面试题&#xff1a;你们公司有几套环境&#xff1…

淘宝用户行为分析大数据可视化

文章目录 1. 项目概述2. 技术栈3. 目录结构4. 数据处理流程5. 前端部分5.1 HTML (index.html)5.2 CSS (layer.css)5.3 JavaScript (chart.js) 6. 后端部分7. 数据可视化7.1 ECharts 图表 8. 主要功能模块9. 代码解析10. 数据接口11. 项目功能描述12. 代码功能实现12.1 HTML (in…

Kubernetes 中 ElasticSearch 中的 MinIO 审核日志

无论您是在本地还是在云中&#xff0c;您都希望确保以同构的方式设置工具和流程。无论在何处访问基础结构&#xff0c;您都希望确保用于与各种基础结构进行交互的工具与其他区域相似。 考虑到这一点&#xff0c;在部署您自己的 MinIO 对象存储基础架构时&#xff0c;深入了解您…

无需 AU 专业工具,简单有效的人声分离操作图文教程来了

音乐制作与音频编辑已成为众多创意工作者不可或缺的一部分。无论是制作混音、进行音乐分析&#xff0c;还是为视频内容寻找完美的配音&#xff0c;人声分离技术都扮演着至关重要的角色。 传统上&#xff0c;这样的任务可能需要专业的音频编辑软件如 Adobe Audition&#xff08…

【算法面试】在排序数组中查找元素的第一个和最后一个位置:详细题解

目录 题目描述 示例 示例 1&#xff1a; 示例 2&#xff1a; 示例 3&#xff1a; 问题分析 详细步骤 解决方法 方法 1&#xff1a;标准二分查找&#xff08;分开查找第一个和最后一个&#xff09; 方法 2&#xff1a;优化版二分查找&#xff08;合并查找逻辑&#xf…

热电发电机越来越受到研发关注

热电发电机 (TEG) 利用热量&#xff08;或更准确地说&#xff0c;温差&#xff09;和众所周知的塞贝克效应来发电。它们的应用范围从收集可用热能&#xff0c;尤其是在工业和其他情况下“浪费”的热能&#xff0c;到在放射性同位素热发电机 (RTG) 中使用航天器的放射性电源作为…

【docker】2. 编排容器技术发展史(了解)

该篇文章介绍的主要是编排以及容器技术的发展史(了解即可)&#xff0c;如果想单纯学习docker命令操作可直接略过&#xff01;&#xff01;&#xff01; 容器技术发展史 Jail 时代 容器不是一个新概念或者新技术&#xff0c;很早就有了&#xff0c;只是近几年遇到了云计算&am…

mac单机游戏推荐:帝国时代2 for Mac中文安装包

帝国时代2是一款经典的即时战略游戏&#xff0c;由微软游戏工作室开发。玩家可以选择从欧洲、亚洲或美洲的不同文明开始游戏&#xff0c;建立自己的帝国并与其他文明进行战争、贸易和外交。游戏中包含了丰富的历史背景和真实的历史事件&#xff0c;玩家需要策略性地管理资源、招…

【机器学习】ChatTTS:开源文本转语音(text-to-speech)大模型天花板

目录 一、引言 二、TTS&#xff08;text-to-speech&#xff09;模型原理 2.1 VITS 模型架构 2.2 VITS 模型训练 2.3 VITS 模型推理 三、ChatTTS 模型实战 3.1 ChatTTS 简介 3.2 ChatTTS 亮点 3.3 ChatTTS 数据集 3.4 ChatTTS 部署 3.4.1 创建conda环境 3.4.2 拉取源…

Java项目毕业设计:基于springboot+vue的幼儿园管理系统

数据库:MYSQL5.7 **应用服务:Tomcat7/Tomcat8 使用框架springbootvue** 项目介绍 管理员&#xff1b;首页、个人中心、用户管理、教师管理、幼儿信息管理、班级信息管理、工作日志管理、会议记录管理、待办事项管理、职工考核管理、请假信息管理、缴费信息管理、幼儿请假管理…

【漏洞复现】极限OA video_file.php 任意文件读取漏洞

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

开源最强AI一键抠图一键去背景模型RMBG-1.4

目录 前言训练数据图像分布&#xff1a;定性评估 应用场景安装用法 前言 RMBG v1.4 是BRIA AI最先进的背景去除模型&#xff0c;旨在有效地将各种类别和图像类型的前景与背景分开。该模型已在精心选择的数据集上进行训练&#xff0c;其中包括&#xff1a;一般库存图片、电子商…

疲劳驾驶智能识别摄像机

疲劳驾驶智能识别摄像机在道路安全管理中扮演着越来越重要的角色。这些先进的设备不仅仅是简单的监控工具&#xff0c;它们通过先进的技术和算法&#xff0c;有效地识别和预防司机疲劳驾驶&#xff0c;从而大大减少了交通事故的风险。 首先&#xff0c;这些智能识别摄像机采用高…

2024年希望杯数学竞赛各年级100道练习题及答案

链接里面有无答案版本链接&#xff1a;https://pan.baidu.com/s/1nTIVJrTEWUzb0LJNo4mI_Q 提取码&#xff1a;0548 –来自百度网盘超级会员V7的分享 一年级 二年级 三年级 四年级 五年级 六年级 七年级 八年级

【博士每天一篇文献-算法】Fearnet Brain-inspired model for incremental learning

阅读时间&#xff1a;2023-12-16 1 介绍 年份&#xff1a;2017 作者&#xff1a;Ronald Kemker&#xff0c;美国太空部队&#xff1b;Christopher Kanan&#xff0c;罗切斯特大学 期刊&#xff1a; arXiv preprint 引用量&#xff1a;520 Kemker R, Kanan C. Fearnet: Brain-…

基于Java中的SSM框架实现萌宠优购系统项目【项目源码】计算机毕业设计

基于Java中的SSM框架实现萌宠优购系统演示 研究背景 现在人们在生活中、工作中压力与日俱增&#xff0c;而宠物也在人们的生活扮演者越来越重要的角色。然而&#xff0c;对于一些宠物爱好者来说&#xff0c;宠物早已经是他们生活中不可或缺的一部分。因为宠物能与人有心灵的沟…