今天被问到一个问题,如果你在阿里云上部署了一个IIS服务器,此时如果有成千上万的客户端来访问,你将如何设计?我东扯扯西谈谈,说加个线程池来处理,在加个请求队列.当时觉得说的没有问题,现在想想,服务器自己就有这些东西,我想面试官要的是如何在IIS中设置高并发,而不是说实现....因此总结了一下,收集了一些不错的资源.不过首先,我们需要分享下服务器的一般设计实现原理: 一个线程池,一个请求队列这是用来处理并发请求的,而基本的TCP套接字设计我就不说了.因此,线程池就是用来处理并发请求的,目前的主流服…
服务器能支持10万并发由于一个项目的访问量越来越大,从原来的几百个,增加到现在50多万个每天,所以阿里的服务器也扛不住了,于是就想办法,查了N多资料,总结了以下方法,才解决这问题,每天一共访问量50多万,并不是同时访问,所以,提高并发数才是关键. 由于网站一再打不开,按照排除原因来看,数据库连接.进程池满了.iis并发数太高,我能想到的就只有这三种情况,于是就一个一个排除,当项目网站打不开时,同服务器其他网站都正常,内存不到30%,CUP不到20%,怎么可能打不开呢,于是我先重启数据库,发现仍然…
IM服务器要实现的最基本功能就是消息的转发.--好像是一句废话! 这就意味着IM服务器要为每个登录用户创建一个与该用户信息相关的内存上下文,为方便描述我们在这里称之为:user_context.user_context中一般包含这些基本信息:用户id.昵称.peer端的ip和端口,以及最重要的用于通信的socket. 用户连接上线时,需要malloc一个user_context块,用于存储上述信息,用户断开连接时,需要free这个user_context块. IM服务器要随时维护这张user_c…
服务端调整系统的参数,在/etc/sysctl.conf中: ◦net.core.somaxconn = 2048◦net.core.rmem_default = 262144◦net.core.wmem_default = 262144◦net.core.rmem_max = 16777216◦net.core.wmem_max = 16777216◦net.ipv4.tcp_rmem = 4096 4096 16777216◦net.ipv4.tcp_wmem = 4096 4096 167…
原文:    http://www.myhack58.com/Article/sort099/sort0100/2012/35585.htm 原文:   http://www.myhack58.com/Article/sort099/sort0100/2014/41701.htm…
基本配置 配置固定IP地址 打开默认的网卡配置文件 cd /etc/sysconfig/network-script/ cp ifcfg-eth0 ifcfg-eth1 vim ifcfg-eth0 将BOOTPROTO设置为NONE,并增加固定IP的设置 重启network服务   配置DNS解析   安装lamp 编译安装Apache [root@localhost ~]# tar xf apr-1.5.0.tar.bz2 [root@localhost ~]# cd apr-1.5.0 .…
http://v.qq.com/boke/page/z/w/s/z0110e15rws.html http://weibo.com/codebox…
方法/步骤   首先,确认服务器硬件是否足够支持当前的流量 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题. 其次,优化数据库访问前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站, 静态化往往不能满足某些功能. 缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用 这些文件,而不必再访问数据库,WordPress和Z-Blo…
最近有个项目比较棘手,nodejs的tcp服务,目前的服务器支持3W左右的客户端连接,但是客户希望能够支持30W左右,原先的模型是让客户端请求一个地址分发服务器,然后再tcp链接到不同的地址上实现高并发,但是目前客户端那边已经定型,只请求一次服务器,所以目前还不知道怎么解决.下面有一段模拟的代码: Server端: Client端: 目前Client测试端的1200在我本机都不能实现全部正常链接,只有大概800~1100左右的链接可以正常工作. 园子里有大神知道这怎么实现高并发吗?客户端只请求一…
前言 其实所谓的高并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有高并发?为啥高并发就很牛逼? 说的浅显一点,很简单,就是因为刚开始系统都是连接数据库的,但是要知道数据库支撑到每秒并发两三千的时候,基本就快完了.所以才有说,很多公司,刚开始干的时候,技术比较 low,结果业务发展太快,有的时候系统扛不住压力就挂了. 当然会挂了,凭什么不挂?你数据库如果瞬间承载每秒 5000/8000,甚至上万的并发,一定会宕机,因为比如 mysql 就压根儿扛不住这么高的并发量. 所以为啥高并…