这个纯经验之谈,在做网站的时候我们应该根据什么选择服务器呢?首先我们要先知道几个概念,基础的一些东西! 1.1byte = 8bit 1字节==8位 我们算下带宽我有一个100M独享的服务器,我们要按照我们日常熟悉的方法除以8也就是说12.5Mbyte/s,如果我们除去损耗,譬如ip头,大概也就10M/s的换算成k就是10240K/s的速度,如果每个人请求的网站的时候需要5k/s的速度的话,那你的也就是2000个用户,一分钟内也就是12W的用户,当然用贷款计算还是不准确的,一般的话估算一分钟内一个中型的网站3M贷款的话,可以承受的是2000用户以下的请求,这里还不是下载站点播站哈! 2.iis并发数,一般高并发会造成服务器的不稳定,有时候可能造成当机的危险(这个真实遇到过),一般的服务器不存在并发的限制,微软官方的限制是20亿,哪有这么多用户呀!当然这个例外的是Xp系统,Xp的并发是10个,多了就出现403.9错误了!要知道服务器的硬件代表什么,譬如我有一颗E8400 3.0GHZ代表 3*10的9次方/s的计算次数!你要知道一般32位的支持的最大内存到达4G,这就是为啥你8G内存,32位系统识别不出来的效果!这里边主要还有服务器的I/O,硬盘对CPU的耗损,软件的耗损,内存耗损等等,这些都是要考虑的!说了这么多有用吗?有下边介绍为什么? 首先IIS并发数,我们要知道一个用户请求服务器就一个并发(IE等于2个),下载+1,框架(Iframe)+1,音频+1,别人盗链,如果有人打开就1个并发,或者多个,这些就是并发的耗损! 内存,用户的请求会耗费内存,程序,压栈入栈等都是内存的消耗,程序对内存的消耗,我们会看到只要你开机内存就有消耗的,大内存是需要的!然后这样自然而然选择的就是64位的系统了! CPU选择,你譬如说sql语句的查询对cpu的选择消耗是灰常大的,所以设计好数据库是必须的,我测试了一下,CPU E5300 2.6GHZ我有一个40W的数据库,主键索引,其他的就是初学者水平建的表,select * 消耗cpu到达40%,多可怕! 综上所述,如果从硬件方面硬件采用MS-9188主板,带两颗Intel(R) Xeon(R) E5410 CPU,每个CPU含4个核, 8G内存, 320G SATA 硬盘, 板载8个Intel 82571EB 千兆网卡这个配置可以做到单台百万级并发!64位linux,针对数据库优化,可以使用memcache redis等key-value缓存,也可以用mongodb代替mysql等数据库,php做不到多核多线程编程这点很那啥,淘宝就是从php转成java的 数据库从mysql转成orcale,消除I/O阻塞,事件驱动异步!东西嘛只有你遇到了才会发现,这只是告诉你应该可以关注哪些? 可以知道的知识: CDN 网络负载均衡 软件负载均衡 LVS I/O阻塞 多核多线程编程 数据库优化 nosql技术 硬件常识等等,路还很远一点一点的来!
发表评论 取消回复