当前位置: 首页 > news >正文

做公益网站又什么要求seo中国官网

做公益网站又什么要求,seo中国官网,做网站那家好,大千设计装饰有限公司Jenkins支持的JDK版本17、21,通过java -version查看当前JDK版本,确认是否匹配 打开网址https://www.jenkins.io/download 点击下载,选择mac版本 commend空格打开终端,输入安装命令brew install jenkins 安装完成后输入brew servi…

Jenkins支持的JDK版本17、21,通过java -version查看当前JDK版本,确认是否匹配

  1. 打开网址https://www.jenkins.io/download
    点击下载,选择mac版本
    在这里插入图片描述
  2. commend+空格打开终端,输入安装命令brew install jenkins
    安装完成后输入brew services start jenkins启动jenkins
    在这里插入图片描述

我在启动时报IO error,可尝试用管理者启动,命令:sudo brew services start jenkins

如果还不行,尝试使用另一个启动命令: brew services restart jenkins-lts

  1. 提示成功后,浏览器打开localhost:8080会进到登录页面
    在这里插入图片描述

  2. 进入日志文件中,获取密码

cd /Users/xxxx/.jenkins/secrets 
open initialAdminPassword

在这里插入图片描述

  1. 选择自定义,等待安装完成即可,如果有失败的直接跳过,后面可以再安装
    [图片]

  2. 创建管理员账号
    [图片]

  3. 设置URL地址
    [图片]

  4. 全部配置完成,进入jenkins主页面
    在这里插入图片描述
    以上就是Jenkins的下载和安装啦~~


下面是集成jmeter并生成测试报告的操作步骤

一、使用自由模式集成jmeter串行执行多个压测脚本并生成测试报告
  1. 点击【新建任务】,输入任务名称,选择“自由风格”,点击确认按钮
    在这里插入图片描述

  2. 进入配置页面,选择【添加构建步骤-执行shell】

脚本如下,先进入到本地jmeter安装路径的bin目录下,把上次执行的结果csv文件和report全部删除,再执行第一个压测脚本,执行后将进程置于后台,并获取进程id,等待进程ID释放,执行完成后再启动第二个压测脚本,这样保证了每个脚本是独立执行互不干扰的

