Apache2.2 with OpenSSL的性能调研

Posted on Wed 16 September 2009 in 我用(IT) • Tagged with https, PKI, 性能测试

终于找到耗尽CPU的原因了:openssl genrsa -des3 -out server.key 4096。长达4096bit的RSA密钥,八核的xeon顶多支持每秒60个请求。

降低到1024bit:openssl genrsa -out server.key 1024。单客户端测试,性能提升依然有限,但能明显看到CPU负载的降低。

猜想是客户端能达到的并发性能也比较有限,于是采用多客户端nx100来进行。今天试出2x100并发,此时消耗服务器CPU30%的结果,得到40+60的吞吐量,基本松了一口气。

在安全和性能间取舍,明天测测128bit密钥的性能。


Continue reading

PKI Tutorials

Posted on Fri 11 September 2009 in it • Tagged with PKI

这篇公钥基础设施PKI简介作为入门材料还不错,而想搞清X.509和PKI标准的关系,可以看这个

看了Wikipedia上对Public key infrastructure的介绍,觉得Peter Gutmann写的PKI tutorial看着比较清爽,有时间有兴趣的可以下了这个pdf文档看一下。他文章的标题叫“Everything you Never Wanted to Know about PKI but were Forced to Find Out ”,可以继续进阶。

首先必须要明白PKI的定义和组成

定义上看,PKI是一个由公开密钥密码技术、数字证书、证书发放机构(CA)和关于公开密钥的安全策略等组成的安全解决方案(infrastructure说明这个解决方案非常需要硬件的支持)。
技术组成上看,主要包括四个部分 ...


Continue reading

无视Https证书是否正确的Java Http Client

Posted on Thu 10 September 2009 in 我用(IT) • Tagged with https, PKI, 性能测试, 通讯协议

需要保证通讯的端到端安全,大家一致认为Https方式最适合,但需要评估性能代价。

采取ajp connector貌似无法直接使用httpd2进行load balance了,而且proxy模式的性能实在是让人心寒;jk connector如果tomcat不配ssl,据说需要forward一下,还没有搞定。

为了测试性能,写了个可以无视Https证书是否正确都能连接的Java Http Client。以为很简单的一段代码,绕是迈过了两个小门槛,才搞定的。code可以拿出来晒一晒了。

运行环境jdk1.6,不需要其它类库。

package test;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.ssl ...

Continue reading