首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏JAVA乐园

    怎么做服务关注什么?

    但是很多开发对如何做好服务并没有特别系统的了解,这篇文章的目的是为了解释清楚单机服务的目的、做法、误区,帮助大家更好地达成的目的 的目的是什么? 检查性能瓶颈 服务的处理能力取决于资源中瓶颈最低的那个—木桶理论。我们并不总是对自己的服务这么自信,能够帮我们了解清楚在高压情况下的表现,发现隐藏的问题。 后续的内容我们将按照三个目标逐一讲述,中可能存在的误区 性能瓶颈分析 在分析服务性能瓶颈的时候,一般使用perf工具来生成服务测时的火焰图 y 轴表示调用栈,每一层都是一个函数。 进入阶段,影响单机处理能力的,也就是硬件了,接下来我们了解下硬件 CPU 一般来说CPU核数越多,主频越高,服务的处理处理能力也就越高。 流量预估:通过历史数据(或者结合业务和时间)预估业务流量会有多大的系统调用量 容量评估:根据预估结果,计算服务需要分配多少机器 场景:针对重点业务场景,进行全局性的,根据结果再次调整。

    2.1K30编辑于 2022-03-08
  • 来自专栏CSIG质量部压测团队

    codingMQTT服务

    本文介绍如何使用JMeterMQTT服务,如何把脚本上传到coding上进行执行。 0 准备条件 安装JMeter 5.4.1版本 可以访问的MQTT服务 1 安装MQTT插件 1.1 mqtt插件下载地址 https://github.com/xmeter-net/mqtt-jmeter 是否在接收消息后从消息头解析发送时间,一般勾选 Sample on: 选择specified elapsed time (ms),值填写3000.表示持续接收消息3000毫秒 Debug response:测试环境方便调试用,正式环境 ,不勾选 4 使用codingMQTT消息 4.1 开通项目权限 找相应的人员开通项目权限 4.2 上传jmeter脚本和参数化文件 image.png image.png 包括config 在不同机器上放置不同的参数 点击【设置】 image.png 修改相应的集群配置、参数化文件和命名空间 image.png 执行 image.png 分发成功的界面 image.png 4.5 执行

    1.6K10发布于 2021-06-24
  • 来自专栏XINDOO的专栏

    Web服务神器wrk

    但当时之前简单使用它的初级功能,最近工作中恰好有个http服务需要,然后就拿wrk做了。 这次使用了wrk lua高级功能实现了,我们找到了我们服务的瓶颈,同时也被wrk的超高性能所震惊。 ? 如上图,我用单机(40 cores)90台机器的集群,压到了31w的QPS,最后不上去不是因为这台机器抗不住了,而是因为我们服务扛不住了。 一个有复杂业务逻辑的服务和一个毫无逻辑的相比有失公允,但在过程中我也干垮了4台机器的nginx集群(这里nginx也只是个方向代理而已),这足见wrk性能之高。 、甚至停止……等比较自动化的操作。

    3.4K11发布于 2021-01-21
  • 来自专栏大数据生态

    Elasticsearch之Esrally标准

    工具部署:Elasticsearch工具esrally部署指南 - 云+社区 本文另有延伸:大数据生态关于压力测试的内容 - 云+社区 背景 在大数据时代的今天,业务量越来越大,每天动辄都会产生上百 track: 即赛道的意思,这里指压用到的样本数据和策略,使用 esrally list tracks 列出。 ,可以通过 esrally list pipeline 查看,其中有一个 benchmark-only 的流程,就是将 es 的管理交给用户来操作,rally 只用来做,如果你想针对已有的 es 进行 ,则使用该模式; track-params:对默认的参数进行覆盖; user-tag:本次的 tag 标记; client-options:指定一些客户端连接选项,比如用户名和密码。 标准 在的过程中,需要了解到各个指标的含义。但是网络上没有完整的文档,所以这里做一个详细的总结。

    4.5K2214编辑于 2022-05-16
  • 来自专栏王清培的专栏

    后端服务性能实践

    后端服务性能实践 标签(空格分隔): 性能 后端服务 实践 作者:王清培(Plen wang) 背景 环境检测 压力机及压力工具检测 Linux openfiles limit 设置 排查周边依赖 排查周边依赖 要想对一个服务进行,就需要对这个服务周边依赖进行一个排查,有可能你所依赖的服务不一定具备条件。 并不是每个系统的都在一个时间段内,所以你在的时候别人的服务也许并不需要等等。 空接口检测 为了快速验证服务一个简单的办法,就是通过一个空接口,查看下整个网络是否通畅,各个参数是否大体上正常。 ? 关于这个点没有搞清楚非常影响我们对性能的结果判断。所以我们在的时候一定要有监控报表,才能知道在整个过程中服务器的各项指标是否出现过异常情况。

    3.6K101发布于 2018-01-05
  • 来自专栏建帅技术分享

    utest和grafana效果(腾讯优

    一、压力测试平台-----优官网 二、10000vum免费试用 1.单接口 创建单接口任务: 执行任务及查看报告: 导出报告: pdf格式报告: 2.全链路 创建全链路计划 : 执行全链路计划:每次会消耗vum 执行进度: 测报告: 定时任务: 全链路pdf测报告: 三、资源监控:grafana **免费的测试报告中,缺少了cpu和内存等资源的占用情况。 所以我这里想到的是grafana,利用grafana动态实时的资源可视化,结合优,应该效果非常棒.** 四、总结 问题: 本来想结合业务登录接口去坐个,结果发现,优不支持application

    2.5K20编辑于 2022-08-24
  • 来自专栏TARS基金会

    TarsBenchmark | 服务性能利器

    压力测试是其中重要的一环,本文将介绍如何使用 TarsBenchmark 对 TARS 服务进行。 ? 简介 TarsBenchmark 的使用 安装部署 服务 总结 ? NodeServer: 为节点服务,用于的具体执行,对其他服务进行服务 成功安装后 TarsBenchmark 后,就可以在 TarsWeb 上对服务进行了。接下来我们将以 HelloServer 服务为例,了解如何对服务进行。 如未上传服务 tars 接口文件,点击 添加 来上传。最后点击,即可打开界面。步骤如下图 ? 点击 后,跳转到界面,如下 ? 本文介绍了 TARS 服务利器 TarsBenchmark,结合 TarsWeb ,集成功能,方便开发者对 TARS 服务进行,验证服务的处理能力和稳定性。

    73310发布于 2021-02-23
  • 来自专栏Java编程技术

    实战JmeterDubbo服务接口

    一、前言 最近在做一些业务上云的项目,其中远程Rpc调用方式我们选择了Dubbo,为便于收集信息,我们选择了使用Jmeter来做工具,本文就来简单介绍如何使用JmeterDubbo服务接口, runTest方法则用来具体调用Hello接口的方法,我们也就是频繁的调用runTest来测试hello的sayHello方法。 image.png 然后可以设置线程个数等属性 ? image.png 然后添加Java请求配置组件 ? image.png 然后在类名称这下拉框中就会存在dubbo插件类, ? image.png 这里你可以选择你需要的监控页面 最后单击绿色三角 开始: ? image.png 注意:dubbo服务提供方线程池默认是200个线程,如果你测时候设置线程个数超过200,则会抛出下面异常: ?

    1.1K20发布于 2018-12-06
  • 来自专栏Java编程技术

    实战JmeterDubbo服务接口

    一、前言 最近在做一些业务上云的项目,其中远程Rpc调用方式我们选择了Dubbo,为便于收集信息,我们选择了使用Jmeter来做工具,本文就来简单介绍如何使用JmeterDubbo服务接口, runTest方法则用来具体调用Hello接口的方法,我们也就是频繁的调用runTest来测试hello的sayHello方法。 四、dubbo插件打包与 4.1 dubbo插件的安装 首先我们需要把ConsumerHelloService类所在的应用打包为一个jar包,然后把打包好的jar放入到jmeter目录的apache-jmeter : [image.png] 到这里说明Jmeter已经找到了我们的dubbo扩展插件,下面我们添加一些监视器以便监控结果 [image.png] 这里你可以选择你需要的监控页面 最后单击绿色三角 开始 : [image.png] 注意:dubbo服务提供方线程池默认是200个线程,如果你测时候设置线程个数超过200,则会抛出下面异常: [image.png] 这时候你需要修改服务提供方的线程池中线程个数

    2.1K40发布于 2018-10-30
  • 来自专栏悦专栏

    MongoDB

    在 MongoDB 上线之前,我们可能想知道它的极限是怎样的,这时,我们可以借助工具对 MongoDB 进行,这一节内容就来聊聊通过 YCSB 对 MongoDB 进行。 readproportion=1 updateproportion=0 scanproportion=0 insertproportion=0 requestdistribution=zipfian 关于 YCSB 的文件的每个参数的解释如下 5 运行 加载数据: ./bin/ycsb load mongodb -P workloads/workloada 进行: . 99thPercentileLatency(us), 1317.0 [UPDATE], Return=OK, 24798 通过 “[OVERALL], Throughput(ops/sec)”,可看出我们的实例 当然,过程也需要关注 CPU、内存等,看是否已经到极限了。

    2.3K10编辑于 2022-04-25
  • 来自专栏devops_k8s

    Redis

    127.0.0.1 2 -p 指定服务器端口 6379 3 -s 指定服务器 socket 4 -c 指定并发连接数 50 5 -n 指定请求数 10000 6 -d 以字节的形式指定 Redis pipelining 可以提高服务器的 TPS。 如果你想和一个持久化服务器(MySQL, PostgreSQL 等等) 对比的话, 那你需要考虑启用 AOF 和适当的 fsync 策略。 Redis 是单线程服务。 在很多线上服务中,Redis 吞吐会先被网络带宽限制住,而不是 CPU。 如果没法实现,那就需要检测 benchmark 没有受其他服务器活动影响。 有些配置(桌面环境和笔记本,有些服务器也会)会使用可变的 CPU 分配策略。 这种策略可以在 OS 层面配置。

    2K20编辑于 2022-05-09
  • 来自专栏Java项目实战

    场景设计和方案制定

    本章内容根据《分布式服务架构》整理 1.业务模型分析 2.执行 3.工具 4.小结 业务模型分析 对业务模型进行分析,选择日常请求量大且路径覆盖范围广的典型交易,建立测试业务模型,确定各接口请求量的对比 12-24小时完成 6异常测试 异常测试是指依赖服务中断,网络中断,硬件故障等异常情况下,系统对业务的影响情况。 加压方式 1.瞬间加压:通过测试工具模拟大量并发请求 2.逐渐加压:一定周期内为抛物线的趋势 3.梯度加压:逐渐增加用户并发量 4.确定延时方式 执行 观察系统的资源占用情况 /系统层面:CPU, 打开的文件句柄,线程切换,和打开的Socket数量 /接口的吞吐量,响应时间,超时情况等 /数据库的慢 SQL,SQL行读,锁等待,死锁,缓冲区命中,索引命中等 /消息队列的吞吐变化,响应时间,超时情况 /过程中记录记录 /分析是否满足既定压目标 /指出系统存在的瓶颈点 工具:ab,jmeter,mysqlslap.sysbench,dd,LoadRunner,Hprof 我记得我整理了ab,jmeter的文章,

    5.3K21发布于 2020-02-19
  • 来自专栏devops_k8s

    Redis

    2 -p 指定服务器端口 6379 3 -s 指定服务器 socket 4 -c 指定并发连接数 50 5 -n 指定请求数 10000 6 -d 以字节的形式指定 SET/GET 值的数据大小 2 Redis pipelining 可以提高服务器的 TPS。 如果你想和一个持久化服务器(MySQL, PostgreSQL 等等) 对比的话, 那你需要考虑启用 AOF 和适当的 fsync 策略。 Redis 是单线程服务。 最有效的办法是将客户端和服务端分离到两个不同的 CPU 来高校使用三级缓存。 如果没法实现,那就需要检测 benchmark 没有受其他服务器活动影响。 有些配置(桌面环境和笔记本,有些服务器也会)会使用可变的 CPU 分配策略。 这种策略可以在 OS 层面配置。

    2.3K70发布于 2021-06-21
  • 来自专栏灰子学技术

    envoy

    信息:​ envoy版本: 1.23.2-dev istio版本:1.15.2 envoy只打开了access log,没有配置任何VS和DR,去掉了jeager和stat-filter插件, pod层面做的,资源为 1c2g的sidecar配比,业务容器是1c2g,响应比较快,request的大小是多少,response就返回多少。 网络是k8s的内网,延迟很低,不超过1ms。 准备: 构建 test1---->test2的链路,在test1的pod里面进行,访问的接口是test1的,这里的接口内部实现了调用test2的逻辑,也就是说:流量是下面这个样子 --流量--》 , 10 KiB) copied, 9.7164e-05 s, 105 MB/s 参考: https://www.cnblogs.com/machangwei-8/p/10353628.html 2.工具使用的是 hey,命令的例子如下: # .

    91810编辑于 2024-04-17
  • 来自专栏人人都是架构师

    常用的HTTP服务工具介绍

    在项目正式上线之前,我们通常需要通过来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资源成本。 HTTP服务压力测试工具 在项目正式上线之前,我们通常需要通过来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资源成本。 相关术语 响应时间(RT) :指系统对请求作出响应的时间. 吞吐量(Throughput) :指系统在单位时间内处理请求的数量 QPS每秒查询率(Query Per Second) :“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准 Mac下安装: brew install wrk 常用命令参数: -c --conections:保持的连接数 -d --duration:持续时间(s) -t --threads:使用的线程总数

    1.3K30编辑于 2023-09-10
  • 来自专栏LukaChen Blog

    wrk

    一、背景 通过发现系统瓶颈,评估系统 QPS、吞吐量上限 二、工具选择 ab、wrk、Jmeter ab [root@VM-190-129-centos ~]# ab --help Usage: ab -X proxy:port Proxyserver and port number to use(指定使用的代理服务器和端口号,例如 "127.0.0.1:88") -V 以上两个特性 wrk 可以支持,而 Jmeter 需安装 GUI,没有 CLI 方便没有详细去了解,选择用 wrk 进行。 c1 -d1s -s post.lua --latency http://127.0.0.1:8080/index.php 使用 lua 脚本,实现 POST 请求动态参数组装 post.lua --命令

    1K20编辑于 2023-10-22
  • 来自专栏全栈程序员必看

    Rpc接口_rpc服务接口测试

    今天作者将以最近项目中用到的grpc为例,结合jmeter来介绍下rpc实施步骤。学习本文前需对rpc框架、jmeter有个大致的了解,知道rpc如何用工具生成各种语言的代码。 步骤一:rpc脚本准备 先来看看我本地的项目目录,对结果有个大致的了解,我的工程里包含多个微服务(gnid、hdr等)的代码,每个微服务我建了一个包。 通常一个rpc服务会包含多个接口,为了避免每个接口都写一个java sample请求,这里有个小技巧,可以在参数中增加一个字段,用于区分不同的接口 步骤三:将脚本打成可执行包,放到jmeter的\lib \目录下 步骤四:启动jmeter,新建“线程组”,在线程组下新建java请求 选择测试类 填写在代码中设定的参数: 剩下的增加相应的断言、监听器、参数化(如需要),就可以像玩http一样开始了 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1K20编辑于 2022-11-08
  • 来自专栏CSIG质量部压测团队

    codingMQTT服务常见问题

    [image.png] 选择拆分数据文件到集群,会根据参数化参数个数/集群的服务器台数,就是每台集群上边应该拆分到的参数化参数量。 中配置的参数文件路径不正确,无法正确读取 coding默认的参数化文件路径是/jmeter/xxxxx.txt,所以在jmeter脚本中需要配置成/jmeter/xxxxx.txt,否则coding进行测时 还是外网;假如一个是内网,一个是在外网,调整两者都是内网或者都是外网 2、排查application是否选择到自己在jmeter中配置的application 3、排查grafana和influxdb服务是否正常启动

    90000发布于 2021-06-22
  • 来自专栏7DGroup

    性能工具之JmeterHprose RPC服务

    具体参考以下文章: 性能基础之浅谈常见接口性能 Hprose特点 支持几乎所有常见语言的实现,包括浏览器中的javascript 成熟稳定,已经在很多项目中得到验证 一直在持续稳步更新 国人开发 示例 此处我们使用官方自带的HellWorld示例 源代码:https://github.com/hprose/hprose-java 写Hprose服务端 首先创建一个maven web项目,并引入 Jmeter 打开Jmeter,设置线程组为5个 ? 至此,我们的一个Hprose RPC服务的小例子就完成了。 性能工具之Jmeter系列文章: 性能工具之Jmeter扩展函数及ActiveMQ实践 性能工具之JmeterThrift RPC服务

    1.7K20发布于 2019-07-17
  • 来自专栏院长运维开发

    ab工具

    测试会话中所执行的请求个数,默认仅执行一个请求 -c 一次产生的请求个数,即同一时间发出多少个请求,默认为一次一个 -t 测试所进行的最大秒数,默认为无时间限制....其内部隐含值是[-n 50000],它可以使对服务器的测试限制在一个固定的总时间以内 此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对(如"Accept-Encoding: zip/zop;8bit") -A HTTP验证,用冒号:分隔传递用户名及密码 -P 无论服务器是否需要 (即是否发送了401认证需求代码),此字符串都会被发送 -X 对请求使用代理服务器 -V 显示版本号并退出 -k 启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求,默认为不启用 -e 产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间 -h 显示使用方法 -k 发送keep-alive指令到服务器端

    2.1K20发布于 2021-02-19
领券