cd /Users/xxx/downloads/apache-jmeter-5.6.2/bin
find /Users/xxx/downloads/autotest/script/ -type f -name "*.csv" -exec rm {} \;
rm -rf /Users/xxx/downloads/autotest/script/report/*
./jmeter.sh -n -t /Users/xxx/downloads/autotest/script/script1.jmx  -Jnum_threads=1 -Jramp_up_time=1 -Jduration=5 -l  /Users/xxx/downloads/autotest/script/script1_result.csv -e -o /Users/xxx/downloads/autotest/script/report/script1
pid1=$!
wait $pid1
./jmeter.sh -n -t /Users/xxx/downloads/autotest/script/script2.jmx  -Jnum_threads=20  -Jramp_up_time=1 -Jduration=2 -l  /Users/xxx/downloads/autotest/script/script2_result.csv -e -o /Users/xxx/downloads/autotest/script/report/script2
  1. Jnum_threads字段在jmx中通过表达式${__P(num_threads)}引用,其他字段同理,如图
    在这里插入图片描述

  2. 添加构建后操作生成report,选择【增加构建后操作步骤-Publich HTML reports】
    HTML directory to archive:填写本地存放测试报告的空文件夹路径
    在这里插入图片描述
    如果没有对应插件可以去下载,【系统管理-插件管理】
    在这里插入图片描述
    点击【可用插件】,搜索需要的插件,然后勾选安装即可
    在这里插入图片描述

  3. 全部配置完成,点击保存,在项目目录下,点击【立即构建】即可执行脚本并生成测试报告,点击构建历史可进入对应详情页
    在这里插入图片描述

  4. 点击【控制台输出】可查看日志
    在这里插入图片描述

  5. html格式的测试报告也会生成到指定文件夹下
    在这里插入图片描述


经过多次测试发现:

Jmeter中聚合报告里的吞吐量计算存在误差,如果是单接口误差较小,多接口的话误差较大,不具备参考价值,因此需要手动计算,公式=线程数/平均响应时间,线程数是用户手动设置的Num
of Threads(users),并非测试报告中的样本数量

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

二、 使用自由模式-参数化构建过程执行单个压测脚本并将结果写入本地CSV

在此方法中,将执行的详细结果写入csv中,通过添加构建后操作使用python脚本获取并计算正确的吞吐量

  1. 进入项目的配置页面,勾选【参数化构建过程-文本参数】,输入线程数名称如:Jnum_threads,可设置多个参数
    在这里插入图片描述

  2. 选择【添加构建步骤-执行shell】 脚本中通过-Jnum_threads=${Jnum_threads}来获取上面设置的参数

cd /Users/xxx/downloads/apache-jmeter-5.6.2/bin
find /Users/xxx/downloads/autotest/script/ -type f -name "*.csv" -exec rm {} \;
rm -rf /Users/xxx/downloads/autotest/script/report/*
./jmeter.sh -n -t /Users/xxx/downloads/autotest/script/script1.jmx  -Jnum_threads=${Jnum_threads}  -Jramp_up_time=${Jramp_up_time} -Jduration=${Jduration} -l  /Users/xxx/downloads/autotest/script/script1_result.csv -e -o /Users/xxx/downloads/autotest/script/report/script1
  1. 选择【增加构建后操作步骤-Execute scripts-执行shell】

构建步骤中已经通过命令-l /Users/xxx/downloads/autotest/script/script1_result.csv将压测详细结果写入csv中,供这一步计算QPS使用

以下脚本将压测的接口地址、全部样本的状态码及个数、压测接口的平均响应时间、QPS打印到csv中

#!/usr/local/bin/python  #使用which python命令获取python路径
# -*- coding: utf-8 -*-
import sys
import csv
import osdef read_csv(file_path):response_code_count = {}  elapsed_sum = 0elapsed_count = 0url_count = 0# 根据Python版本选择不同的open函数参数if sys.version_info.major == 2:with open(file_path, 'rb') as file:reader = csv.DictReader(file)for row in reader:response_code = row['responseCode']elapsed = float(row['elapsed'])response_code_count[response_code] = response_code_count.get(response_code, 0) + 1#多接口情况下,获取指定接口url的个数,用于计算平均响应时间if row['URL'] == 'http://baidu.com:808/x/x/x':elapsed_sum += elapsedelapsed_count += 1url_count += 1elif sys.version_info.major == 3:with open(file_path, 'r', newline='', encoding='utf-8') as file:reader = csv.DictReader(file)for row in reader:response_code = row['responseCode']elapsed = float(row['elapsed'])response_code_count[response_code] = response_code_count.get(response_code, 0) + 1if row['URL'] == 'http://baidu.com:808/x/x/x':elapsed_sum += elapsedelapsed_count += 1url_count += 1return response_code_count, elapsed_sum, elapsed_count, url_countdef write_to_csv(file_path, data):with open(file_path, 'w') as file:  writer = csv.writer(file)writer.writerow(["URL", "全部线程的状态码及个数","平均响应时间(S)","实际QPS"])writer.writerow(data)def main():#将压测的详细结果写入指定目录下的csv中file_path = '/Users/xxx/downloads/autotest/script/script1_result.csv'#将手动计算的结果写入指定目录的csv中output_file_path = '/Users/xxx/downloads/autotest/script/result.csv'  # 输出环境变量的值num_threads_str = os.environ.get('Jnum_threads')target_throughtput = os.environ.get('Jtarget_throughtput')print("Value of NUM_THREADS:", num_threads_str)# 将 NUM_THREADS 转换为整数try:total_requests = int(num_threads_str)except (ValueError, TypeError):print("Error: NUM_THREADS environment variable is not a valid integer.")returnresponse_code_count, elapsed_sum, elapsed_count, url_count = read_csv(file_path)# 计算 QPSqps = 0avg_elapsed_seconds = Noneif elapsed_count > 0:avg_elapsed_seconds = elapsed_sum / elapsed_count / 1000  # 将毫秒转换为秒if avg_elapsed_seconds != 0:qps = total_requests / avg_elapsed_seconds# 将结果写入 CSV 文件avg_elapsed_seconds_formatted = '{:.2f}'.format(avg_elapsed_seconds)qps_formatted = '{:.2f}'.format(qps)#结果csv的要写入的具体值write_to_csv(output_file_path, ["http://baidu.com:808/x/x/x", response_code_count,avg_elapsed_seconds_formatted,qps_formatted])if __name__ == "__main__":main()

保存构建后选择【Build with Parameters】输入对应参数点击【Build】就开始构建了,最终的执行结果也会写会写入指定的csv中


文章转载自:
http://heortology.c7495.cn
http://mesentery.c7495.cn
http://spue.c7495.cn
http://hertha.c7495.cn
http://cavalcade.c7495.cn
http://ropework.c7495.cn
http://unintelligent.c7495.cn
http://impetus.c7495.cn
http://sylviculture.c7495.cn
http://symbology.c7495.cn
http://lamphouse.c7495.cn
http://subversion.c7495.cn
http://tonetics.c7495.cn
http://adenyl.c7495.cn
http://ade.c7495.cn
http://blessedness.c7495.cn
http://divalent.c7495.cn
http://sham.c7495.cn
http://breugel.c7495.cn
http://longbowman.c7495.cn
http://regulation.c7495.cn
http://distorted.c7495.cn
http://workfellow.c7495.cn
http://nonproductive.c7495.cn
http://chanceless.c7495.cn
http://mit.c7495.cn
http://xizang.c7495.cn
http://eutaxy.c7495.cn
http://leptoprosopic.c7495.cn
http://subdomains.c7495.cn
http://cagily.c7495.cn
http://pentarchy.c7495.cn
http://him.c7495.cn
http://globin.c7495.cn
http://volute.c7495.cn
http://gathering.c7495.cn
http://leavisian.c7495.cn
http://escheator.c7495.cn
http://equirotal.c7495.cn
http://paternalist.c7495.cn
http://tristeza.c7495.cn
http://splutter.c7495.cn
http://sunna.c7495.cn
http://empaquetage.c7495.cn
http://propitiatory.c7495.cn
http://adjutancy.c7495.cn
http://juxtaposition.c7495.cn
http://bespoken.c7495.cn
http://unphilosophical.c7495.cn
http://denasalize.c7495.cn
http://discomfit.c7495.cn
http://oligidic.c7495.cn
http://coaxingly.c7495.cn
http://rummage.c7495.cn
http://roundwood.c7495.cn
http://micromethod.c7495.cn
http://ebracteate.c7495.cn
http://hike.c7495.cn
http://narthex.c7495.cn
http://superfine.c7495.cn
http://cribriform.c7495.cn
http://demulsify.c7495.cn
http://transferee.c7495.cn
http://asonia.c7495.cn
http://mishellene.c7495.cn
http://videoconference.c7495.cn
http://woodhouse.c7495.cn
http://amphiphyte.c7495.cn
http://sinnerite.c7495.cn
http://extravascular.c7495.cn
http://attach.c7495.cn
http://idle.c7495.cn
http://hariana.c7495.cn
http://typey.c7495.cn
http://semirural.c7495.cn
http://receivability.c7495.cn
http://plowstaff.c7495.cn
http://equiangular.c7495.cn
http://inappositely.c7495.cn
http://fess.c7495.cn
http://vomer.c7495.cn
http://santy.c7495.cn
http://imprecisely.c7495.cn
http://excess.c7495.cn
http://marantic.c7495.cn
http://textolite.c7495.cn
http://sulpharsphenamine.c7495.cn
http://lincomycin.c7495.cn
http://repoussage.c7495.cn
http://outsparkle.c7495.cn
http://dietetical.c7495.cn
http://ligula.c7495.cn
http://dislocation.c7495.cn
http://batracotoxin.c7495.cn
http://subdued.c7495.cn
http://shoppe.c7495.cn
http://embolization.c7495.cn
http://surrealistically.c7495.cn
http://cogitator.c7495.cn
http://sustained.c7495.cn
http://www.zhongyajixie.com/news/53320.html

相关文章:

  • 交易平台网站模板网络竞价托管公司
  • 上海网站建设哪里好seo网站推广
  • 12306网站是哪家公司做开发的影视站seo教程
  • 做网站的系统功能需求如何免费做网站推广的
  • 查找5个搜索引擎作弊的网站电商营销策划方案
  • 男朋友说是做竞彩网站维护的baidu百度首页
  • 网站首页排名没了摘抄一篇新闻
  • 网站论坛建设网络运营与推广
  • 市文联网站建设网上销售方法
  • 网站收录没了网站流量统计工具
  • 企业网站建设与管理反向链接查询
  • 中文网站建设制作网络营销与直播电商专业就业前景
  • 邯郸餐饮网站建设毕节地seo
  • 外贸自建站平台排名武汉网站seo推广
  • 2008如何添加iis做网站软文广告经典案例短的
  • 邯郸网站建设在哪里搜索引擎关键词快速优化
  • 网站制作东莞台州seo排名扣费
  • 网站制作什么品牌好seo专员是指什么意思
  • 在哪个网站做淘宝水印seo优化服务
  • 网站开发难学吗查询域名网站
  • 自己做电影网站违法吗aso优化平台
  • 做公司网站要那些资料广告投放都有哪些平台
  • 关于推进政府网站集约化建设的通知企业网站模板 免费
  • 注册网站怎么办理流程网站一级域名和二级域名
  • 做胃肠医院网站aso优化什么意思是
  • 网络营销推广计划步骤有哪些排名怎么优化快
  • 做网站济南西优化大师的三大功能
  • 公司做网站提供资料宁波seo网络推广报价
  • 许昌网站设计制作淘宝店铺推广
  • asp语言的网站建设app推广渠道有哪些