wcf服务器 性能差,WCF性能问题大探讨

最进项目进行性能优化工作,主要是WCF方面的性能优化。

一丶说说我们项目的结构:

1. 安卓前台,通过创建HTTP请求调用WCF服务

2. WCF后台,主要是提供数据,以及做一些重要的业务逻辑处理

二丶传输格式

数据传输格式:后台处理安卓前台的请求,返回的对象要通过JSON转化之后才返回给前台

注意:JSON转化后的字符串长度一般在10000。

三丶WCF的配置文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

WCF的实例模型和并发模型的设置:

1 [ServiceBehavior( InstanceContextMode = InstanceContextMode.Single,

UseSynchronizationContext = false,

ConcurrencyMode = ConcurrencyMode.Multiple,

IncludeExceptionDetailInFaults = true)]

注意:项目中每一个方法中的执行时间都不会超过一秒(项目中的代码优化已经做到很好了,一般情况下都没有问题)。

三丶尝试的解决方案

1. 字符串压缩

2. 调整限流设置 - serviceThrottling

3. 增大WCF并发时的线程数量

参考:http://www.cnblogs.com/shanyou/archive/2013/02/09/2909569.html

通过这样修改后感觉效果不是很明显。

四丶测试结果

同时开启500个线程去调用WCF服务方法,得到的数据是:

就调用一个方法,JSON转化的字符串长度为6500.

最后面是调用时间,单位为毫秒。

ae1fcd3a058272d1a80f9ee9128a3abf.png

1ff216794f4f58b5aaccf16c49be309b.png

现象:调用的时间会一直在增加,最终的时间为200毫秒。

五丶疑问

1. 为什么调用时间一直在增加,我不是设置了并发模型了,怎么会这样?

2. JSON的大字符串传输有什么好的办法解决?

3. 有没有人有安卓调用WCF的性能优化经验?

最后希望大家给我点建议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值