作者kojilin (呵呵呵噗噗噗..搞笑..)
看板Ruby
标题Re: Ruby on Rails 的速度议题
时间Sat Oct 21 10:24:44 2006
※ 引述《b6s (http://b6s.blogspot.com)》之铭言:
: 唔,没有数据确实是很麻烦的事。
: 纯粹就常理推论的话,只要套 Amdahl's law 就可以了。
: 我印象中也只有 Beyond Java 一书及其相关讨论稍微提到,
: 因为 ActiveRecord 实作出来的 OR mapping 比 hibernate/spring 之类的机制快,
: 另外又省掉了很多读写 xml 档的 I/O,
: 於是 RoR 现阶段比某些 J2EE solution 快。
: 另一方面,动态页面生成的那一段,恐怕是使用者最有感觉的部分;
: 而这部分,嗯,J2EE solution 一直都只能算是可接受的速度而已。
: 各家 servlet engine 可能要负点责任。
我来平反一下J2EE的东西..hehe..
首先AR跟Hibernate比
为何AR被提到过比较快(这边我也没测过效能所以用别人提到的)
我想有可能的部分在於AR提供我们了平常会遇到的状况,
而Hibernate这类却是一开始就针对"完整"的状况
当然我对两者的目标都喜欢,毕竟平常的web app开发,
通常不会遇到那种很特别的问题
只是看看文章,颇多都有点旧了,AR跟Hibernate也都有更新了
而且也没有详细的数据比较
就算有也颇难测的,毕竟立场点就不同.只要同样等级的机器上比较就公平否?
都写在console下测试?之类
另外hibernate+spring,是为了DI跟抽象化和改良,
如果要比应该是要看纯AR跟Hibernate
还有xml 档的 I/O,这个大部分是一开始启动就做完的东西
所以根本没这种状况,尤其在production mode下通常也不会希望是一直监控
xml档案一有改变就重新deploy.
所以就算有效能瓶颈,这部分不太会是重点.
让小弟提供个数据:)
动态产生页面的部分,像我自己管的
透过google analytics,平日一天七万page,人数大概快万.
而同台机器上除了跑forum之外还有另外两个service
当然另外两个流量不大所以只统计了forum部分
这样forum的平均处理时间也只有40~100ms
(这边我没问开发者对cache做到何种程度,但是我想至少有tune过的效能也是不差的)
这台server还是跑J2SE1.4.2(如果有关心Java的,可以看看5.0跟6和1.4.2的效能差异),
主机是两年前的光华牌吧
AMD 2500+ 跟 1G ram..所以说效能会差吗?我并不觉得
至少他不是 "只能算是可接受的速度而已"
当然如果你说的是有关EJB相关的,我想那就跟Rails的目标很远了
也应该不是比较对象了:)
koji
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.167.165.115
1F:推 qrtt1:唔,这里的EJB是指3.0之前吗? 好奇地问 10/21 10:54
2F:→ kojilin:不管是不是3.0罗,3.0之後是有变好写,但是效能上 10/21 11:01
3F:→ kojilin:毕竟是在EE Application Server上跑,提供的服务一多 10/21 11:03
4F:→ kojilin:效能上就一定会拖累到~ 10/21 11:03
5F:推 qrtt1:嗯, 同感。刚刚突然想起了jdo google了一下,已经看到被稍为 10/21 11:23
6F:→ qrtt1:dead-end 了.... 真可怜啊>"< 10/21 11:24
7F:推 PsMonkey:啥? JDO 掰掰了?这这这... 好棒阿...(还好当初没买书) 10/21 11:33
8F:→ qrtt1:只是有人觉得@@ 是不是8181 天晓得 10/21 13:10
9F:→ kojilin:没掰吧..bea的kodo也在..只是没有另外两家有声势罢了~ 10/21 16:31