【服务器框架】(AsyncSelect模型、Windows平台)
此次拖的时间稍长一些,因为遇到几个难题。一个就是前面提到的死锁,其他几个问题还未解决。遇到的几个问题和现象,大致总结如下:
1。 PC机的最大TCP连接数问题。
Windows平台,XP sp3(x86)系统,100Mb的网卡,测试结果显示,连接数最大只能达到32000多一些。由此推测,AysncSelect模型的最大的TCP连接数可能是32768。
对于Select模型、EventSelect模型,最大TCP连接数或为16384,因为我的程序最多的一次是跑到16165个连接。
也可能是PC的原因,也可能是XP系统的原因,或者是网卡?但是,AysncSelect模型的最大连接数约为 Select模型、EventSelect模型的两倍,从这一点来说,应该和网络模型有关了。
2。 PC机的最大线程数
这个以前说过,大约是1900多一些,再往后就是失败了。
3。 电脑的嘟嘟声
原本是想做一个简单的压力测试,结果,在数万个连接之后,客户端或服务器退出,连接依次关闭,机器处于极度繁忙状态。此时,台式机偶尔发出嘟嘟声,而笔记本电脑则长时间发出嘟嘟声。
这时候,最忙的应该是网卡吧。估计是网卡发出的。其中,这次的嘟嘟声和上次的笔记本故障声音类似!——可以拿这个来测试笔记本的性能了。
4。 可怕的Dos攻击
DOS或DDOS攻击究竟会产生什么效果,以前一直无缘得见。这次算是开眼了,台式机的CPU利用率直接飙升到50%以上,而笔记本的CPU利用率则直接100%。
这个和程序的设计有一定关系。
(1)服务器接受客户端的连接时,我加了一把全局进程锁和一把线程锁,这可能导致效率低下。
(2)习惯于使用临界区加锁,而临界区过大,这降低了程序的执行效率。
(3)如果每次接受一个客户端连接后,就Sleep几十毫秒,应该可以大大降低CPU利用率,但是,服务器响应客户端连接的速度就会大大降低。
避开这些人为因素,不得不感叹DOS攻击的可怕!一台机器运行DOS程序,就可以造成这么大的攻击性,如果是大量的死士同时攻击,那该多么壮观!——当然了,服务器的配置要高很多的,即使这样,也难以承受几十台肉鸡每秒上万次乃至更多的攻击数。
转载于:https://www.cnblogs.com/lancidie/archive/2011/12/13/2285895.html
【服务器框架】(AsyncSelect模型、Windows平台)相关推荐
- windows平台使用Docker搭建分布式Spark 与 hadoop集群
若不关心具体搭建过程,只想运行分布式集群,请直接前往3.2开始 (本人已上传镜像至服务器) 续前节 windows平台使用Docker搭建分布式hadoop集群 安装分布式Spark篇 1. 运行wi ...
- Windows平台利用完成端口模型创建高性能网络服务器
众所周知,高并发的大型服务器程序一直面临着架构复杂.线程众多难以管理.并发性能提升困难的问题.为此,各种平台都提供系统级的高级设施来协助开发者解决这个难题,例如Linux平台的epoll.对于我们熟悉 ...
- 在Windows平台上安装Dubbox框架
在Windows平台上安装Dubbox框架 一.分布式系统概述 分布式处理方式越来越受到业界的青睐--计算机系统正在经历一场前所未有的从集中式向分布式架构的变革.分布式系统是一个硬件或软件组件分布在不 ...
- 多租户物联网平台服务器框架是根据多年经验以及实际客户需求而研发
多租户物联网平台服务器框架是根据多年经验以及实际客户需求而研发. 主要技术基于高性能.高并发的IOCP Sokect基础上研发而成. 目前使用的C#语言开发,运行于Windows平台,后期会推出跨平台 ...
- 多租户物联网平台服务器框架
多租户物联网平台服务器框架是根据多年经验以及实际客户需求而研发. 主要技术基于高性能.高并发的IOCP Sokect基础上研发而成. 目前使用的C#语言开发,运行于Windows平台,后期会推出跨平台 ...
- 在Windows平台架设DNS服务器
ISC (Internet Systems Consortium) 在二零零七年八月二十七日宣布了 Bind 8 历史使命的终结.ISC 鼓励还在使用 Bind 8 的用户从安全方面考虑要迅速迁移到 ...
- Windows平台使用Gitblit搭建Git服务器图文教程
Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范 ...
- Windows平台下搭建Git服务器
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
- Windows平台下搭建Git服务器的图文教程
Windows平台下搭建Git服务器的图文教程 来源:互联网 作者:佚名 时间:08-27 11:42:10 [大 中 小] Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SS ...
最新文章
- 《Windows PowerShell实战指南(第2版)》——3.4 使用帮助找命令
- R语言使用igraph包进行网络(network)可视化实战:将变量映射到网络节点(vertex)、将变量映射到网络的边(edge)
- appium 中部分 api 的使用方法
- ci框架——辅助函数
- 听说你想去大厂看学妹,带你看看字节跳动后端开发面试长啥样?
- 作业帮产品负责人傅弋铮:在线教育产品还要攻克多少难关?
- python ctypes 回调函数_Python ctypes中具有自定义类型的回调
- Automatic Diagnostic Repository Command-Interpreter
- (算法)Word Break
- mysql数据库sql语法参考_MySQL数据库SQL语法参考
- docker[-compose] 连接内网其他容器地址
- 解决夜神模拟器设置了代理后无法上网
- asp.net 按钮点击调用FileUpload
- python normalize函数_Python Wand normalize()用法及代码示例
- 外地人在成都买房被限购怎么办?看完就知道
- zblog php模板偷,zblogPHP仿站+定制模板 - 模板ID code
- HTML2游戏——绿林怪盗
- Picgo的gitee图床简略设置及gitee图片仓库无法使用解决方案
- 哈希表_四数之和(待完善)
- 南阳师范学院计算机科学与技术在哪个校区,2021年南阳师范学院有几个校区,大一新生在哪个校区...
热门文章
- CentOS7最小化安装配置IP
- CSS3 background-size图片自适应
- wireshark从入门到精通(协议排错安全篇)7
- 提升Android开发效率的最佳实践
- Xbox One 初始化-2 激活(百视通)和配置账户
- 浅谈Redis与MySQL的耦合性以及利用管道完成MySQL到Redis的高效迁移
- Unicorn 4.6.3 发布,Rack的HTTP服务器
- Oracle 11.2.0.1 升级到 11.2.0.3 示例
- Linux系统端口聚合技术bonding
- Python *的下载、安装和使用