由于地理位置等原因,美国服务器在国内的访问速度都比较快,Ping值在100ms左右,相对来说速度还不错。如果有些那PING值超过100ms的,可以不用考虑。再者就是稳定性,单速度快可不行,服务器还要稳定性,不能经常或抽风或宕机。所以,尽量选择那些较高在线保证的服务商。
二、美国站群服务器的安全性
做站群自然网站数量非常多,站长在安全维护上不可能面面俱到,而忽视站点也是最容易成为被黑客攻击的对象,像前段时间的WannaCry攻击就闹得沸沸扬扬。所以,站群服务器最好有比较高的防御系统,用来抵御常见的攻击或入侵。常见的就是服务器抵抗DDOS和CC攻击能力,美国站群服务器像这个都是增值服务的。
三、美国站群服务器的的性价高
无论购买什么产品,用户都会很看重产品的价格。一分价钱一分货,高档服务器的价格比低档服务器的价格高是无可非议的事情。但不一定非得购买那些价格昂贵的服务器,尽管高端服务器功能很多,但是这些功能对普通应用来说使用率不高,这样会白白浪费了资金。
四、美国站群服务器的独立IP多
既然是做站群,咱们一方面是想把它做好,一方面也要避免被搜索引擎发现。这种情况下,多独立IP一定是需要的。所以,大家在选择时,一定要选择提供几百个独立IP的美国站群服务器,这样 *** 作起来也比较方便,不容易被发现。那些,仅仅提供几十个独立IP,而且增加独立IP动不动就要付费的站群服务器,觉得是没必要考虑的。
一、前端优化
网站性能优化是一个很综合的话题,涉及到服务器的配置和网站前后端程序等各个方面,我只是从实际经历出发,分享一下自己所尝试过的网站性能优化方法。之所以在标题上挂一个web20,是因为本文更偏重于中小网站的性能优化,我所使用的系统也是典型web20的LAMP架构。
首先讲讲前端的优化,用户访问网页的等待时间,有80%是发生在浏览器前端,特别是页面和页面中各种元素(、CSS、Javascript、flash)的下载之上。因此在很多情况下,相对于把大量的时间花在艰苦而繁杂的程序改进上,前端的优化往往能起到事半功倍的作用。雅虎最近将内部使用的性能测试工具yslow向第三方公开,并发布了著名的网站性能优化的十三条规则,建议你下载并安装yslow,并作为测评网站优化效果的工具。下面我挑其中特别有价值的具体说明一下优化的方法:
对于第一次访问您网站,尚未在浏览器cache中缓存您网站内容的用户,我们可以做的事情包括:
1)减少一个页面访问所产生的)会有利于提高浏览器并行下载网页内容的能力。
对于您网站的经常性访问用户,主要的优化思路就是最大限度利用用户浏览器的cache来减少服务器的开销。
1)在header中添加过期时间(ExpiresHeader)
在header中给静态内容添加一个较长的过期时间,这样可以使用户今后访问只读取缓存中的文件,而不会与服务器产生任何的交互。不过这样做也存在一些问题,当、CSS和js文件更新时,用户如果不刷新浏览器,就无法获得此更新。这样,我们在对、css和js文件修改时,必须要进行重命名,才能保证用户访问到最新的内容。这可能会给开发造成不小的麻烦,因为这些文件可能被站点中的许多文件所引用。flickr提出的解决办法是通过urlrewrite使不同版本号的URL事实上指向同一个文件,这是一个聪明的办法,因为url级别的 *** 作效率是很高的,可以给开发过程提供不少便利。
要理解为什么这样做,必须要了解浏览器访问url时的工作机制:
a第一次访问url时,用户从服务器段获取页面内容,并把相关的文件(images,css,js)放在高速缓存中,也会把文件头中的expiredtime,lastmodified,ETags等相关信息也一同保留下来。
b用户重复访问url时,浏览器首先看高速缓存中是否有本站同名的文件,如果有,则检查文件的过期时间;如果尚未过期,则直接从缓存中读取文件,不再访问服务器。
c如果缓存中文件的过期时间不存在或已超出,则浏览器会访问服务器获取文件的头信息,检查lastmodifed和ETags等信息,如果发现本地缓存中的文件在上次访问后没被修改,则使用本地缓存中的文件;如果修改过,则从服务器上获取最新版本。
我的经验,如果可能,尽量遵循此原则给静态文件添加过期时间,这样可以大幅度减少用户对服务器资源的重复访问。
2)将css和js文件放在独立外部文件中引用
将css和js文件放在独立文件中,这样它们会被单独缓存起来,在访问其他页面时可以从浏览器的高速缓存中直接读取。一些网站的首页可能是例外的,这些首页的自身浏览可能并不大,但却是用户访问网站的第一印象以及导向到其他页面的起点,也可能这些页面本身使用了大量的ajax局部刷新及技术,这时可以将css和js文件直接写在页面中。
3)去掉重复的脚本
在IE中,包含重复的js脚本会导致浏览器的缓存不被使用,仔细检查一下你的程序,去掉重复引用的脚本应该不是一件很难的事情。
4)避免重定向的发生
除了在header中人为的重定向之外,网页重定向常在不经意间发生,被重定向的内容将不会使用浏览器的缓存。比如用户在访问,服务器会通过301转向到/,在后面加了一个“/”。如果服务器的配置不好,这也会给服务器带来额外的负担。通过配置apache的alias或使用mod_rewrite模块等方法,可以避免不必要的重定向。
还有一些,比如使用CDN分发机制、避免CSS表达式等、避免使用ETags等,因为不太常用,这里就不再赘述了。
做完了上述的优化,可以试着用yslow测试一下网页的性能评分,一般都可以达到70分以上了。
当然,除了浏览器前端和静态内容的优化之外,还有针对程序脚本、服务器、数据库、负载的优化,这些更深层次的优化方法对技术有更高的要求。本文的后半部分将重点探讨后端的优化。
二、后端优化
上次写完web20网站前端优化篇之后,一直想写写后端优化的方法,今天终于有时间将思路整理了出来。
前端优化可以避免我们造成无谓的服务器和带宽资源浪费,但随着网站访问量的增加,仅靠前端优化已经不能解决所有问题了,后端软件处理并行请求的能力、程序运行的效率、硬件性能以及系统的可扩展性,将成为影响网站性能和稳定的关键瓶颈所在。优化系统和程序的性能可以从以下的方面来入手:
1)apache、mysql等软件的配置的优化
尽管apache和mysql等软件在安装后使用的默认设置足以使你的网站运行起来,但是通过调整mysql和apache的一些系统参数,还是可以追求更高的效率和稳定性。这个领域中有很多专业的文章和论坛(比如:),要想掌握也需要进行深入的研究和实践,这里就不重点讨论了。
2)应用程序环境加速
这里仅以我最常应用的php开发环境为例,有一些工具软件可以通过优化PHP运行环境来达到提速的目的,其基本原理大致是将PHP代码预编译并缓存起来,而不需要改变任何代码,所以比较简单,可以将php的运行效率提升50%以上。比较常用的php加速工具有:APC(package-infophppackage=APC)、TurckMMCache()、phpaccelebrator(),还有收费的ZendPerformanceSuite
3)将静态内容和动态内容分开处理
apache是一个功能完善但比较庞大的webserver,它的资源占用基本上和同时运行的进程数呈正比,对服务器内存的消耗比较大,处理并行任务的效率也一般。在一些情况下,我们可以用比较轻量级的webserver来host静态的、样式表和javascript文件,这样可以大大提升静态文件的处理速度,还可以减少对内存占用。我使用的webserver是来自俄罗斯的nginx,其他选择方案还包括lig>
4)基于反向代理的前端访问负载均衡
当一台前端服务器不足以应付用户访问时,通过前端机实现web访问的负载均衡是最快速可行的方案。通过apache的mod_proxy可以实现基于反向代理的负载均衡,这里推荐使用nginx做代理服务器,处理速度较apache更快一些。
5)应用缓存技术提高数据库效能,文件缓存和分布式缓存
数据库访问处理并发访问的能力是很多网站应用的关键瓶颈,在想到使用主从结构和多farm的方式构建服务器集群之前,首先应该确保充分使用了数据库查询的缓存。一些数据库类型(如mysql的innoDB)自身内置对缓存的支持,此外,还可以利用程序方法将常用的查询通过文件或内存缓存起来。比如通过php中的ob_start和文件读写函数可以很方便的实现文件形式的缓存,而如果你拥有多台服务器,可以通过memcache技术通过分布式共享内存来对数据库查询进行缓存,不仅效率高而且扩展性好,memcache技术在livejournal和Craigslistorg等知名网站应用中都得到了检验。
6)服务器运行状态的检测,找到影响性能的瓶颈所在
系统优化没有一劳永逸的方法,需要通过检测服务器的运行状态来及时发现影响性能的瓶颈,以及可能存在的潜在问题,因为网站的性能,永远取决于木桶中的短板。可以编写一些脚本来检测web服务的运行,也有一些开源的软件也提供了很好的功能
7)良好的扩展架构是稳定和性能的基础
一些技巧和窍门可以帮你度过眼前的难关,但要想使网站具备应付大规模访问的能力,则需要从系统架构上进行彻底的规划,好在很多前人无私的把他们架构
网站的经验分享给我们,使我们可以少走甚多弯路。我最近读到的两篇有启发的文章:
-从LiveJournal后台发展看大规模网站性能优化方法
-Myspace的六次重构
最后不得不提到程序编码和数据库结构对性能的影响,一系列糟糕的循环语句,一个不合理的查询语句、一张设计不佳的数据表或索引表,都足以会使应用程序运行的速度成倍的降低。培养全局思考的能力,养成良好的编程习惯,并对数据库运行机制有所了解,是提高编程质量的基础。
方法一、分析网站的内容。看看网站的内容质量如何,原创度是否高、价值性高不高、文章的更新是否频率快等等,这些是首要关注的地方。方法二、看看网站结构。看是否设计得当,把那些价值最大的部位放在最明显的位置,比如好的网站都是采用的“F”型结构,从上到下,从左到右,依次放重要的内容,只有这样基本的结构,才有基本的用户体验。
方法三、网站标题的选择。看看标题关键词的设置是否负责基本的优化,比如首页的关键词是否定位过大,过多,梯度设置是否合理等等。
方法四、网站外链。看看网站的建设情况,是否正在持续建设,看看有多少高质量链接和相关链接数量,特别是看看有多少首页反链指向我们的网站。
你这个流量单站2000每天,那么加上另外2个站,合计就是 每天6000pv的访问量了啊,这个量还是不低的。
1、配置上面建议 2核4G内存5M带宽吧,毕竟流量在这里了,而且不知道你这个是什么程序,对系统资源消耗情况如何,还有不知道你个人优化服务器的能力如何,这些都是要综合考虑的。
2、建议你不要选择 win系统做服务器,安全性、稳定性都不如linux系统的。
有人说我不懂linux的命令行,不会 *** 作怎么办?现在有各种的第三方php面板啊,都是可视化的,一行代码就能安装,然后就是和 win系统类似的 *** 作,点击几次鼠标就可以建站和正常维护的。具体 *** 作过程到博客浏览,搜索文章,老魏之前写过不少这方面的内容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)