- 浏览: 427460 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lkun__blog:
网页打不开啊
博客搬家到http://cuiz.me -
bglmmz:
楼主怎么解决的?我用python调用ice服务,也出现此问题, ...
syscall exception: 存储空间不足,无法处理此命令 -
luliangy:
哥,你什么配置,我10W个请求10秒左右就搞定了,毫无压力,R ...
Nginx和Apache简单的并发压力测试 -
liuxuejin:
这!看的我都···········。我看代码而已。怎么
EPOLL及消息队列实现SMTP 之 青楼的故事 -
zires:
night_stalker 写道unicorn 也很好维护啊, ...
Unicorn和Passenger性能测试对比
并发读写性能测试请执行:
roadrunner会根据传入的nbd参数数量启动相应的进程独立访问不同的nbd。
单个nbd(vm)读写性能测试执行:
引用
ruby vbd_kv.rb -nbd /dev/nbd0,/dev/nbd1,/dev/nbd2,/dev/nbd3,/dev/nbd4,/dev/nbd5,/dev/nbd6,/dev/nbd7,/dev/nbd8,/dev/nbd9 -size 1073741824
roadrunner会根据传入的nbd参数数量启动相应的进程独立访问不同的nbd。
单个nbd(vm)读写性能测试执行:
引用
ruby vbd_kv.rb -nbd /dev/nbd11 -size 10737418240
require "rubygems" require File.join(File.dirname(__FILE__),'..','lib','roadrunner') # require "roadrunner" #-----------------------------Argv prepare.--------------------------------# def args(key) ARGV.each_with_index do |arg, i| return ARGV[i+1] if "-#{key}" == arg end nil end unless args('nbd') && args('size') p "[ruby ]#{$0} -nbd /dev/nbd[0-x][,/dev/nbd[0-x],/dev/nbd[0-x]] -size 10240000" exit 1 end #-----------------------------Logger prepare.--------------------------------# $log ||= Logger.new(STDOUT) NBD=[] args('nbd').split(',').each do |n| NBD << begin f=File.open(n,"rb+") f.sync=true f rescue Exception => e $log.error "Can't open #{args('nbd')}!" exit -1 end end `echo '' > /root/nbd/sanbo/1.log` #--------------------------------VBD KV integration test---------------------------------# class ValidateError < Exception;end class Kv_vbd class << self def seq_read(nbd,fs) $log.debug("Entry seq_read, ARGV => #{ARGV.inspect}") begin nbd.rewind# if nbd.eof? loop { #tmp=rand(fs/10000) # $log.debug("seq_read:reading #{tmp} bytes from #{nbd}") #tmp=nbd.readpartial(tmp) #break if nbd.eof? nbd.sysread(1280000) } $log.info("seq_read done.#{fs} bytes read #{nbd}.") rescue Exception => e if nbd.eof? return nbd.eof? else $log.error("#{nbd} read error!") raise Exception,e.to_s end end # validate(nbd,fs) end def seq_write(nbd,fs) $log.debug("Entry seq_write, ARGV => #{ARGV.inspect}") begin nbd.rewind# if nbd.eof? # bs=1024*1024 bs=1024 data='x'*bs $log.debug("seq_write:writing #{bs} bytes into #{nbd} everytime.") (fs/bs).times {|t| nbd.syswrite(data) nbd.flush # `sync` if t%10240 == 0 } (nbd.syswrite('x'*(fs%bs));nbd.flush) unless fs%bs == 0 $log.info("ruby io done.sync will exec.") `sync` # signature(nbd,fs) $log.info("seq_write done.#{fs} bytes write into #{nbd}.") rescue Exception => e $log.error("#{nbd} write error!") end dirty_watcher(nbd,fs) end def signature(nbd,fs) $log.debug("Entry signature, ARGV => #{ARGV.inspect}") nbd.rewind nbd.seek(10) nbd.syswrite('c') nbd.seek(-10, IO::SEEK_END) nbd.syswrite('c') begin @MD5=`md5sum #{nbd.path}`.match(/(^[a-z0-9A-Z]*)[\s|\t].*$/)[1] $log.info("#{nbd.path} md5sum => #{@MD5}") rescue Exception => e $log.error("md5sum exec error! "+e.to_s) end end def validate(nbd,fs) $log.debug("Entry validate, ARGV => #{ARGV.inspect}") nbd.rewind nbd.seek(10) unless (tmp=nbd.sysread(1)) == 'c' raise ValidateError,"expect File.seek(10, IO::SEEK_END) => 'c',actually get #{tmp}." end nbd.seek(-10, IO::SEEK_END) unless (tmp=nbd.sysread(1)) == 'c' raise ValidateError,"expect File.seek(-10, IO::SEEK_END) => 'c',actually get #{tmp}." end raise ArgumentError,"No md5sum checked! @MD5 => #{@MD5}" unless @MD5 _m=`md5sum #{nbd.path}`.match(/(^[a-z0-9A-Z]*)[\s|\t].*$/)[1] $log.info("Expect md5sum is #{@MD5}.") $log.info("Actually md5sum is #{_m}") unless @MD5 == _m raise Exception,"md5sum check failed!" end $log.info("Validate Success...") end # size => get nbd device size used at Linux system # return nbd size(Byte) # nbd => "/dev/nbd9" def size(nbd) _s=`ps axf|grep #{nbd}|tail -n1|awk '{print $8}'`.to_i*1024**3 $log.info("Disk size => #{_s}") end def dirty_watcher(nbd,fs) $log.debug("Entry dirty_watcher, ARGV => #{ARGV.inspect}") dirty='' # watch dirty file 10 times,ensure the queue is empty. count=10 begin dirty="/tmp/#{`ps axf|grep 'nbd-client .* #{nbd.path}'|tail -n1|awk '{print $9}'`.gsub($/,'')}.dirty" loop { if IO::read(dirty) == '0'*8 count-=1 if count == 0 $log.info("dirty file <#{dirty}> == #{IO::read(dirty)}.Watch over.") break end else count=10 end sleep 3 } rescue Exception => e $log.error "can't find dirty file => #{dirty}" $log.error "ps axf|grep 'nbd-client .* #{nbd.path}' => #{`ps axf|grep 'nbd-client .* #{nbd.path}'`}" end end end end #--------------------------------RoadRunner---------------------------------# rr=RoadRunner.new rr.mode,rr.users,rr.iterations='p',NBD.size,1 rr.log=$log #['seq_write','signature','seq_read','validate'].each_with_index{|s,i| #['seq_read'].each_with_index{|s,i| ['seq_write','signature'].each_with_index{|s,i| ts_proc=proc{ # Kv_vbd.send(s,NBD[rr.userId],Kv_vbd.size(NBD[rr.userId].path)) Kv_vbd.send(s,NBD[rr.userId],args('size').to_i) } rr.send(s,&ts_proc) } rr.run rr.report NBD.each{|x|x.close}
发表评论
-
CBenchmark-一款开源的纯C实现的通用性能测试框架
2011-07-11 17:25 1282Code Base on https://github.com ... -
国内各大机房之间的延迟和丢包率
2010-12-22 18:14 2471用来指导打Dota时选择哪个机房的代理和平台。 ... -
从杭州到全国各地ping时长
2009-08-24 11:06 1478ping 写道nc.onlinedown.net=>24 ... -
LoadRunner+DLL压ICE接口还是比较可行的
2009-08-04 16:40 1561ICE接口性能太好了,用Ruby写的RoadRunner压不起 ... -
Linux默认的可用端口号不是1024到65535!
2009-03-02 17:24 22241vi /etc/sysctl.conf 添加下面一行: ... -
更改Windows Server 2003的TCP连接数限制
2009-02-27 17:28 10752Try changing the registry value ... -
LVS的TPS曲线
2009-02-26 17:42 1990前端一台DELL1950做LVS服务器 后端4台虚拟机,每个 ... -
apache响应cgi请求的速度
2009-02-24 16:20 12338和8G的服务器, 高并发(100-500)访问Apache ... -
Nginx做负载均衡相当不稳定!
2009-02-23 11:25 6453开始我在虚拟机上做负载均衡,后端三台服务器,前端用Nginx, ... -
LR web_url request headers
2009-02-18 13:56 1338LR通过web_url发出的请求的Header是这个鸟样的: ... -
用Loadrunner脚本访问SIP平台的API
2009-02-17 14:36 2260LR脚本访问SIP平台的API: char sip_apin ... -
需要执行中将期望信息写到文件中的LR脚本
2008-12-25 09:34 1428Init.c /* -------------------- ... -
Enet Probe探针性能脚本
2008-12-15 11:31 1229int id, scid; char *vuser_grou ... -
web_convert_param的使用注意
2008-12-05 18:12 2814Action() { lr_save_string(& ... -
爬虫线程并发--性能测试脚本
2008-12-04 17:20 1638char preUrl[]="URL=http:// ... -
类似开心网的《好友动态》--性能测试脚本
2008-12-04 17:11 1477好友动态就是类似某某某和某某某成为了好朋友, 某某某许了一个什 ... -
许愿--性能测试脚本
2008-12-04 17:08 993vuser_init() { lr_load_dll(& ... -
Nginx和Apache简单的并发压力测试
2008-10-20 22:49 4710同样的环境,大小差不了几个字节的页面, Nginx的worke ... -
Apache在Worker模式下的参数调整试验
2008-10-19 14:57 1240我的配置如下: <IfModule mpm_worke ... -
Loadrunner9.0注册问题
2008-10-13 15:46 1720Loadrunner9.0不能注册lisence的时候,请 ...
相关推荐
"RoadRunner汉化补丁"是一个专为RoadRunner软件设计的本地化工具,旨在帮助中国用户更方便地理解和使用这款软件。RoadRunner通常是一款车载多媒体系统软件,它提供了丰富的功能,如导航、音频播放、车辆信息显示等。...
【RoadRunner与VTD在自动驾驶虚拟仿真测试场景搭建中的对比】 在自动驾驶技术的发展过程中,虚拟仿真测试场景的构建起着至关重要的作用。本文主要对比分析了两种常用的虚拟仿真工具——RoadRunner和VTD在场景搭建...
内容概要:本文介绍了 MATLAB, RoadRunner 和 Sumo 在动力总成预测性能量管理软件测试中的联合仿真方法。具体涵盖了动力总成预测性能量管理软件的功能、测试环境的搭建、静态和动态场景的创建以及应用场景。文中详细...
5. **高性能特性**:Go-RoadRunner利用Go语言的并发特性,通过工作池模型实现高并发处理。每个PHP工作进程可以处理多个请求,而不会互相干扰,从而提高了整体性能。 6. **持久连接**:Go-RoadRunner支持HTTP/2协议...
"Road Runner"作为一个中控软件,其主要功能可能包括远程控制、系统监控、任务调度、网络管理等多个方面。远程控制允许用户在不同的设备间进行操作,例如,用户可以在一台电脑上控制另一台电脑,这对于技术支持或者...
**车载电脑中控软件Road Runner详解** Road Runner是一款专为车载电脑系统设计的中控软件,它集成了多媒体播放、导航、车辆监控等多种功能,旨在提升驾驶体验并提供丰富的车载娱乐与信息系统。作为一款强大的中控...
1. 数据采集:RoadRunner能够从各种数据源(如数据库、文件、网络API等)高效地抓取数据,支持多种数据格式的读取和解析,确保数据获取的全面性和准确性。 2. 数据处理:在抽取数据后,它提供了预处理功能,如数据...
Road Runner安装设置图文
Roadrunner算法,意大利的科学家提出的用于大规模网页信息处理的一个开源工具
软件测试实验报告(使用LoadRunner进行性能测试实验) 一、性能测试简介 性能测试是软件测试中的一种重要类型,以评估软件系统在高并发和大负载下的性能和可扩展性。LoadRunner是一款成熟的性能测试工具,广泛应用...
安装运行以下命令: composer require baldinof/roadrunner-bundle如果您不使用Symfony Flex: 在您的内核中注册Baldinof\RoadRunnerBundle\BaldinofRoadRunnerBundle 复制默认的RoadRunner配置文件: cp vendor/...
Laravel-Roadrunner 简单的Laravel- 桥 安装 $ composer require hunternnm/laravel-roadrunner 如果需要-发布配置文件以更改实现(即重置器等) ...用法 该软件包已准备好进行生产,并且包含一个简单的bin/road...
RoadRunner <-> Symfony桥Symfony和RoadRunner之间没有PSR7层(HttpClient)的简单桥梁。安装使用Composer要求此库composer req updg/roadrunner-symfony 创建psr-worker.php文件并将此内容添加到其中<?...
$ composer require spiral/roadrunner-laravel " ^4.0 " 需要已安装的composer ()。 之后,您可以使用下一个命令“发布”软件包配置文件( ./config/roadrunner.php ): $ ...
目录RoadRunner是开源(由MIT许可)的高性能PHP应用程序服务器,负载平衡器和进程管理器。 RoadRunner v1.0文档可。 介绍PHP工人调试HTTP和HTTP / 2 HTTP和HTTP / 2 静态内容标头Golang中间件应用服务器CLI命令记录...
oadRunner是一个用于生成OpenDrive地图的工具,可以在Carla或其他支持OpenDrive和OpenScenario的模拟器引擎中进行模拟。...可以通过下载安装设置来使用RoadRunner,并且可以将完成的地图导出到不同的模拟器中。
Temporal是RoadRunner的官方插件,可在。 阅读有关应用程序服务器安装的更多信息。 要安装PHP-SDK,请执行以下操作: $ composer require temporal/sdk 阅读如何配置worker和init工作流程。 测验 要测试集成,请...
[RR2-BETA] RoadRunner是开放源代码(由MIT许可)的高性能PHP应用程序服务器,负载平衡器和进程管理器。 它支持作为服务运行,并能够在每个项目的基础上扩展其功能。 RoadRunner包括与PSR-7 / PSR-17兼容的HTTP和...
Roadrunner_outputconverter 将Roadrunner输出地图(RoadMap)转换为图形采样算法输入,以进行精确/调用/ F分数评估 调用python3 Roadrunner_outputconverter.py以及从Roadrunner获得的输出pickle文件名。 ...
RoadRunner是开放源代码(由MIT许可)的高性能PHP应用程序服务器,负载平衡器和进程管理器。 它支持作为服务运行,并能够在每个项目的基础上扩展其功能。 RoadRunner包括与PSR-7 / PSR-17兼容的HTTP和HTTP / 2服务器...