免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 12098 | 回复: 27
打印 上一主题 下一主题

[NetBSD] FreeBSD, NetBSD, Linux简单性能测试 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-02-01 03:24 |只看该作者 |倒序浏览
使用的操作系统分别是
FreeBSD 4.10
NetBSD 2.0
Slackware 10.0

环境:
vmware-4.5.2,每个虚拟机均分配4G硬盘和48M内存。

三次测试结果(s):
FreeBSD    10. 583041    10.460132    10.526190
NetBSD      4.584173       4.739391     4.557778
Slackware  2.104959       2.103009      2.131719

结论:
Linux >; NetBSD >; FreeBSD

测试方法(220.181.30.11是网易的主机):
$./nonblock 220.181.30.11 80 1000000

测试程序:

  1. // nonblock.cpp
  2. #include <sys/types.h>;
  3. #include <sys/socket.h>;
  4. #include <unistd.h>;
  5. #include <stdio.h>;
  6. #include <arpa/inet.h>;
  7. #include <netinet/in.h>;
  8. #include <stdlib.h>;
  9. #include <string.h>;
  10. #include <fcntl.h>;
  11. #include <sys/time.h>;

  12. void tv_sub(timeval *out, timeval *in)
  13. {
  14.         if (out->;tv_usec < in->;tv_usec) {
  15.                 out->;tv_usec += 1000000;
  16.                 out->;tv_usec -= in->;tv_usec;
  17.                 out->;tv_sec--;
  18.         } else {
  19.                 out->;tv_usec -= in->;tv_usec;
  20.         }
  21.         out->;tv_sec -= in->;tv_sec;
  22. }

  23. int main(int argc, char *argv[])
  24. {
  25.         if (argc != 4) {
  26.                 printf("Usage: %s <ip>; <port>; <count>;\n", argv[0]);
  27.                 return -1;
  28.         }
  29.         const char *host = argv[1];
  30.         unsigned short port = atoi(argv[2]);       
  31.         int count = atoi(argv[3]);

  32.         sockaddr_in addr;
  33.         memset(&addr, 0, sizeof(addr));
  34.         addr.sin_family = AF_INET;
  35.         addr.sin_addr.s_addr = inet_addr(host);
  36.         addr.sin_port = htons(port);

  37.         int fd = socket(AF_INET, SOCK_STREAM, 0);
  38.         if (fd == -1) {
  39.                 printf("Failed to create socket!\n");
  40.                 return -1;
  41.         }
  42.        
  43.         int flag = fcntl(fd, F_GETFL, 0);
  44.         fcntl(fd, F_SETFL, flag | O_NONBLOCK);
  45.        
  46.        
  47.         connect(fd, (sockaddr*)&addr, sizeof(addr));
  48.        
  49.         fd_set rset, wset;
  50.         FD_ZERO(&rset);
  51.         FD_SET(fd, &rset);
  52.         wset = rset;

  53.         select(fd + 1, &rset, &wset, NULL, NULL);
  54.         if (FD_ISSET(fd, &rset) || FD_ISSET(fd, &wset)) {
  55.                 printf("%s is connected!\n", host);
  56.                 timeval begin, end;
  57.                 gettimeofday(&begin, NULL);
  58.                 char buf[1024];
  59.                 for (int i = 0; i < count; i++) {
  60.                         read(fd, buf, sizeof(buf));       
  61.                 }
  62.                 gettimeofday(&end, NULL);
  63.                 tv_sub(&end, &begin);
  64.                 printf("time escaped: %d.%06d\n", end.tv_sec, end.tv_usec);
  65.         }

  66.         close(fd);
  67.         return 0;
  68. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2005-02-01 03:46 |只看该作者

FreeBSD, NetBSD, Linux简单性能测试

性能测试在 vmware 里进行,呵呵

论坛徽章:
0
3 [报告]
发表于 2005-02-01 03:53 |只看该作者

FreeBSD, NetBSD, Linux简单性能测试

[quote]原帖由 "dennis2"]性能测试在 vmware 里进行,呵呵[/quote 发表:

没办法,条件不够。不过也能说明一些问题了。

论坛徽章:
0
4 [报告]
发表于 2005-02-01 08:53 |只看该作者

FreeBSD, NetBSD, Linux简单性能测试

能说明什么呀!我就觉得FB好呀,因为网络中运行时间最长的最稳定最安全的还是FB,我相信FB是最好的。就用你的虚拟机来测试算什么呀!只有事实才能说明一切的,实事上就是运行时间最长最稳定最安全的服务器还是FB最棒!

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
5 [报告]
发表于 2005-02-01 09:05 |只看该作者

FreeBSD, NetBSD, Linux简单性能测试

这三个系统比较的话,肯定是FB好了

论坛徽章:
0
6 [报告]
发表于 2005-02-01 09:45 |只看该作者

FreeBSD, NetBSD, Linux简单性能测试

为什么 FreeBSD 就是最好呢?可以看看这个网站的测试结果(大概是一年多前的测试了):

http://bulk.fefe.de/scalability/

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2005-02-01 13:34 |只看该作者

FreeBSD, NetBSD, Linux简单性能测试

都差不多看各自的应用,
非说什么什么是最好的毫无道理

论坛徽章:
0
8 [报告]
发表于 2005-02-01 14:13 |只看该作者

FreeBSD, NetBSD, Linux简单性能测试

实验方法有非常严重的缺陷,在有问题的实验方法下得到的所谓结论没有参考价值。

(1) VMWare而不是真实的硬件。你无法排除VM本身的影响、Cache的影响,以及操作系统对VMWare支持问题。头脑正常的管理员不会考虑用VMWare Workstation去跑操作系统。
(2) 采用一个远程站点去做测试,不可能提供可靠的结果。大带宽延迟积条件下不同带宽用户连接服务的时候性能如何?
(3) 同时跑64个这样的测试的时候性能如何?高负载时性能如何?
(4) FreeBSD 5.3上面性能如何?
(5) 使用的gcc版本是否一样?编译优化幅度是否一样?如何排除其影响?
(6) Linux所作的内核是为性能优化的,FreeBSD和NetBSD是首先考虑可靠性,你是否重新编译过内核?如何做的?是否调整过配置去优化具体应用的性能,无论Linux还是*BSD?
(7) 计时方法是否准确?如何排除方法所造成的误差?

论坛徽章:
0
9 [报告]
发表于 2005-02-01 14:44 |只看该作者

FreeBSD, NetBSD, Linux简单性能测试

还是delphj厉害,一针见血
我相信FreeBSD的性能,尽管我只是用它作为桌面,写写程序。

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2005-02-01 15:46 |只看该作者

FreeBSD, NetBSD, Linux简单性能测试

原帖由 "rockins" 发表:
还是delphj厉害,一针见血
我相信FreeBSD的性能,尽管我只是用它作为桌面,写写程序。


FreeBSD的性能并不好,只是稳定,别盲目崇拜。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP