在编写一个网络服务的时候都比较关心这个服务能达到多少并发连接,而在这连接的基础上又能达到一个怎样的交互能力.编写服务已经是一件很花力气的事情,而还要去编写一个能够体现结果的测试工具就更加消耗工作时间.下面介绍一个测试工具只需要简单地设置一下就能对tcp/udp服务进行高并发和高吐吞的性能测试,并通过图形化的方式反映测试结果.         工具是采用用.NET编写,所以需要.NET FRAMEWORK才能运行.虽然.net在这方面的给人的感觉性能不 ...
        之前的测试都是针对比较大的文件,由于带宽的限制所以无法更好的测出azure存储在写入方面的并发能力.这次测试主要考察一下azure在写入并能力,主要测试写入1K,2K,4K的文件.azure的api损耗还是比较高的,所以在现有测试资源环境最大只能达到1W多个文件写入.不过这个量对于大部分中小型企业来说已经是相当可观的数字. ...
        由于公司想把部份业务迁到windowsazure,主要是应用winodwsazure的存储;在方案中为了体现存储的可靠性所以对winodwsazure存储进行了一系列的测试.但在读取压力测试环节中发现间歇性出现文件读取延时的情况,由于自己在编写测试应用方面比较善长(年长的农码),所以把问题归根于winodwsazure的存储上.经过和MS技术多次交流和帮助下才把问题明确下来,虽然问题不是程序代码产生,但和测试方法构建的测试数据有着关系.下面分享一下个测试过程. 目标     &nbs ...
        在业务制定的时候很少会切入缓存设计这一环节,毕竟在指标不明确的情况这属于一种过渡设计.毕竟缓存切入有很多手段,在很多时候直接在WEB进行一个页面缓存就有着非常高收益的效果.缓存是一种横向的数据处理应用,一般在设计中引入AOP,ICO的应用组件都可以在后期切入添加.但AOP,ICO在没有比较丰富的经验情况引入会直接增加应用的复杂度和风险.在设计主要介绍一种简单的设计方式在设计阶段引用缓存但又不带来复杂的工作成本. 一个简单示例 public class BlogService:Interfaces.IBlogService { ...
        在.NET上编写网络服务深入都有2,3年了,而这些时间时如何在.NET里实现一个高性能的网络服务积累了不少经验.在接下来的时间里会把这方面的经验通过blog的方式分享出来.而这一章主要是讲解在如果提高服务连接接入的效率,从而让服务连接接入的并发量有高吞吐的性能.        其实.NET提供了一个非常强大的网络模型给我们使用,而我们只需要把这个模型用好那基于是不存在多大问题.不过由于很多开发人员对这方面并没有了解和深入所以感觉.Net编写一个高效能的服务比较因难.下面通过不同的示例来描述问题的 ...
        在有些场景下需要动态加载一些C#代码执行,这种情况往往是让C#当作一些逻辑脚本来执行.这样可以随时修改代码即可以反映到应用程序中.为了解决这一功能以下提供一个非常简单的组件script4net来完成这一功能.通过script4net可以动态加载C#,VB.NET文件或代码文本. 应用1 CS4Script.Script script = new Script(); script.LoadCSCode(@" using System; class Program { ...
EC(全称elastic communication),是一个零配置的网络通讯组件,通过EC可以非常简单地构建一个网络服务应,而开发人员并不需要理解整个网络服务的构情况;只需要根据场景定义message和action即可完成。对于消息和action的一系列组合运行也是由组件自动集成,开发人员并不需要编写任何配置。以下简单一下如何实现一个helloword程序。 服务端 namespace HelloWord.Server { [Controller] public class Program { static void Main(strin ...
HttpTest4Net集成了两个简单的压力测试用例,但实际应用中需要提交动态数据,这个时候就需要自己定义测试用例.自定义测试用例相对来说比较简单引用HttpTest4Net.Interfaces,并实现IUrlTester接口即可,也可以简化从PostUrlTester现在用例中承继并重写一些简单的属性来实现。下面是实现一个简单动态用户注册的测试请求用例。 [HttpTest4Net.Interfaces.Test("user register")] public class UserRegister:HttpTest4Net.Interfaces.PostUrlTe ...
发现不少同学在用.NET做通讯的时候都关心一个问题,.NET能支持多少个在线连接。其实.net的通讯由winsocket所支持,既然由低层的winsocket所支持那.NET其端的接入连接数的受限完全取于winsocket当前操作系统的限制。 65535的限制? 有很多同学认为由于端口有限,所以接入的连接会受端口资源限制。其实对于服务端的连接接入是不会产生端口资源的分配,它只分配相应的操作系统句柄。所以可接入的连接不会不会受端口数的限制。其实WIN预留可接入的连接数上限值还是非常大的,通过以下注册表值可以了解到 [HKEY_LOCAL_MACHINE \System ...
在Configuration Agent设计的时候就已经明确兼容.NET默认Configuration的使用规则,下而看一下Configuration Agent和.NET默认Configuration使用的对比。 AppSettings System.Configuration.ConfigurationManager value = System.Configuration.ConfigurationManager.AppSettings["PreserveLoginUrl"]; Configuration4Net.ConfigurationManager ...