小编Mar*_*ger的帖子

Redis:显示密钥的数据库大小/大小

我的redis实例似乎变得非常大,我想知道我在那里的多个数据库中消耗了多少内存.Redis的INFO命令只显示了每个数据库的总大小和密钥数量,这并没有给我太多的洞察力......所以在监控redis服务器时给我更多信息的任何工具/想法都将受到赞赏.

Redis文档没有向我显示任何可以返回某些键的消耗内存的命令,所以我想如果任何错误代码会给redis写下很多"垃圾",这可能真的很难找到......

redis

77
推荐指数
7
解决办法
9万
查看次数

Amazon EC2中的负载均衡?

我们已经在亚马逊EC2上与HAProxy争夺了几天; 到目前为止,这种体验一直很好,但我们仍然在努力从软件负载均衡器中挤出更多性能.我们并不完全是Linux网络高手(我们通常是.NET商店),但我们到目前为止仍然拥有自己的,试图设置适当的ulimits,检查内核消息和tcpdumps是否存在任何异常情况.到目前为止,我们达到了大约1,700个请求/秒的平台,此时客户端超时比比皆是(我们一直在使用和调整httperf以此目的).一位同事和我正在收听最新的Stack Overflow播客,其中Reddit创始人注意到他们的整个站点都运行在一个HAProxy节点上,并且到目前为止它还没有成为瓶颈.确认!要么以某种方式没有看到许多并发请求,我们正在做一些可怕的错误,或者EC2的共享性质限制了Ec2实例的网络堆栈(我们使用的是大型实例类型).考虑到Joel和Reddit创始人都认为网络可能是限制因素这一事实,我们看到的限制是否可能?

任何想法都非常感谢!

编辑事实上,实际问题看起来并不是负载均衡器节点!罪魁祸首实际上是运行httperf的节点,在这个例子中.由于httperf为每个请求构建并断开套接字,因此它在内核中花费了大量的CPU时间.当我们提高请求率时,TCP FIN TTL(默认为60秒)会使套接字保持太长时间,并且ip_local_port_range的默认值对于此使用方案来说太低了.基本上,在客户端(httperf)节点持续创建和销毁新套接字几分钟后,未使用的端口数量用尽,后续"请求"在此阶段出错,产生的请求数/秒数较少且数量较多错误.

我们也看过nginx,但我们一直在使用RighScale,他们已经有了HAProxy的插件脚本.哦,当然,除非证明是绝对必要的,否则我们的截止日期太紧了[当然].幸运的是,在AWS上允许我们并行测试使用nginx的另一个设置(如果有保证),并在稍后进行切换.

此页面相当好地描述了每个sysctl变量(在这种情况下调整了ip_local_port_range和tcp_fin_timeout).

scaling load-balancing amazon-ec2 haproxy

46
推荐指数
2
解决办法
1万
查看次数

Scala中方法,函数和部分应用函数的函数组合

有点类似Stack Overflow问题Compose和andThen方法,我一直在通过Twitter的Scala学校教程,很快就遇到了一个评论者所遇到的同样的问题(这很棒,因为我上床认为我的问题已经解决了).

在本教程中,它定义了两种方法:

def addUmm(x: String) = x + " umm"
def addAhem(x: String) = x + " ahem"
Run Code Online (Sandbox Code Playgroud)

