dubbo应用使用的线程池为

1
com.alibaba.dubbo.common.threadpool.support.fixed.FixedThreadPool
,如果当queue设置为0时,会使用
1
SynchronousQueue
,这个东东导致了任务线程执行”不均衡”(满足了大家的心理预期,其实这种不均衡方式减少了上下文切换,但是
1
SynchronousQueue
没有大小,不能起到任务缓冲的作用).

请在dubbo:protocol上加上queues大小(参考tomcat默认配置).

1
    <dubbo:protocol name="dubbo" port="${dubbo.provider.port}" threads="200" queues="100"/>

测试:

修改前:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
grep DubboServerHandler dubbo-demo.log |awk  -F '-'  '{print $6}' |awk  -F ']'  '{print $1}' |sort -n |uniq -c
     1 150
  1 151
  1 152
  1 153
  1 154
  1 168
  1 169
  1 170
117 171
   	5386 172
714 173
   	2646 174
   	3738 175
   	3105 180
   	6332 194
   	2483 195
   	4940 196
   	1211 197
   	5661 198
   	5428 199
   	1393 200

修改后:

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
grep DubboServerHandler dubbo-demo.log |awk  -F '-'  '{print $6}' |awk  -F ']'  '{print $1}' |sort -n |uniq -c
507 1
498 2
496 3
501 15
488 16
494 17
523 18
502 19
494 20
503 21
491 22
507 23
 		...
 507 133
495 134
498 135
494 136
507 137
508 151
490 152
494 195
496 196
496 197
506 198
493 199
489 200

一次技术问答

## 一次技术问答最近一年多都没有写博客了,技术上做了很多有意义的事情,也有一些经验上的积累,逐步沉淀到博客上。今天回答某公司的技术上的一些疑问,把问题和回答贴上来。逐步`养`自己的技术观。### 1. 如何做数据安全防范?还有哪些支付安全需要注意?数据安全防范主要分为两个...… Continue reading

2016年05月Reading Notes

Published on August 10, 2016

2016年05月Reading Notes

Published on June 19, 2016