google-code-export / hyk-proxy

Automatically exported from code.google.com/p/hyk-proxy
2 stars 0 forks source link

关于hyk代理的执行效率 #32

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
最近从Gappproxy换到hyk代理,总感觉同样是GAE上的代理,Gappprox
y比hyk快很多,是不是python语言的执行效率高于java语言?对于
提高代理速度hyk还有需要特别设置的吗?
谢谢Q

Original issue reported on code.google.com by mailt...@gmail.com on 24 Jun 2010 at 5:50

GoogleCodeExporter commented 9 years ago
Gappproxy的确稍快一些,cpu和内存的占用比hyk-proxy小很多。可��
�是Gappproxy的代码量比较小的缘故。

Original comment by JoS...@gmail.com on 24 Jun 2010 at 6:05

GoogleCodeExporter commented 9 years ago
普及一些关于软件/Java/Python/GAE/hyk-proxy相关的你所知道的和不
知道的:
1. 
程序代码量和运行速度无关,只和加载程序速度有关(不过��
�前内存动辄G级别,这个已经无关紧要了)
   代码量大小一般只体现功能多少,而运行速度却只和hotspot代码有关(其实和一般人印象相反,代码更大的反而可能更快,GCC编译加优化参数生成的可执行文件一般比不加优化参数大的多)
2. 语言性能 Java > Python
   因为Java是编译型而且运行时有JIT优化,Python是纯解释,当然也有Pypy这种和JVM原理类似的python实现,具体可以Google一下Pypy,默认情况下Python还是纯解释
3. 内存占用 Java > Python
   因为Java在运行时会有动态优化行为,也叫JIT(即时编译),所以运行时需要占用额外内存在做这些工作;Python没有这些步骤
   另外的原因请看下一点
4. 程序启动时间 Java > Python
   因为Java是自己管理内存堆,启动时会申请一大块内存初始化,这些都比较耗时间;Python则没有这些步骤,行为,所以Python程序启动一般更快
5. GAE python Runtime/Java runtime
   由于Python是Google第一个支持的语言,一般新特性,新的优化都会首先在Python runtime上体现;另外一个性能区别在于GAE上的程序都是不断重启的,如果一个请求导致GAE app进程重启,那么python在这种情况下较Java更快(参见4)
6. hyk-proxy的性能
   hyk-proxy不仅仅是简单的proxy,更多的是一个web proxy framework,需要定义实现足够的功能,很多关于安全/性能/控制的因素需要考虑,默认的GAE部分的实现则是考虑所有因素的结果,并不是唯独性能因素。以下是关于性能部分用户可以调整的:
   hyk-proxy默认开启上行/下行压缩, 可以选择关闭(如果你不在意流量大小的话);
   hyk-proxy HTTP模式下默认开启加密, 可以选择关闭(如果你不在意关键字检测的话);
   hyk-proxy server侧支持统计,默认关闭(开启情况下对性能有一定影响)

Original comment by yinqiwen@gmail.com on 24 Jun 2010 at 8:08

GoogleCodeExporter commented 9 years ago

Original comment by yinqiwen@gmail.com on 5 Jul 2010 at 2:11