服务器自己组装一个没多少钱,5000-1W都能用。托管费一年百兆共享的带宽一般是7000元左右一年。(各地区价格不一)2M-10M独享是现在比较流行的,费用在5000-1W之间,也是看地区而定。
这个费用主要取决于你的网站访问量。因为你的是为主的网站。所以对带宽要求比较高!
不过初期我觉得还是一切从简,服务器+托管费控制在1W-1W5比较实际!
通常老板花钱请我们架构网站的时候,会给我们提出一些目标,诸如网站每天要能承受100万PV的访问量等等。这时我们要预算一下大概需要多大的带宽,计算带宽大小主要涉及两个指标(峰值流量和页面大小),我们不妨在计算前先做出必要的假设:
第一:假设峰值流量是平均流量的5倍。
第二:假设每次访问平均的页面大小是100K字节左右。
如果100万PV的访问量在一天内平均分布的话,折合到每秒大约12次访问,如果按平均每次访问页面的大小是100K字节左右计算的话,这12次访问总计大约就是1200K字节,字节的单位是Byte,而带宽的单位是bit,它们之间的关系是1Byte=8bit,所以1200KByte大致就相当于9600Kbit,也就是9Mbps的样子,实际情况中,我们的网站必须能在峰值流量时保持正常访问,所以按照假设的峰值流量算,真实带宽的需求应该在45Mbps左右。
当然,这个结论是建立在前面提到的两点假设的基础上,如果你的实际情况和这两点假设有出入,那么结果也会有差别。先看我们都需要哪些服务器:服务器,页面服务器,数据库服务器,应用服务器,日志服务器等等。
对于访问量大点的网站而言,分离单独的服务器和页面服务器相当必要,我们可以用ligabcgif/>,然后设置DNS轮循,达到最初级的负载均衡。当然,服务器多了就不可避免的涉及一个同步的问题,这个可以使用rsync软件来搞定。
数据库服务器是重中之重,因为网站的瓶颈问题十有八九是出在数据库身上。现在一般的中小网站多使用MySQL数据库,不过它的集群功能似乎还没有达到stable的阶段,所以这里不做评价。一般而言,使用MySQL数据库的时候,我们应该搞一个主从(一主多从)结构,主数据库服务器使用innodb表结构,从数据服务器使用myisam表结构,充分发挥它们各自的优势,而且这样的主从结构分离了读写 *** 作,降低了读 *** 作的压力,甚至我们还可以设定一个专门的从服务器做备份服务器,方便备份。不然如果你只有一台主服务器,在大数据量的情况下,mysqlmp基本就没戏了,直接拷贝数据文件的话,还得先停止数据库服务再拷贝,否则备份文件会出错。但对于很多网站而言,即使数据库服务仅停止了一秒也是不可接受的。如果你有了一台从数据库服务器,在备份数据的时候,可以先停止服务(slavestop)再备份,再启动服务(slavestart)后从服务器会自动从主服务器同步数据,一切都没有影响。但是主从结构也是有致命缺点的,那就是主从结构只是降低了读 *** 作的压力,却不能降低写 *** 作的压力。
为了适应更大的规模,可能只剩下最后这招了:横向/纵向分割数据库。所谓横向分割数据库,就是把不同的表保存到不同的数据库服务器上,比如说用户表保存在A数据库服务器上,文章表保存在B数据库服务器上,当然这样的分割是有代价的,最基本的就是你没法进行LEFTJOIN之类的 *** 作了。所谓纵向分割数据库,一般是指按照用户标识(user_id)等来划分数据存储的服务器,比如说:我们有5台数据库服务器,那么“user_id%5+1”等于1的就保存到1号服务器,等于2的就保存到2号服务器,以此类推,纵向分隔的原则有很多种,可以视情况选择。不过和横向分割数据库一样,纵向分割数据库也是有代价的,最基本的就是我们在进行如COUNT,SUM等汇总 *** 作的时候会麻烦很多。综上所述,数据库服务器的解决方案一般视情况往往是一个混合的方案,以其发挥各种方案的优势,有时候还需要借助memcached之类的第三方软件,以便适应更大访问量的要求。
如果有专门的应用服务器来跑PHP脚本是最合适不过的了,那样我们的页面服务器只保存静态页面就可以了,可以给应用服务器设置一些诸如appdomain之类的域名来和页面服务器加以区别。对于应用服务器,我还是更倾向于使用prefork模式的apache,配上必要的xcache之类的PHP缓存软件,加载模块要越少越好,除了mod_rewrite等必要的模块,不必要的东西统统舍弃,尽量减少>
如果条件允许,独立的日志服务器也是必要的,一般小网站的做法都是把页面服务器和日志服务器合二为一了,在凌晨访问量不大的时候cron运行前一天的日志计算,不过如果你使用awstats之类的日志分析软件,对于百万级访问量而言,即使按天归档,也会消耗很多时间和服务器资源去计算,所以分离单独的日志服务器还是有好处的,这样不会影响正式服务器的工作状态。
跟着网站开端扩展,您或许需求考虑升级到更强大的功用,这是运用独立服务器的地方。它们或许更贵,但一般能够获得更好的功用和更多的资源。下面数据湾给大家介绍一下企业该怎么选用独立服务器。>
1假若你计划租借服务器作Web前端,而目前Web服务器市场产品众多,最为主流和代表性的便是Apache、Nginx以及微软的IIS。Apache具有丰厚的模块组件支撑,安稳性强,BUG少,动态内容处理强。而Nginx轻量级,占用资源少,负载均衡,高并发处理强,静态内容处理高效。
但一般情况下,咱们以为大多数Web前端服务器对服务器的要求不大,比如静态Web服务器、动态Web服务器、服务器等等,因为现在已经有很多方案能够解决前端服务器的功用扩展和牢靠性问题,例如LVS、Nginx反向署理、硬件负载均衡等。
2假若你计划租借服务器作运用服务器,运用程序服务器的人物与Web服务器的人物不同。它不是简单地传递静态内容,而是生成动态内容并将其传递给用户的Web浏览器。运用程序服务器(如ApacheTomcat)为网站的交互式部分供给支撑,并根据恳求的上下文显现不同的部分。例如,当客户拜访显现产品的实时可用性和定价信息的在线商铺时,运用程序服务器会查找每个产品的实时库存和价格。因为承当了计算和功用完成,咱们需求为根据Web架构的运用程序服务器挑选足够快的服务器,别的运用程序服务器或许需求用到很多的内存,尤其是根据Windows基础架构的Ruby,Python,Java服务器。这一类服务器至少需求运用单路至强的配置。关于牢靠性的问题,如果你的架构中只有一台运用服务器,那肯定需求这台服务器足够牢靠,RAID绝对是不能忽视的选项。但如果有两台或更多的运用服务器,并设计了负载均衡机制,具有冗余功用,那咱们则不必将每台服务器过火配置。
内存溢出跟你手机多大内存没有关系的,app占用一部分真机内存,上传又占用app一部分内存,所以真正分到你上传任务的内存是很小的,当过大的时候就会导致内存溢出。建议使用Volley框架,很好的解决了内存溢出的问题。也是谷歌官方推荐的。之前了解了一下国内某团购网站的架构,其中提到了服务器硬件和pv以及qps的一些关系。百万级别的访问量,应该指的是PV吧。
并发数计算PV的粗算计算公式是
qps(或并发数)x86400(秒)÷2(分昼夜)
所以PV100万粗算来并发数只有23。
按照经验,剥离和js,css等静态页面,纯动态内容。一台4核4G内存的机器可以抗住100左右的并发数。
百万pv小网站的并发只有231000000÷86400x2=23
4核4G,能抗住100左右的并发,日五百万级别的pv了。
服务器资源的消耗主要是后端程序这一块,例如tomcat或php等其他需要链接数据库的程序,还有些需要编译的内容。所以这个公式只能是粗算,因为提供的服务大家各不相同。
概念:
QPS=req/sec=请求数/秒
qps是new的请求,叫每秒新建链接数,很多连接进来的链接,已经tcp三次握手的完成内容交互之后的,没有超过tcp的断开时间,虽然是活动状态,但是已经基本不消耗服务器资源了,这种是最大活动链接数,每台机器65535个链接数,这个链接数基本不考虑。
PV=PageView
pv是指页面被浏览的次数,比如你打开一网页,那么这个网站的pv就算加了一次。数据不是很大,如果使用时间不是很长,可以选择云服务器,如果使用时间长,需要配置高些可以租用服务器,一般双核,80G到160G,15M带宽就差不多了,你怕速度慢可以选择30M带宽。基本一个月大概在400,傲龙网络的服务器不错。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)