Xinfeng Liu

http://developers.sun.com.cn/blog/lxf/date/20080730 星期三 七月 30, 2008

Sun Studio Express 7/2008发布,支持OpenMP 3.0

真够快的。OpenMP 3.0的 API规范2008年5月才发布,现在东西已经做出来了。当然Sun Studio Express不是Sun Studio的正式版本,是下一版本的预览版。GCC上月也加进了支持OpenMP 3.0的代码,但目前还没有发布,估计是在GCC 4.4里加进OpenMP 3.0的支持。

免费下载使用:
http://developers.sun.com/sunstudio/downloads/express/index.jsp

推荐有关Blog:

On the Record: http://blogs.sun.com/ontherecord/entry/sun_studio_express_07_08

Darryl Gove: http://blogs.sun.com/d/entry/sun_studio_express_release

Richard: http://blogs.sun.com/rchrd
also:  http://openmp.org/
also:  http://hpc.sun.com/
Yuan Lin: http://blogs.sun.com/yuanlin
Josh Simons: http://blogs.sun.com/simons/category/HPC
Kuldip Oberoi:  http://koberoi.com/
Vijay: http://blogs.sun.com/tatkar

http://developers.sun.com.cn/blog/lxf/date/20080729 星期二 七月 29, 2008

为什么opensolaris 2008.05关于系统调用的手册页都是空的

man -s 2 open (你看到了什么?) 

这是我在内部问到的答案:

Short answer: 系统调用的手册页是第三方写的,其license不允许包含在opensolaris 2008.05里。

Long answer: 为什么Solaris, Solaris Community Express, Solaris Developer Express包含系统调用的手册页?因为分发这些软件的人需要签协议同意那些License条款。 Opensolaris 2008.05 允许任何人分发/镜像,而无需签署协议。所以不能包含那些文件。

这可苦了软件开发人员了:要么上网访问联机手册页,要么登录到另一台Solaris机器看系统调用的man page。

用Opensource快把人培养成律师了:-) 一个小测验:假设opensolaris不放弃CDDL,Linux kernel不放弃GPL,如果要让Linux kernel 包含ZFS支持(不是User-level的),opensolaris和linux kernel需要怎样修改各自的License?


http://developers.sun.com.cn/blog/lxf/date/20080724 星期四 七月 24, 2008

SUN的开源产品列表

最近,SUN的开源产品大家族里新增了Sun Webserver 7.0和webproxy server。Sun Webserver和webproxy server是真正多线程的Web Server,在Specweb2005基准测试中屡创世界纪录。下面是我整理的SUN的开源列表,有问题或补充请写在comments里。

 软件名称 License 链接备注 
 OpenSolaris CDDL http://www.opensolaris.org 
 Java GPLv2 + classpath exception
 http://openjdk.java.net/ 
 JavaFX
 部分组件开源 GPLv2
 https://openjfx.dev.java.net/
今年秋季将公布开源计划
 Openoffice/staroffice source code: LGPL document: PDL
 http://www.openoffice.org 从openoffice 3.0 beta 起 LGPLv3
 MySQL Many license options including GPL
 http://www.mysql.com/ 
 Netbeans Dual license (CDDL and GPLv2 + classpath exception)
 http://www.netbeans.org/ 从Netbeans 6.1起
 Glassfish Most components are CDDL and GPLv2 + classpath exception, several are Apache License or Mozilla Public License
 https://glassfish.dev.java.net/ 
 OpenESB
 CDDL  https://open-esb.dev.java.net/

 OpenSSO CDDL https://opensso.dev.java.net/  也就是 Sun Access Manager的开源版本。
 OpenPortal CDDL https://portal.dev.java.net/ 也就是 Sun Portal Server的开源版本。
 OpenDS
 CDDL https://www.opends.org/
 全新的基于Java的目录服务器
 OpenMQ
 CDDL  https://mq.dev.java.net/
 也就是Sun Java Message Queue的开源版本。Open MQ 是Glassfish的一部分。
 Sun webserver 7.0 and proxy server
 BSD
 TBD

 OpenSparc
 GPLv2
 http://www.opensparc.net
 Sun CMT 架构处理器 UltraSparc T1, T2
 Lighttpd
  BSD Lighttpd的作者Jan Kneschke是MySQL现在是SUN的员工
 Sun Spot
 GPLv2
 http://www.sunspotworld.com/
 Sun Small Programmable Object Technology
 Grid engine
 SISSL  http://gridengine.sunsource.net/
 Virtual Box
 GPLv2
 http://www.virtualbox.org/
 桌面虚拟化的开源产品
 Lustre
 GPL

http://www.lustre.org
 高性能集群文件系统
 Open HA cluster
 CDDL http://opensolaris.org/os/community/ha-clusters/ohac/
 opensolaris的一部分

 

还有什么没有开源?Sun Identity Manager, Sun Directory Server Enterprise, SunRay Server, Sun Secure Global Desktop, Sun Studio 12(不开源但免费),Sun JCAPS, 不多了。

除非你是Microsoft的追随者,作为软件开发人员想不用上面任何一种产品恐怕很难。 

 

 

http://developers.sun.com.cn/blog/lxf/date/20080722 星期二 七月 22, 2008

LoadRunner测试Web的常见问题

性能测试是一件非常严谨的事情,就像我以前写过的一样,很多用户的性能测试的问题在于测试本身。以下列举几条LoadRunner测试Web的常见问题。

  • 网络带宽问题。

对Web进行压力测试时,通常百兆网络是不够的,当网络带宽不够的时候server端没有足够压力。用LoadRunner所在的Windows的性能管理器看一下网络利用率就知道了。

  • Vuser脚本的检查。

虽然Loadrunner提供了方便的脚本录制功能,但由于录制时可能出现的操作偏差,也应手工检查生成的Vuser脚本。 去除某些与压力测试无关的东西。否则可能会出现Loadrunner测试结果有误或压力上不去的情况(比如vuser访问一些不存在的资源)。

  • Runtime setting。

在创建Loadrunner scenario时,每台机器的vuser的runtime setting都应该分别设置并检查,不能只对第一个vuser的runtime setting进行设置。通常你会关掉think time,以便能用较少的机器达到较大的压力。另外,如果返回页面里包含了一些访问其它资源的链接比如图片服务器,这时应关掉 download non-html resources。

  • 没有检查返回页面。

当server端出错时应用程序有可能返回错误信息,但对HTTP来讲仍是成功的响应,返回码为200 O.K. 这样在Loadrunner就被记为成功的transaction。于是,server端出错越多,Loadrunner测出的性能越好。解决办法:开启并检查应用的错误日志;或者启用Loadrunner的返回内容检查功能。

  • 当心Loadrunner所在机器的磁盘空间。

缺省情况下Loadrunner会把运行结果的详细信息放在C盘的Documment and Settings的用户目录下,当大压力长时间运行或有大量出错时,Loadrunner会生成大量的数据到该目录下。当磁盘空间满了后,机器的响应将变得很慢。

  • 结语。

还是那句话,性能测试是一件非常严谨的事情。本身在实验室里的性能测试就很难模拟真实情况,另外世界上没有两个一模一样的系统,要做到apple-apple的比较很难。 所以做性能测试一定要仔细,测试条件一定要定义清楚。否则,最后的结果是:上了生产系统后被最终客户折磨地吃不下饭睡不着觉。这不是开玩笑,我在别人那里见过了太多的这种情况。

 


http://developers.sun.com.cn/blog/lxf/date/20080709 星期三 七月 09, 2008

如何恢复被意外搞坏的opensolaris 2008.05

最近有些朋友升级了一些和系统有关的包导致系统无法启动,而Opensolaris 2008.05的启动菜单里没有fail-safe选项。解决办法:

  • 用opensolaris 2008.05 Live CD启动
  • su - 密码是opensolaris 
  • 把硬盘上的opensolaris挂上来 zpool import -f rpool 
  • 如果要改grub的配置,到/rpool/boot/grub/menu.lst去改
  • 如果你需要更新boot-archive

mkdir /ttt
mount -F zfs rpool/ROOT/opensolaris /ttt  (需要手工mount根分区)
cp /etc/zfs/zpool.cache /ttt/etc/zfs/zpool.cache
bootadm update-archive -R /ttt
如果还要更新grub,则/ttt/boot/solaris/bin/update_grub -R /ttt
umount /ttt
reboot

  • 如果更新boot-archive还救不了你,幸好我们用的是ZFS,可以用快照恢复。如果自己没有做过快照,opensolaris 2008.05缺省安装后自动做了一份快照。快照并不是单独占用存储空间,所以不用担心容量问题。用这个快照恢复:
    zfs rollback rpool/ROOT/opensolaris@install
    reboot 

注意:

  • opensolaris IPS server上的包的版本会经常更新,升级与系统有关的包比如SUNWtoo要小心一点,否则系统可能无法启动。另外,现在有些软件包的依赖关系有问题,会自动升级一些系统包。
  • 升级包或安装以前没装过的新版本的包,最好做个快照。快照是瞬间生成的,不用担心时间。