.Net站点架构时间(八)測试

一般而言。总体測试策略是:先针对部分系统进行性能及压力測试,得到各部分的峰值处理性能;再模拟总体流程測试,此时倒不用依照峰值跑,重点測试总体业务流程及业务预期负荷。

在定义好各部分的測试策略后。详细的工具使用选择倒不是主要问题。

1、不同省份、不同运营商CDN节点性能

此部分能够採用典型压力測试的方案。



2、核心机房BGP网络带宽

此部分重点在于測试各运营商BGP网络可靠性、实际速率等。一般採用smokeping、IxChariot等工具。



3、各类硬件设备性能


此部分一般採用专业的网络设备測试工具。



4、各类server(Webserver、应用server、缓存server等)并发性能、分布式处理能力

此部分能够採用压力測试方案及工具。

6、业务系统性能

此部分能够採用业务系统压力測试方案。

7、数据库处理性能

大部分互联网公司都对数据库作了定制改造以满足业务须要,此部分測试须要结合业务系统进行測试。以获取核心业务场景下数据库的TPS/QPS,尤其是測试定制改造的地方。



8、支付渠道接口及分流測试

此部分相对而言可能是最大的瓶颈所在,也是互联网公司们无法全然掌控的地方,仅仅能协调银行总部改造支撑。



另外还涉及备份方案、容灾方案、业务降级方案的測试。

这里指的业务降级方案。是基于“有损服务、柔性可用”的策略。为保证核心服务可用的前提下,对部分服务的质量降级处理。

作者:梁川

链接:http://www.zhihu.com/question/22216942/answer/78753248

来源:知乎

著作权归作者全部。商业转载请联系作者获得授权,非商业转载请注明出处。

‘在编写一个网络服务的时候都比較关心这个服务能达到多少并发连接,而在这连接的基础上又能达到一个如何的交互能力.编写服务已经是一件非常花力气的事情,而还要去编写一个可以体现结果的測试工具就更加消耗工作时间.以下介绍一个測试工具仅仅须要简单地设置一下就能对tcp/udp服务进行高并发和高吐吞的性能測试,并通过图形化的方式反映測试结果.

工具是採用用.NET编写,所以须要.NET FRAMEWORK才干执行.尽管.net在这方面的给人的感觉性能不怎么出色,但这个工作出色性能足够满足大部分服务端的压力測试.

工具主界面

​        

工具很easy易用,仅仅须要设置几项内容就能够对于个服务端进行压測.在这里比較注意的就是測试模式这里,工具主要提供两种測试模式各自是

应答模式:当连接接收服务端响应后立即进行下一次请求消息发送

间隔模式:连接依据设置的间隔时间来进行发送请求消息

消息编辑

在发起測试之前还须要给工作加入測试消息,明白工具向server发送那些消息内容

能够依据自己的须要编辑多发送的消息,每一个连接都会轮遁把这些消息发送给服务端,消息的编码也能够依据自己须要设置.工具提供4种各自是:ascii,utf8,hex和base64.

当以上工作都准备好后就能够点击測试button进行測试,工具下方的几个曲线走势图会反映測试过程数据收集的结果.通过这些结果你就能了解到服务端响应的情况和总体吞吐浏览走势.

工具究竟具备如何的压力效能呢,以下通过两个測试用例反映工具具备的測试能力.

測试用例1

构建一个简单的TCP服务,然后在还有一台机构建5000个连接的请求測试(測试电脑是一台笔记本),请求消息大小为1K;測试结果例如以下:

从结果来看5000个连接请求測试结果反映出总体交互是每秒6W个发送和6W个接收,而产生带宽上下行各自是60MB,那基本已经把測试环境1Gb的带宽跑完了.从系统的资源管理器来看的确是这样子.

測试用例2

这个測试主要把发送的消息设置成4K,因为网络环境所以仅仅能把測试工具和服务端放在同一台PC上.而測试的连接数降到的2000个

測试结果反映socket的读写量各自是4W左右,而上下行的带宽分别170MB左右,算起来大概带宽达到3-4Gb之间.

HTTP測试

组件也能够对HTTP进行測试,因为測试工具是基于长连接測试,所以请求描写叙述必须用HTTP 1.1,并设置keep-alive;详细消息设置例如以下:

  

总结

从以上两个測试用例的结果反映,工具具备着很不错的压力測试效率.相信对于大部分TCP/UDP服务压力測试工作都能胜任.因为工作採用的随机port分配,所以在创建连接的数量上会有一定的限制,后面会调整一下依据本机IP情况过行手动绑定,这样相信能够满足一些需大量连接服务測试.

http://blog.liuts.com/post/234/

.Net站点架构设计(八)測试的更多相关文章

  1. Web站点架构设计考虑的因素

    转自http://blog.csdn.net/moshengtan/article/details/8990052 1    Web负载均衡 1.1 - 使用商业硬件实现 最经常使用的F5 与citr ...

  2. 千万PV级别WEB站点架构设计

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1369762 高性能与多 ...

  3. .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)

    阅读目录: 1.需求背景介绍(Model元数据设置项应该与View绑定而非ViewModel) 1.1.确定问题域范围(可以使用DSL管理问题域前提是锁定领域模型) 2.迁移ViewModel设置到外 ...

  4. GPS部标监控平台的架构设计(八)-基于WCF的平台数据通信设计

    总体来讲,GPS部标平台的软件开发是一个对网络通信和应用程序之间通信的技术应用密集型的开发工作,也是有一定设计技术含量的工作. 1.设计通信接口 在设计的时候,根据职责划分,拆分成不同的应用子系统,对 ...

  5. UCloud上LAMP小型站点搭建与測试

    文件夹 介绍 LAMP环境搭建 打开UCloud防火墙 WordPress安装 应用測试 介绍 本篇博客旨在通过介绍搭建一个WordPress博客的过程介绍在UCloud的云主机(UHOST)上搭建单 ...

  6. LoadRunner使用入门 进行Webservice负载測试

    1.什么是LoadRunner LoadRunner是HP公司的一款付费工具,该工具是一种预測系统行为和性能的负载測试工具. 通过模拟上千万用户实施并发负载来确认和查找问题. 2.什么是负载測试 通过 ...

  7. .NET架构设计、框架设计系列文章总结

    从事.NET开发到现在已经有七个年头了.慢慢的可能会很少写.NET文章了.不知不觉竟然走了这么多年,热爱.NET热爱c#.突然想对这一路的经历进行一个总结. 是时候开始下一阶段的旅途,希望这些文章可以 ...

  8. GPS部标平台的架构设计(十)-基于Asp.NET MVC构建GPS部标平台

    在当前很多的GPS平台当中,有很多是基于asp.NET+siverlight开发的遗留项目,代码混乱而又难以维护,各种耦合和关联,要命的是界面也没见到比Javascript做的控件有多好看,随着需求的 ...

  9. GPS部标平台的架构设计(四)-百度地图设计

    部标GPS软件平台之百度地图设计 地图是客户端中不可缺少的一个模块,很多人在设计和画图时候,喜欢加上地图引擎这样高大上的字眼,显得自己的平台有内涵,说白了就是用第三方的SDK来开发,早期的GPS监 控 ...

随机推荐

  1. Qt中将QString转换为char *或者相反

    1.将QString转换为std::string,可以通过QString的成员函数toStdString() QString Qstr="123";std::string str= ...

  2. sql循环插入测试数据

    declare @i int set @i=1while @i<61 begin insert into T_RolePower values(1,@i,1)set @i=@i+1 end

  3. linux 安装开启SNMP协议,最下面是yum安装

    Linux SNMP 以下的示例采用SUSE10 Linux环境,但它同样适用于其它Linux发行版. 编译和安装 首先我们需要下载Net-SNMP的源代码,选择一个版本,比如5.7.1,地址如下: ...

  4. Web项目开发规范文档

    http://www.kancloud.cn/chandler/css-code-guide/51267

  5. grid-tooltip扩展方法

    调用:$('#dg').datagrid('doCellTip', { 'max-width': '100px' }); /** * 扩展两个方法 */$.extend($.fn.datagrid.m ...

  6. 一般来说,主方法main()结束的时候线程结束

    suspend()是将一个运行时状态进入阻塞状态(注意不释放锁标记).恢复状态的时候用resume().Stop()指释放全部. 这几个方法上都有Deprecated标志,说明这个方法不推荐使用. 一 ...

  7. hdu 2686(状压dp)

    题目链接:http://poj.org/problem?id=2686 思路:典型的状压dp题,dp[s][v]表示到达剩下的车票集合为S并且现在在城市v的状态所需要的最小的花费. #include& ...

  8. Python 读取json文件

    创建json文件: { "fontFamily": "微软雅黑", "fontSize": 12, "BaseSettings&q ...

  9. kafka对比RocketMQ(转)

    淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kaf ...

  10. 链接href的多重使用

    1. 拨打电话 在电话号码前面可以加上 + (加号)表示国际号码. <a href="tel:10086">10086</a> 使用wtai协议进行拨打电话 ...