首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux相关>其他unix>正文

freebsd里的kqueue 和linux 2.6下的epoll

http://www.oklinux.cn  2007-04-22  oklinux收集整理 LinuxLevel  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn
  1、freebsd里的kqueue和linux 2.6下的epoll

  两个东西极其相似,写好了一个之后,移到别外一个平台下,只要稍作修改就可以了,原理是一样,个人认为,从功能角度来盾kqueue比epoll灵活得多。在写kqueue的时候,内核帮你考虑好了不少东西。但是从效率来看,从我作的压力测试来看epoll比kqueue强。看看我的实验结果吧

  客户端: linux ,P3,256M ,pthread多线程程序,开1万个线程,可是实际运行结果是,在linux2.4上只能打开4000多个线程的时候就报资源不足,郁闷了好久,不知道是什么资源,最大打开文件数是够了,内存也够(通过设置16k的栈空间)。后来把客户端移到linux2.6内核下,很快开出1万个线程来了。

  epoll服务器端:P3,256M,在一万个并发线程下,面不改色,有条不紊地处理着数据,并发数能达到8000个连接。

  kqueue服务器端:结果比较失望,在只能一条队列的情况下,并发数只能到2000,然后在客户端的读取数据时就会出现"connect reset by peer"的错误。后来改用了两条队列,一条用来接收新连接,一条用来处理原有的连接。在这种情况下,并发数也只能到3000,然后又会陆陆续续出现连接的错误。

  2、关于pthread库的内容,加深了一下了解,学会了几个新的调用。

  3、关于freebsd和linux上的一些系统调置方面的东西。

  最大打开文件数,在linux,直接用ulimit -a可以看到,并用ulimit进行修改,运行时有效。在freebsd下,用sysctl -a|grep kern.maxfilesperproc 来查询,也可能直接修改。

  还有一个就是freebsd的默认最大使用内存的限制,默认情况下是512M,可以能过grep MAXDSIZ /usr/include -r来查找它在头文件里面的定义。修改这个值的方法是在/boot/loader.conf加上一句kern.maxdsiz="xxxx" ,然后重启机器生效。

上一篇:sco unix5.0.5 程序移植与软件服务随想   下一篇:从windows XP引导FreeBSD 6.1

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·sco unix5.0.5 程序移植与软件服务随想
·从windows XP引导FreeBSD 6.1
·FreeBSD环境下KDM的
·安装SUSE的问题
·FreeBSD6.2中KDM的疑惑
·AIX的三板斧及其升级
·FreeBSD 6.2下安装刻录软件K3b
·FreeBSD中创建设备节点
·FreeBSD需要建立定制的内核
·AIX中自动启动和关闭软件的运行
·Unix的内核和shell与Unix文件系统的层次结构
·FreeBSD icecast 网络电台软件安装
·FreeBSD才是最棒的
·FreeBSD中使用QUOTA(磁盘配额)来限制用户空间
·AIX系统的日常监控维护
·FreeBSD文件编辑vi指令大全
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Unix Shell程序编写的方法详解
·高手进阶:UNIX系统环境下高级编程一例
·freebsd目录架构
·Unix/Linux中Cron的用法
·Unix主流操作系统
·Unix环境高级编程一例
·redbook 上的LVM
·Linux的NAPI和Solaris的GLDv3
·HP 下db2定时备份脚本
·SUID和SGID的详细解
·Solaris系统性能监控之一:处理器监控
·NT和UNIX下FTP非交互方式文件传输
  阅读排行
·HP-UX Glance的用法
·Sun Cluster 3.0 的规划、安装、配置及
·菜鸟从硬盘安装Redhat Linux 9.0中文版
·FREEBSD分区总结
·dos2unix, unix2dos 对应的命令
·各种 UNIX 下载地址
·solaris下,添加静态路由的方法
·介绍几个Unix版本
·Solaris 修改root 可以Telnet 与ftp
·UNIX系统管理-第二章 创建和管理用户
·OpenSolaris, Solaris Express, Solari
·Unix Shell程序编写的方法详解
·手把手教你Solaris 10安装(概述篇)
·更改CDE GUI的分辨率和刷新率
·SUID和SGID的详细解
网摘收藏: