免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: robig
打印 上一主题 下一主题

sun和ibm为什么差这么多? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2003-08-26 19:13 |只看该作者

sun和ibm为什么差这么多?

是不是系统没有调优??还有你所说的慢是指哪方面慢??还要看稳定性如何呢!!WIN2000会有内存泄露的危险

论坛徽章:
0
22 [报告]
发表于 2003-08-26 20:10 |只看该作者

sun和ibm为什么差这么多?

WIN2000都敢用啊

论坛徽章:
0
23 [报告]
发表于 2003-08-26 20:47 |只看该作者

sun和ibm为什么差这么多?

谢谢大家的支持和帮助。我再去试试。可能是调试的问题。

论坛徽章:
0
24 [报告]
发表于 2003-08-26 22:32 |只看该作者

sun和ibm为什么差这么多?

打住吧,用了以后,相信用过的人自己心里有数。
还是提醒一句,sparc 的l2  cache 是外部的,而intel p3开始,l2 cache是在cpu内部的。相信intel不会自寻烦恼,花了整个cpu一半数目的晶体管在l2 cache 上,导致p3,p4的成品率大大下降,把部分合格的变为celeron卖。某种程度上说,外置l2 cache 的cpu,还不如同频celeron的水平,好歹人家还有128k全速的l2 cache呢。

论坛徽章:
0
25 [报告]
发表于 2003-08-27 09:54 |只看该作者

sun和ibm为什么差这么多?

看你系统的规模、配置、设计、程序编写的技能等!
SUN,IBM,HP的Unix和oracle卖这么贵,总是有道理的。oracle9i安装比sqlserver2000,udb2之类多占5倍空间,难道都是垃圾。
单纯的简单插入或是更新100万条记录、select * from tablea之类的活儿,mysql最快,informix也很快,mssql,sybase,db2,oracle都慢多了,oracle最慢,不过速度差距都很小。但是遇到大数据量和复杂的sql,oracle就发挥出威力了。
下面是我写的1个查询语句,在银行系统中很常见,查对公贷款户表外业务和存款的变化。存款表的纪录有上亿条记录,表外业务的纪录有几千万条记录。其他的表最小的也有上万条记录,查询一次消耗800~1000兆的内存。一开始行里为了省钱,买了IBM PC Server(2*1.5G P3Xeon(大名鼎鼎的图拉丁P3,比P4 2G快多了),6*74G SCSI160,4G RAM),用qlverser2000做试验,动不动就死,偶尔不死,速度奇慢无比。
不得已换到unix,为了省钱,买了sun的v880(2*900 ultraSparc3 cpu,4GRAM,6*73 HD),oracle9ir1,5秒钟出结果。两边的sql都是我写的,这个sql比较简单,数据库我用过oracle,db2400,udb2,informix,sqlserver,mysql,开发和管理经验有4年了,说熟悉至少还是算得上的。
我的系统环境:solaris8(patch set 22)+oracle9i(patch9.0.1.4)+websphere4(patch4.0.6)+工具类用jdk1.4.2编译+jdbc14.jar(oracle),数据库数据120G,每月增加8G。
另外:jdk1.4的速度比1.3要快很多很多。特别是jdk1.4在solaris下有 -d64参数。在SUN BLADE100工作站做开发(1*UltraSparc2e 500MHzCPU,1.75GRAM,2*80G HD(IDE普通PC硬盘,自己加的)),在jdk1.4.2下运行java程序(加减乘除之类,带-d64参数)速度比我的PC机(P42.6G,2G ECC RAM,2*120G HD做raid0)jdk1.4.2下运行java程序快5倍以上,比PC机运行lcc编译的c程序稍快。
SQL在下贴:

论坛徽章:
0
26 [报告]
发表于 2003-08-27 09:55 |只看该作者

sun和ibm为什么差这么多?

sSql = " select applicantid,ApplicantName,industryName,balance1,Badbalance1,Outerbalance1,deposit1,Recognizance1,"
+"                balance2,Badbalance2,Outerbalance2,deposit2,Recognizance2,change,OrgName"
+" from"
+" ("
+"        select t1.applicantid as applicantid,getCustomerName(t1.applicantid) as ApplicantName,"
+"                getItemName('IndustryType',getIndustryType(t1.applicantid)) as industryName,"
+"                balance1,Badbalance1,Outerbalance1,deposit1,Recognizance1,"
+"                balance2,Badbalance2,Outerbalance2,deposit2,Recognizance2,"
+"                (OuterBalance2-OuterBalance1) as change,"
+"                getOrgName(getOrgIDByCustomerID(t1.ApplicantID)) as OrgName"
+"        from"
+"        ("
+"                select applicantid,balance1,Badbalance1,OuterBalance1,deposit1,Recognizance1"
+"                from"
+"                ("
+"                        select applicantid,sum(balance*isEquals(LType,'INNER')) as balance1,"
+"                                sum(BadBalance*isEquals(LType,'INNER')) as Badbalance1,"
+"                                sum(balance*isEquals(LType,'OUTER')) as Outerbalance1"
+"                        from"
+"                        ("
+"                                select applicantid,bh.balance as balance,"
+"                                        bh.overdueBalance+bh.dullBalance+bh.badBalance as BadBalance,"
+"                                        Decode(substr(loanassetType,1,2),'1','INNER','01','INNER','03','OUTER','OUTER') as LType"
+"                                from business_putout bp,business_history bh"
+"                                where bp.applicantid is not null "
+                                        sCondition
+"                                        and (substr(bp.loanAssetType,1,2)<>;'04' or bp.loanAssetType is null) "
+"                                        and bp.loanaccount=bh.loanaccount"
+"                                        and bh.inputdate='"+fromDate+"'"
+"                        )group by applicantid"
+"                ) tl1," //期初的贷款
+"                ("
+"                        select customerid,sum(a5ye) as deposit1,sum(a5ye*IsEquals(kmh,'251')) as Recognizance1"
+"                        from"
+"                        ("
+"                                select customerid,-1*a5ye as a5ye, substr(a5gskm,1,3) as kmh"
+"                                from deposit_account da,deposit_fullhistory df"
+"                                where da.sh=df.a5sh and da.account=df.a5zh and df.inputdate='"+fromDate+"'"
+"                        )"
+"                        group by customerid"
+"                ) td1" //期初的存款
+"                where Outerbalance1<>;0 and tl1.applicantid=td1.customerid(+)"
+"        ) t1,"
+"        ("
+"                select applicantid,balance2,Badbalance2,Outerbalance2,deposit2,Recognizance2"
+"                from"
+"                ("
+"                        select applicantid,sum(balance*isEquals(LType,'INNER')) as balance2,"
+"                                sum(BadBalance*isEquals(LType,'INNER')) as Badbalance2,"
+"                                sum(balance*isEquals(LType,'OUTER')) as Outerbalance2"
+"                        from("
+"                                select applicantid,bh.balance as balance,"
+"                                        bh.overdueBalance+bh.dullBalance+bh.badBalance as BadBalance,"
+"                                        Decode(substr(loanassetType,1,2),'1','INNER','01','INNER','03','OUTER','OUTER') as LType"
+"                                from business_putout bp,business_history bh"
+"                                where bp.applicantid is not null "
+                                        sCondition
+"                                        and (substr(bp.loanAssetType,1,2)<>;'04' or bp.loanAssetType is null) "
+"                                        and bp.loanaccount=bh.loanaccount"
+"                                        and bh.inputdate='"+toDate+"'"
+"                        )group by applicantid"
+"                ) tl2," //期末的贷款
+"                ("
+"                        select customerid,sum(a5ye) as deposit2,sum(a5ye*IsEquals(kmh,'251')) as Recognizance2"
+"                        from"
+"                        ("
+"                                select customerid,-1*a5ye as a5ye, substr(a5gskm,1,3) as kmh"
+"                                from deposit_account da,deposit_fullhistory df"
+"                                where da.sh=df.a5sh and da.account=df.a5zh and df.inputdate='"+toDate+"'"
+"                        )"
+"                        group by customerid"
+"                ) td2" //期末的存款
+"                where Outerbalance2<>;0 and tl2.applicantid=td2.customerid(+)"
+"        ) t2"
+"        where t1.applicantid=t2.applicantid"
+" ) "
+" where abs(change)>;="+sChange+" order by change desc";

论坛徽章:
0
27 [报告]
发表于 2003-08-27 10:23 |只看该作者

sun和ibm为什么差这么多?

对blade 100的性能表示怀疑。
我的blade 100, 256M内存,比p4-M 1.8g +256M内存,同时跑java 慢多了。

论坛徽章:
0
28 [报告]
发表于 2003-08-27 11:00 |只看该作者

sun和ibm为什么差这么多?

原帖由 "codefan" 发表:
对blade 100的性能表示怀疑。
我的blade 100, 256M内存,比p4-M 1.8g +256M内存,同时跑java 慢多了。
   
这个是我从一台E450上拿来cpu信息
  SUNW,UltraSPARC-II (cpu, 3f0000035d)
  :StateBegin         Mon May 19 11:31:57 2003
  :FPUType         sparcv9
  rocessorType         sparcv9
  :State         online
  :ID         0
  :UnitAddress         0,0
  :device_type         cpu
  :reg         00  00  01  c0  00  00  00  00  00  00  00  00  00  00  00  08
  :clock-frequency         0x17d78400
  :upa-portid         0
  :icache-size         0x4000
  :icache-line-size         0x20
  :icache-associativity         0x2
  :#itlb-entries         0x40
  :dcache-size         0x4000
  :dcache-line-size         0x20
  :dcache-associativity         0x1
  :#dtlb-entries         0x40
  :ecache-size         0x400000
  :ecache-line-size         0x40
  :ecache-associativity         0x1
  :sparc-version         0x9
  :mask#         0xa0
  :implementation#         0x11
  :manufacturer#         0x17
  :devfs-path         /SUNW,UltraSPARC-II
  :binding-name         SUNW,UltraSPARC-II
  :instance         -1
  :_class         cpu
  :name         SUNW,UltraSPARC-II
不知道你从哪里得出的结论二级缓存不在cpu里?
另外再说blade100系列用的cpu是IIi还是IIe来的,忘了,高缓很少,那确实是垃圾产品。

论坛徽章:
0
29 [报告]
发表于 2003-08-27 12:51 |只看该作者

sun和ibm为什么差这么多?

“对blade 100的性能表示怀疑。”
自己写个程序试试,比如来个100亿次double型的乘法之类,记得要用jdk1.4。eg: $java -d64 YourPgm
有点奇怪的是:solaris下java(jdk1.4.2)计算double型的乘法的速度比int型的加法还快!
技术的发展居然颠覆了我以前的知识。

论坛徽章:
0
30 [报告]
发表于 2003-08-27 13:34 |只看该作者

sun和ibm为什么差这么多?

[quote]原帖由 "cwmould"]linux+Intel这对组合在服务器市场上很有可能是WINTEL组合在家用市场的重演,INTEL在CPU设计上不输于IBM或SUN这样的公司,LINUX在性能上与昂贵的专用UNIX系统并没有很大的差距,而且本来它们就是一个家族的,虽然目前..........[/quote 发表:
   

unix 当初也只有一家,
Linux 太象unix 了,它无法取代unix
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP