amfast和pyamf,net connection以及remote object性能测试

amfast和pyamf是python的两个支持AMF编码解码的工具,可以很好的和后端Django,GAE整合,与前端flash进行通信。
pyamf名气更大,最近一个月官网不能访问了,很汗。。。
而amfast则是在pyamf基础上对速度进入了进一步的优化,编码解码那块更是通过C++编成pyd代替python脚本来提高了效果。官网上说编解码效率是pyamf的2-12倍。

而Net connection和remote object是flash发起amf调用的两种方法,其中remote object更高层一点,在net connection基础上封装了一些功能。

那么具体效果如何呢?下面是我的测试结果。


(硬件环境
Core 2 1.60G 双核
2G内存)

后台服务为echo service
def echo(text):
  return text;

测试方法:在flash里调用amf请求

amfast
net session 4200 request/second
remote object 1100 request/second

pyamf
net session 1000 request/second
remote object 650 request/second

其中性能瓶颈主要是CPU负载太高而导致。

可见amfast效率明显好于pyamf
同时net connection效率要好于remote object

另外在测试中发现两个问题,这里作下记录,希望能起到帮助。
在IE中发起多个amf请求时,会出现http status 200,connection Failed的连接错误,换成chrome就可以了, (firefox没试过,应该也可以)

amfast通过mingw32安装的话,管方文档写的是
python setup.py build -c ming32
python setup.py install
第二步会报错,应该改成
python setup.py build -c ming32 install

你可能感兴趣的:(.net,python,django,Flash,GAE)