同时Scala中的较新版本,你不能要求他们撰写这样:addUmm(_).compose(addAhem(_)),公认的答案(以及一些其他的答案似乎基于这样的事实,以铰链addUmmaddAhem一些方法,而不是功能,当试图创建一个问题打电话给我.我上床睡觉满意,成功跑了:

scala> ((s: String) => s + " umm").compose((s: String) => s + " ahem")
res0: String => java.lang.String = <function1>
Run Code Online (Sandbox Code Playgroud)

凉.问题在于,虽然无法编写方法是有道理的,但当我知道评估的价值相同的时候Function1:

val a = (s: String) => s + " umm"
val b = (s: String) => s + " ahem"
val c = a(_).compose(b(_))
Run Code Online (Sandbox Code Playgroud)

好吧,最后一行咳出与原始问题相同的错误,即使这次是部分应用函数,而不是方法.原始问题中的一个答案(高排名,但不是接受的答案)似乎暗示它与部分应用程序如何扩展有关,解释是什么?

对于Scala新手来说,a(_).compose(b(_)) …

scala function-composition

17
推荐指数
1
解决办法
2709
查看次数

如何在PowerShell中捕获信号?

这可能吗?我终于决定开始建立我个人的.NET开发环境,以更接近地模仿我如何建立一个*NIX开发环境,这意味着要认真学习Powershell.

我正在编写一个函数,通过文件系统进行递归,设置工作目录,以便构建东西.困扰我的一件小事是,如果我将Ctrl + C排除在函数之外,它会让我离开脚本最后的位置.我已经尝试设置一个trap块,在运行时将dir更改为起始点,但这似乎只是在Exception上打算(和触发).

如果这是一种在Unix中具有root权限的语言,我会设置一个信号处理程序SIGINT,但我在Powershell中找不到任何类似的搜索.戴上我的.NET上限,我想象有一些事件,我可以附加一个处理程序,如果我不得不猜测,这是一个事件$host,但我找不到任何规范文档System.Management.Automation.Internal.Host.InternalHostUserInterface,并且没有任何关于我能够搜索的轶事是有帮助的.

也许我错过了一些完全明显的东西?

powershell

10
推荐指数
2
解决办法
5552
查看次数

为什么.NET的EnableDecompression默认值在2.0和3.0之间变化?

我们使用.NET Web服务 - 非WCF和WCF,尽管绝大多数是非WCF,由于遗留原因 - 相当严重,而且当我在Fiddler中测试时,我注意到响应体大小很漂亮大.然后我注意到请求标头没有任何Accept-Encoding标头.

在进行一些挖掘之后,似乎在.NET BCL版本2.03.0之间,属性的默认值HttpWebClientProtocol.EnableDecompression(来自所有 - 所有wsdl.exe存根的WS存根的派生类)发生了变化.我很好奇原因(可能与WCF有关),以及当你简单地链接到不同的库时,是否有任何其他[漂亮]基本变化非常安静.

.net c# web-services base-class-library

8
推荐指数
1
解决办法
1559
查看次数

VB.NET不允许在注释掉的行上继续行吗?

我只是在重构一些遗留(因此是VB.NET)单元测试时抛出了编译错误,我只想将其中一个示例输入注释到MBUnit:

<RowTest> _
'<Row("Something")> _
<Row("SomethingElse")> _
Run Code Online (Sandbox Code Playgroud)

这给了:

Attribute specifier is not a complete statement. Use a line continuation to apply the 
attribute to the following statement.
Run Code Online (Sandbox Code Playgroud)

它实际上是将空白/注释掉的行视为实际行吗?一般来说,当我抱怨VB.NET时,我先写道:"现在,我不想成为那个写语法的人,但是......"这似乎就是我不知道的那种情况之一回答,如果我是对的.但在这种情况下,我确实知道想知道答案.

vb.net syntax

6
推荐指数
1
解决办法
4340
查看次数

C#编译器是否无法按预期的返回类型推断方法类型参数?

这对我来说似乎很奇怪,但我记得一个帖子,Eric Lippert评论了基于返回类型的C#重载方法无法(通过设计,或者至少是惯例,我认为),所以也许它有一些与之相关的复杂方式.

有什么理由不起作用:

public static T Test<T>() where T : new()
{
    return new T();
}

// Elsewhere
SomeObject myObj = Test();
Run Code Online (Sandbox Code Playgroud)

但这样做:

 var myObj = Test<SomeObject>();
Run Code Online (Sandbox Code Playgroud)

从某个角度看,它们都很好,因为你不是在重复自己(以非常小的方式),但这只是编译器的不同传递?

c# type-inference

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

从 IE 启动程序

是否可以从 IE 中的锚点启动程序?例如,iTunes 有类似 itms:blahblah 的链接,可以打开 iTunes 并直接转到相应的页面。如果是这样,最好的方法是什么?

internet-explorer external launch

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

什么是protobuf-net中List <T>的.proto等价物?

为了保持一致性,我们为许多对象模型使用代码生成,其中一个分支就是通过单独的生成模块为ProtocolBuffers生成.proto文件.但是,在这一点上,我很难理解如何在List<T>对象发生时实现生成.

看起来这可以通过合同:

[ProtoMember(1)]
public List<SomeType> MyList {get; set;} 
Run Code Online (Sandbox Code Playgroud)

但除此之外,我不确定如何或仅仅通过创建.proto文件/使用VS自定义工具来实现这一点.有什么想法吗?

c# protocol-buffers protobuf-net

3
推荐指数
1
解决办法
773
查看次数

使用RSA公钥解密数据

首先,这不是一个错字,我想解密使用公共密钥.这样做的目的是向第三方提出质疑,以确保他们确实拥有与公钥对应的私钥.基本上,我会发送一些随机数据,他们会使用私钥对其进行加密,我会使用公钥对其进行解密,并将解密后的值与我发送的随机数据进行比较.我相信这是一个非常标准的公钥加密程序,但出于某种原因,用公钥解密似乎是禁忌.

我只是使用RSACryptoServiceProvider.NET 2.0.但是,当我调用Decrypt它时会抛出一条CryptographicException消息Bad Key.关键还不错(我可以Encrypt毫无问题),但似乎它不会让我只用公钥解密.是什么赋予了?这必须是可行的.

encryption cryptography .net-2.0 public-key

2
推荐指数
1
解决办法
1724
查看次数