网站优化两大核心要素是什么,福田做网站多少钱,制作图网 专业图片在线制作网站,wordpress设置文章页关键词【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域包含了应用使能套件、软件仓库、软件支持、软件适配认证四大板块旨在共享尖端技术为开发者提供一个涵盖多领域的开发平台和工具套件。 点击这里开始你的技术升级之旅吧 本文分享至飞腾开发者平台《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.5Apache2.4.51
3 测试拓扑图 本次测试中以飞腾腾云S2500服务器作为Web服务器端Client端和Besim端均部署在X86服务器上网卡均使用Mellonx 10G网卡。拓扑图如下图所示。本文调优基于Apache服务器软件故Web服务器上使用的是Apache软件。 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 65536vm.max_map_countclient 节点sysctl -w vm.max_map_count131060
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.jarspecwebclientstart_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
NUMps aux | grep -i httpd | grep -v grep | wc -l
for i in $(seq 1 $NUM)
doPIDps aux | grep httpd | grep -v grep | awk {print $2} | sed -n $ipecho $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的配置出现问题。出错如图下图所示。 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数量。出错截图如下图所示。 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的结果 调优后SIMULTANEOUS_SESSIONS为9000的结果 推荐阅读
基于飞腾腾云S2500的SPECWeb2009部署指南SPDK的本地环境搭建和本地测试方法
欢迎广大开发者来飞腾开发者平台获取更多前沿技术文档及资料
如开发者在使用飞腾产品有任何问题可通过在线工单联系我们 版权所有。飞腾信息技术有限公司 2023。保留所有权利。 未经本公司同意任何单位、公司或个人不得擅自复制翻译摘抄本文档内容的部分或全部不得以任何方式或途径进行传播和宣传。 商标声明 Phytium和其他飞腾商标均为飞腾信息技术有限公司的商标。 本文档提及的其他所有商标或注册商标由各自的所有人拥有。 注意 本文档的内容视为飞腾的保密信息您应当严格遵守保密任务未经飞腾事先书面同意您不得向任何第三方披露本文档内容或提供给任何第三方使用。 由于产品版本升级或其他原因本文档内容会不定期进行更新。除非另有约定本文档仅作为使用指导飞腾在现有技术的基础上尽最大努力提供相应的介绍及操作指引但飞腾在此明确声明对本文档内容的准确性、完整性、适用性、可靠性的等不作任何明示或暗示的保证。 本文档中所有内容包括但不限于图片、架构设计、页面布局、文字描述均由飞腾和/或其关联公司依法拥有其知识产权包括但不限于商标权、专利权、著作权等。非经飞腾和/或其关联公司书面同意任何人不得擅自使用、修改复制上述内容。