小编Bre*_*ett的帖子

Linux 3.2内核与2.6内核接受不良平衡的套接字

我正在运行一个相当大规模的Node.js 0.8.8应用程序,使用带有16个工作进程的Cluster,在具有超线程的16处理器盒子上(所以32个逻辑核心).我们发现自从迁移到Linux 3.2.0内核(从2.6.32开始)以来,工作者子进程之间的传入请求的平衡似乎被大量加权到5个左右的进程,而其他11个进程根本没有做太多工作.这可能对吞吐量更有效,但似乎增加了请求延迟并且对我们来说不是最佳的,因为其中许多是长期的websocket连接,可以同时开始工作.

子进程都在套接字上接受(使用epoll),虽然这个问题在Node 0.9(https://github.com/bnoordhuis/libuv/commit/be2a2176ce25d6a4190b10acd1de9fd53f7a6275)中有一个修复,但该修复似乎没有帮助我们的测试.是否有人知道内核调优参数或构建选项可能有所帮助,或者我们最好使用不同的方法回到2.6内核或跨工作进程进行负载平衡?

我们将其归结为一个简单的HTTP Siege测试,但请注意,这是在带有超线程的12核盒子上进行12次触发(因此有24个逻辑核心),并且有12个工作进程在套接字上接受,而不是我们的16在生产过程中.

在Debian Squeeze上使用Node 0.9.3进行HTTP Siege,在裸机上使用2.6.32内核:

reqs pid
146  2818
139  2820
211  2821
306  2823
129  2825
166  2827
138  2829
134  2831
227  2833
134  2835
129  2837
138  2838
Run Code Online (Sandbox Code Playgroud)

除了3.2.0内核以外的一切:

reqs pid
99   3207
186  3209
42   3210
131  3212
34   3214
53   3216
39   3218
54   3220
33   3222
931  3224
345  3226
312  3228
Run Code Online (Sandbox Code Playgroud)

linux kernel epoll http node.js

26
推荐指数
1
解决办法
1863
查看次数

我怎样才能知道.Net Appdomain消耗了多少内存?

我正在尝试以编程方式限制在.Net AppDomain中运行的插件的内存消耗,但是我找不到任何设置参数,我也找不到查询AppDomain以计算消耗多少内存的方法.有任何想法吗?

.net clr

6
推荐指数
2
解决办法
3594
查看次数

2017年1月1日Google OpenId Connect to OpenID 2.0映射究竟会发生什么?

根据Google OpenID 2.0迁移时间表,"OpenID 2.0标识符到OAuth 2.0标识符的映射将继续有效,直到2017年1月1日."

从文档中可以100%清楚这种转变将采取什么形式.请求范围:"openid"或openid.realm:"something"开始返回错误?或者旧的openid值是否会在响应中出现?在谷歌ID连接文档仍使用其例如ID连接的认证请求URI值.

有没有人更好地了解这将如何消失?我们的方法是放弃openid范围和openid.realm,但我们试图更好地确定更改的确切形式.

openid openid2 google-oauth openid-connect google-oauth2

5
推荐指数
1
解决办法
134
查看次数