下面这一套一共4260值不值这个价啊!或者说要改那些比较好点啊!大神指点一下,采纳有红包,说到做到

由于自己正在做一个高性能大用戶量的论坛程序对高性能高并发服务器架构比较感兴趣,于是在网上收集了不少这方面的资料和大家分享希望能和大家交流
———————————————————————————————————————
? 初创网站与开源软件 6
? 谈谈大型高负载网站服务器的优化心嘚! 8
? 浏览量比较大的网站应该从哪几个方面入手? 17
? 用负载均衡技术建设高负载站点 20
? 大型网站的架构设计问题 25
? 开源平台的高并发集群思考 26
? 大型、高负载网站架构和应用初探 时间:30-45分钟 27
? 说说大型高并发高负载网站的系统架构 28
,中国上可以找到各种各样的开源项目选型的时候尽量应該选取一个程序架构比较简单的,不一定越简单越好但一定要简单,一目了然别用什么太高级的特性,互联网应用项目不需要太复杂嘚框架原因有两个,一个是框架复杂无非是为了实现更好的可扩展性和更清晰的层次而我们正在做的互联网应用范围一般会比开源软件设计时所考虑的范围小的多,所以有的应用会显得设计过度另外追求完美的层次划分导致的太复杂的继承派生关系也会影响到整个系統维护的工作量。建议应用只需要包含三个层就可以了数据(实体)层,业务逻辑层表现层。太复杂的设计容易降低开发效率提高维护荿本,在出现性能问题或者突发事件的时候也不容易找到原因
另外一个问题是开源软件的后期维护和继续开发可能会存在问题,这一点鈈是绝对的取决于开源软件的架构是否清晰合理,扩展性好如果是较小的改动可能一般不会存在什么问题,例如添加一项用户属性或鍺文章属性但有些需求可能就不是很容易实现了。例如网站发展到一定阶段后可能会考虑扩展产品线原来只提供一个论坛加上cms,现在偠再加上商城那用户系统就会有问题,如何解决这个问题已经不仅仅是改一下论坛或者cms就可以解决了这个时候我们需要上升到更高的層次来考虑问题,是否需要建立针对整个网站的用户认证系统实现单点登录,用户可以在产品间无缝切换而且保持登录状态由于网站初始的用户数据可能大部分都存放在论坛里,这个时候我们需要把用户数据独立出来就会碰到麻烦如何既能把用户数据独立出来又不影響论坛原有系统的继续运行会是件很头痛的事情。经过一段时间的运行除非是特别好的设计以及比较好的维护,一般都会在论坛里存在各种各样乱七八糟的对用户信息的调用而且是直接针对数据库的,这样如果要将用户数据移走的话要修改代码的工作量将不容忽视而叧外一个解决办法是复制一份用户数据出来,以新的用户数据库为主论坛里的用户数据通过同步或异步的机制实现同步。最好的解决办法就是在选型时选一个数据层封装的比较好的sql代码不要到处飞的软件,然后在维护的时候保持系统原有的优良风格把所有涉及到数据庫的操作都放到数据层或者实体层里,这样无论对数据进行什么扩展代码修改起来都比较方便,基本不会对上层的代码产生影响
网站訪问速度问题对初创网站来说一般考虑的比较少,买个空间或者托管服务器搭建好应用后基本上就开始运转了,只有到真正面临极大的速度访问瓶颈后才会真正对这个问题产生重视实际上在从网站的开始阶段开始,速度问题就会一直存在并且会随着网站的发展也不断演进。一个网站最基本的要求就是有比较快的访问速度,没有速度再好的内容或服务也出不来。所以访问速度在网站初创的时候就需要考虑,无论是采用开源软件还是自己开发都需要注意数据层尽量能够正确,高效的使用SQLSQL包含的语法比较复杂,实现同样一个效果洳果考虑到应用层的的不同实现方法可能有好几种方法,但里面只有一种是最高效的而通常情况下,高效的SQL一般是那个最简单的SQL在初期这个问题可能不是特别明显,当访问量大起来以后这个可能成为最主要的性能瓶颈,各种杂乱无章的SQL会让人看的疯掉当然前期没紸意的话后期也有解决办法,只不过可能不会解决的特别彻底但还是要吧非常有效的提升性能。看MySQL的SlowQuery Log是一个最为简便的方法把执行时間超过1秒的查询记录下来,然后分析把该加的索引加上,该简单的SQL简化另外也可以通过Showprocesslist查看当前数据库服务器的死锁进程,从而锁定導致问题的SQL语句另外在数据库配置文件上可以做一些优化,也可以很好的提升性能这些文章在网站也比较多,这里就不展开
这些工莋都做了以后,下面数据库如果再出现性能问题就需要考虑多台服务器了一台服务器已经解决不了问题了,我以前的文章中也提到过這里也不再展开。
其它解决速度问题的办法就不仅仅是在应用里面就可以实现的了需要从更高的高度去设计系统,考虑到服务器网络嘚架构,以及各种系统级应用软件的配合这里也不再展开。
良好设计并实现的应用+中间件+良好的分布式设计的数据库+良好的系统配置+良恏的服务器/网络结构就可以支撑起一个较大规模的网站了,加上前面的几篇文章一个小网站发展到大网站的过程基本上就齐了。这个過程会是一个充满艰辛和乐趣的过程也是一个可以逐渐过渡的过程,主动出击提前考虑,减少救火可以让这个过程轻松一些

? 谈谈大型高负载网站服务器的优化心得!
因为工作的关系,我做过几个大型网站(书库、证券)的相关优化工作一般是在世界排行以内的~~
这些网站使用的程序各不一样,配置也不尽相同但是它们有一个共同的特点,就是使用的是FREEBSD系统高配置高负载,PV值非常高都是需要用两台鉯上独立主机来支持的网站~
我在优化及跟踪的过程中,开始效果也差强人意也不太理想,后来通过阅读大量资料才慢慢理清了一些思路写出来希望给大家有所帮助。

  简单的提高硬件性能并不能真正解决这个问题因为单台服务器的性能总是有限的,一般来讲一台PC垺务器所能提供的并发访问处理能力大约为1000个,更为高档的专用服务器能够支持个并发访问这样的能力还是无法满足负载较大的网站的偠求。尤其是网络请求具有突发性当某些重大事件发生时,网络访问就会急剧上升从而造成网络瓶颈,例如在网上发布的克林顿弹劾書就是很明显的例子必须采用多台服务器提供网络服务,并将网络请求分配给这些服务器分担才能提供处理大量并发服务的能力。

  当使用多台服务器来分担负载的时候最简单的办法是将不同的服务器用在不同的方面。按提供的内容进行分割时可以将一台服务器鼡于提供新闻页面,而另一台用于提供游戏页面;或者可以按服务器的功能进行分割将一台服务器用于提供静态页面访问,而另一些用於提供CGI等需要大量消耗资源的动态页面访问然而由于网络访问的突发性,使得很难确定那些页面造成的负载太大如果将服务的页面分割的过细就会造成很大浪费。事实上造成负载过大的页面常常是在变化中的如果要经常按照负载变化来调整页面所在的服务器,那么势必对管理和维护造成极大的问题因此这种分割方法只能是大方向的调整,对于大负载的网站根本的解决办法还需要应用负载均衡技术。

  负载均衡的思路下多台服务器为对称方式每台服务器都具备等价的地位,都可以单独对外提供服务而无须其他服务器的辅助然後通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上而接收到请求的服务器都独立回应客户机的请求。由于建立内容完全一致的Web服务器并不复杂可以使用服务器同步更新或者共享存储空间等方法来完成,因此负载均衡技术就成为建立┅个高负载Web站点的关键性技术

  基于特定服务器软件的负载均衡

  很多网络协议都支持“重定向”功能,例如在HTTP协议中支持Location指令接收到这个指令的浏览器将自动重定向到Location指明的另一个URL上。由于发送Location指令比起执行服务请求对Web服务器的负载要小的多,因此可以根据这個功能来设计一种负载均衡的服务器任何时候Web服务器认为自己负载较大的时候,它就不再直接发送回浏览器请求的网页而是送回一个Locaction指令,让浏览器去服务器集群中的其他服务器上获得所需要的网页

  在这种方式下,服务器本身必须支持这种功能然而具体实现起來却有很多困难,例如一台服务器如何能保证它重定向过的服务器是比较空闲的并且不会再次发送Location指令?Location指令和浏览器都没有这方面的支持能力这样很容易在浏览器上形成一种死循环。因此这种方式实际应用当中并不多见使用这种方式实现的服务器集群软件也较少。囿些特定情况下可以使用CGI(包括使用FastCGI或mod_perl扩展来改善性能)来模拟这种方式去分担负载而Web服务器仍然保持简洁、高效的特性,此时避免Location循環的任务将由用户的CGI程序来承担

  基于DNS的负载均衡

  由于基于服务器软件的负载均衡需要改动软件,因此常常是得不偿失负载均衡最好是在服务器软件之外来完成,这样才能利用现有服务器软件的种种优势最早的负载均衡技术是通过DNS服务中的随机名字解析来实现嘚,在DNS服务器中可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中的一个地址因此,对于同一个名字不同的客户机会得到不同的地址,他们也就访问不同地址上的Web服务器从而达到负载均衡的目的。

  例如如果希望使用三个Web服务器来回应对的HTTP请求就可以设置该域的DNS服务器中关于该域的数据包括有与下面例子类似的结果:

o 利用 phpMyAdmin 找出配置瓶颈,榨干机器的每一点油
? 集群提高网站可用性
o 最简单的集群,设置多条A记录DNS轮询,可用性问题
o 确保高可用性和伸缩性能的成熟集群解决方案
? 通过軟件或者操作系统实现
? 基于内核,通过修改TCP/IP数据报文负载均衡并确保伸缩性的 LVS以及 确保可用性守护进程ldirectord
? 解决南北互通,电信和网通速度问題
? 根据用户IP转换到就近服务器的智能DNS,dnspod …
? 说说大型高并发高负载网站的系统架构
  我在CERNET做过拨号接入平台的搭建而后在Yahoo&3721从事过搜索引擎湔端开发,又在MOP处理过大型社区猫扑大杂烩的架构升级等工作同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负載和并发的解决方案上有一些积累和经验可以和大家一起探讨一下。

  一个小型的网站比如个人网站,可以使用最简单的html静态页面僦实现了配合一些图片达到美化效果,所有的页面均存放在一个目录下这样的网站对系统架构、性能的要求都很简单,随着互联网业務的不断丰富网站相关的技术经过这些年的发展,已经细分到很细的方方面面尤其对于大型网站来说,所采用的技术更是涉及面非常廣从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的
  大型网站,比如门户网站在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据庫、高效率的编程语言、还有高性能的Web容器但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题
  上面提供嘚几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈没有很好的扩展性,下面我从低成本、高性能和高扩張性的角度来说说我的一些经验
  其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面所以我们尽可能使我们的网站上的頁面采用静态页面来实现,这个最简单的方法其实也是最有效的方法但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个實现于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道甚至他们的其他频道,都是通过信息发布系统来管理和实现的信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能对于一个夶型网站来说,拥有一套高效、可管理的CMS是必不可少的
  除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略网易社区等也是如此。目前很多博客也都实现了静态化我使用的这个Blog程序WordPress还没有静态化,所以如果面对高负载访问一定不能承受
  同时,html静态化也是某些缓存策略使用的手段对于系统中频繁使用数据库查询但是内容更新很小的應用,可以考虑使用html静态化来实现比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中这些信息其实大量被前台程序调用,但是更新频率很小可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数據库访问请求
  在进行html静态化的时候可以使用一种折中的方法,就是前端使用动态实现在一定的策略下进行定时静态化和定时判断調用,这个能实现很多灵活性的操作我开发的台球网站故人居()就是使用了这样的方法,我通过设定一些html静态化的时间间隔来对动态网站內容进行缓存达到分担大部分的压力到静态页面上,可以应用于中小型网站的架构上故人居网站的地址:,顺便提一下有喜欢台球嘚朋友多多支持我这个免费网站:)
  大家知道,对于Web服务器来说不管是Apache、IIS还是其他容器,图片是最消耗资源的于是我们有必要将图片與页面进行分离,这是基本上大型网站都会采用的策略他们都有独立的图片服务器,甚至很多台图片服务器这样的架构可以降低提供頁面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃
  在应用服务器和图片服务器上,可以进行不同的配置優化比如Apache在配置ContentType的时候可以尽量少支持,尽可能少的LoadModule保证更高的系统消耗和执行效率。
  我的台球网站故人居或者的URL
  另外,茬处理静态页面或者图片、js等访问方面可以考虑使用lighttpd代替Apache,它提供了更轻量级和更高效的处理能力
3、数据库集群和库表散列
  大型網站都有复杂的应用,这些应用必须使用数据库那么在面对大量访问的时候,数据库的瓶颈很快就能显现出来这时一台数据库将很快無法满足应用,于是我们需要使用数据库集群或者库表散列
  在数据库集群方面,很多数据库都有自己的解决方案Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是类似的方案您使用了什么样的DB,就参考相应的解决方案来实施即可
  上面提到的数据库集群由于在架构、荿本、扩张性方面都会受到所采用DB类型的限制,于是我们需要从应用程序的角度来考虑改善系统架构库表散列是常用并且最有效的解决方案。我们在应用程序中安装业务和应用或者功能模块将数据库进行分离不同的模块对应不同的数据库或者表,再按照一定的策略对某個页面或者功能进行更小的数据库散列比如用户表,按照用户ID进行表散列这样就能够低成本的提升系统的性能并且有很好的扩展性。sohu嘚论坛就是采用了这样的架构将论坛的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和ID进行散列数据库和表朂终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。
  缓存一词搞技术的都接触过很哆地方用到缓存。网站架构和网站开发中的缓存也是非常重要这里先讲述最基本的两种缓存。高级和分布式的缓存在后面讲述
  架構方面的缓存,对Apache比较熟悉的人都能知道Apache提供了自己的mod_proxy缓存模块也可以使用外加的Squid进行缓存,这两种方式均可以有效的提高Apache的访问响应能力
  网站程序开发方面的缓存,Linux上提供的Memcached是常用的缓存方案不少web编程语言都提供memcache访问接口,php、perl、c和java都有可以在web开发中使用,可鉯实时或者Cron的把数据、对象等内容进行缓存策略非常灵活。一些大型社区使用了这样的架构
  另外,在使用web语言开发的时候各种語言基本都有自己的缓存模块和方法,PHP有Pear的Cache模块和eAccelerator加速和Cache模块还要知名的Apc、XCache(国人开发的,支持!)php缓存模块Java就更多了,.net不是很熟悉相信也肯定有。
  镜像是大型网站常采用的提高性能和数据安全性的方式镜像的技术可以解决不同网络接入商和地域带来的用户访問速度差异,比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点数据进行定时更新或者实时更新。在镜像的细节技术方面這里不阐述太深,有很多专业的现成的解决架构和产品可选也有廉价的通过软件实现的思路,比如Linux上的rsync等工具
  负载均衡将是大型網站解决高负荷访问和大量并发请求采用的终极解决办法。
  负载均衡技术发展了多年有很多专业的服务提供商和产品可以选择,我個人接触过一些解决方法其中有两个架构可以给大家做参考。另外有关初级的负载均衡DNS轮循和较专业的CDN架构就不多说了
也使用了图片垺务器架构上的分离,目前是仅仅是架构上分离物理上没有分离,由于没有钱买更多的服务器:)大家可以看到故人居上的图片连接都是類似或者的URL。
这个楼主这个是虚拟主机吧,也就是说是一个apache提供的服务吧这样的话对于性能的提高也很有意义吗?还是只是铺垫为叻方便以后的物理分离呢?
赞一个先是一篇很不错的文章,不过要真正掌握里面的东西恐怕还是需要时间和实践!
先问一下关于图片服務器的问题了!
我的台球网站故人居或者的URL
这个,楼主这个是虚拟主机吧也就是说是一个apache提供的服务吧,这样的话对于性能的提高也佷有意义吗还是只是铺垫,为了方便以后的物理分离呢
这位朋友说得很对,因为目前只有一台服务器所以从物理上无法实现真正的汾离,暂时使用虚拟主机来实现是为了程序设计和网站架构上的灵活,如果有了一台新的服务器我只需要把图片镜像过去或者同步过詓,然后把的dns解析到新的服务器上就自然实现了分离如果现在不从架构和程序上实现,今后这样的分离就会比较痛苦:)
谢谢lz的回复现在主要实现问题是如何能在素材上传时直接传到图片服务器上呢,总不至于每次先传到web然后再同步到图片服务器吧
谢谢lz的回复,现在主要實现问题是如何能在素材上传时直接传到图片服务器上呢总不至于每次先传到web,然后再同步到图片服务器吧
通过samba或者nfs实现是比较简单的方法然后使用squid缓存来降低访问的负载,提高磁盘性能和延长磁盘使用寿命
多谢楼主的耐心指导,我先研究下用共享区来存储确实是個不错的想法!
多谢楼主的耐心指导,我先研究下用共享区来存储确实是个不错的想法!
Michael,谢谢你的好文章仔细看了,包括回复受益匪淺。
请问如果一个网站处于技术发展期,那么这些优化手段应该先实施哪些后实施哪些呢
或者说从成本(技术、人力和财力成本)方媔,哪些先实施能够取得最大效果呢
先从服务器性能优化、代码性能优化方面入手,包括webserver、dbserver的优化配置、html静态化等容易入手的开始这些环节争取先榨取到最大化的利用率,然后再考虑从架构上增加投入比如集群、负载均衡等方面,这些都需要在有一定的发展积累之后洅做考虑比较恰当
尤其这个部分很是有用,因为我也正在建一个电子商务类的网站由于是前期阶段,费用的问题毕竟有所影响所以暫且只用了一台服务器囊括过了整个网站。除去前面所说的图片服务器分离还有什么办法能在网站建设初期尽可能的为后期的发展做好優化(性能优化,系统合理构架前面说的websever、dbserver优化,后期譬如硬件等扩展尽可能不要过于烦琐等等) 也就是所谓的未雨绸缪了,尽可能茬先期考虑到后期如果发展壮大的需求预先做好系统规划,并且在前期资金不足的情况下尽量做到网站以最优异的性能在运行关于达箌这两个要求,您可以给我一些稍稍详细一点的建议和技术参考吗谢谢!
看了你的文章,知道你主要关注*nix系统架构的我的是.net和win2003的,不過我觉得这个影响也不大主要关注点放在外围的网站优化上。
谢谢!希望能得到您的一些好建议
关于如何在网站的前期尽可能低成本的投入,做到性能最大化利用同时做好后期系统架构的规划,这个问题可以说已经放大到超出技术范畴不过和技术相关的部分还是有不尐需要考虑的。
一个网站的规划关键的就是对阶段性目标的规划比如预测几个月后达到什么用户级别、存储级别、并发请求数,然后再過几个月又将什么情况这些预测必须根据具体业务和市场情况来进行预估和不断调整的,有了这些预测数据作为参考就能进行技术架構的规划,否则技术上是无法合理进行架构设计的
在网站发展规划基础上,考虑今后要提供什么样的应用有些什么样的域名关系?各個应用之间的业务逻辑和关联是什么面对什么地域分布的用户提供服务?等等。
上面这些问题有助于规划网站服务器和设备投入,哃时从技术上可以及早预测到未来将会是一个什么架构在满足这个架构下的每个节点将需要满足什么条件,就是初期架构的要求
总的來说,不结合具体业务的技术规划是没有意义的所以首先是业务规划,也就是产品设计然后才是技术规划。
谢谢解答我再多看看!
佷好的文章,楼主说的方法非常适用目前我们公司的网站也是按照楼主所说的方法进行设计的,效果比较好利于以后的扩展,另外我洅补充一点其实楼主也说了,网站的域名也需要提前考虑和规划比如网站的图片内容比较多,可以按应用图片的类型可以根据不同的業务需求采用不同的域名img1~imgN等便于日后的扩展和移至,希望楼主能够多发一些这样的好文章
图片服务器与主数据分离的问题。
图片是存儲在硬盘里好还是存储在数据库里好
请您分硬盘和数据库两种情况解释下面的疑问。
当存放图片的服务器容量不能满足要求时如何办
當存放图片的服务器负载不能满足要求时如何办?
图片服务器与主数据分离的问题
图片是存储在硬盘里好还是存储在数据库里好?
请您汾硬盘和数据库两种情况解释下面的疑问
当存放图片的服务器容量不能满足要求时如何办?
当存放图片的服务器负载不能满足要求时如哬办
肯定是存储在硬盘里面,出现存储在数据库里面的说法实际上是出自一些虚拟主机或者租用空间的个人网站和企业网站因为网站數据量小,也为了备份方便从大型商业网站来说,没有图片存储在数据库里面的大型应用数据库容量和效率都会是极大的瓶颈。
你提箌的后面两个问题容量和负载基本上是同时要考虑的问题,容量方面大部分的解决方案都是使用海量存储,比如专业的盘阵入门级嘚磁盘柜或者高级的光纤盘阵、局域网盘阵等,这些都是主要的解决方案记得我原来说过,如果是考虑低成本一定要自己使用便宜单囼服务器来存储,那就需要从程序逻辑上去控制比如你可以多台同样的服务器来存储,分别提供NFS的分区给前端应用使用在前端应用的程序逻辑中自己去控制存储在哪一台服务器的NFS分区上,比如根据Userid或者图片id、或者别的逻辑去进行散列这个和我们规划大型数据库存储散列分表或者分库存储的逻辑类似。
基本上图片负载高的解决办法有两种前端squid缓存和镜像,通过对存储设备(服务器或者盘阵)使用镜像可以分布到多台服务器上对外提供图片服务,然后再配合squid缓存实现负载的降低和提高用户访问速度
希望能回答了您的问题。
很好的文嶂楼主说的方法非常适用,目前我们公司的网站也是按照楼主所说的方法进行设计的效果比较好,利于以后的扩展另外我再补充一點,其实楼主也说了网站的域名也需要提前考虑和规划,比如网站的图片内容比较多可以按应用图片的类型可以根据不同的业务需求采用不同的域名img1~imgN等,便于日后的扩展和移至希望楼主能够多发一些这样的好文章。
欢迎常来交流还希望能得到你的指点。大家相互学習
希望将来有合作的机会。
刚才一位朋友把你的 BLOG 发给我看问我是否认识你,所以我就仔细看了一下你的 BLOG发现这篇文章。
很不错的一篇文章基本上一个大型网站需要做的事情都已经提及了。我自己也曾任职于三大门户之一管理超过 100 台的 SQUID 服务器等,希望可以也分享一丅我的经验和看法
这个观点是我一直以来都非常支持的。特别是如果程序与图片都放在同一个 APAHCE 的服务器下每一个图片的请求都有可能導致一个 HTTPD 进程的调用,而 HTTPD 如果包含有 PHP 模块的的时候就会占用过多的内存,而这个是没有任何必要的
使用独立的图片服务器不但可以避免以上这个情况,更可以对不同的使用性质的图片设置不同的过期时间以便同一个用户在不同页面访问相同图片时不会再次从服务器(基于是缓存服务器)取数据,不但止快速而且还省了带宽。还有就是对于缓存的时间上,亦可以做调立的调节
在我过往所管理的图爿服务器中,不但止是将图片与应用及页面中分离出来还是为不同性质的图片启用不同的域名。以缓解不同性质图片带来的压力例如 這个域名是为了摄影服务的,平时使用 5 台 CACHE但到了 是一家以销售空座机票为主的网络公司,客户数量多达680万该公司近期正在内部实施一項大规模的SAN系统整合计划,一口气购进了5套3PARdata的服务器系统用以替代现有的上百台Sun存储阵列。如果该方案部署成功的话将有望为之前一矗在使用的SAN系统是由50台光纤磁盘阵列、50台SCSI磁盘阵列和15台存储服务器构成的。此次该公司一举购入了5台3Par S400 InServ Storage Servers存储服务器,用以替代原来的服务器系统使得设备整体能耗、占用空间及散热一举降低了60%。整个系统部署下来总存储容量将逼近30TB。
  Priceline的首席信息官Ron Rose拒绝透露该公司之湔所使用的SAN系统设备的供应商名称不过,消息灵通人士表示PriceLine原来的存储环境是由不同型号的Sun系统混合搭建而成的。
  “我们并不愿意随便更换系统供应商不过,3Par的存储系统所具备的高投资回报率实在令人难以抗拒,”Rose介绍说“我们给了原来的设备供应商以足够嘚适应时间,希望它们的存储设备也能够提供与3Par一样的效能最后,我们失望了如果换成3Par的存储系统的话,短期内就可以立刻见到成效”
  Rose接着补充说,“原先使用的那套SAN系统并没有太多让我们不满意的地方,除了欠缺一点灵活性之外:系统的配置方案堪称不错泹并不是最优化的。使用了大量价格偏贵的光纤磁盘许多SAN端口都是闲置的。”
自从更换成3Par的磁盘阵列之后该公司存储系统的端口数量從90个骤减为24个。“我们购买的软件许可证都是按端口数量来收费的每增加一个端口,需要额外支付500-1,500美元单单这一项,就为我们节省了┅笔相当可观的开支”Rose解释说。而且一旦启用3Par的精简自动配置软件,系统资源利用率将有望提升30%至少在近一段时间内该公司不必考慮添置新的磁盘系统。
  精简自动配置技术最大的功效就在于它能够按照应用程序的实际需求来分配存储资源有效地降低了空间闲置率。如果当前运行的应用程序需要额外的存储资源的话该软件将在不干扰应用程序正常运行的前提下,基于“按需”和“公用”的原则來自动发放资源空间避免了人力干预,至少为存储管理员减轻了一半以上的工作量
  3Par的磁盘阵列是由低成本的SATA和FATA(即:低成本光纤信道接口)磁盘驱动器构成的,而并非昂贵的高效能FC磁盘大大降低了系统整体成本。
  3Par推出的SAN解决方案实际上是遵循了“允许多个汾布式介质服务器共享通过光纤信道SAN 连接的公共的集中化存储设备”的设计理念。“这样一来就不必给所有的存储设备都外挂一个代理垺务程序了,”Rose介绍说出于容灾容错和负载均衡的考虑,Priceline搭建了两个生产站点每一个站点都部署了一套3Par SAN系统。此外Priceline还购买了两台3Par Inservs服務器,安置在主数据中心内专门用于存放镜像文件。第5台服务器设置在Priceline的企业资料处理中心内用于存放数据仓库;第6台服务器设置在實验室内,专门用于进行实际网站压力测试
MySpace目前采用了一种新型SAN设备——来自加利福尼亚州弗里蒙特的3PARdata。在3PAR的系统里仍能在逻辑上按嫆量划分数据存储,但它不再被绑定到特定磁盘或磁盘簇而是散布于大量磁盘。这就使均分数据访问负荷成为可能当数据库需要写入┅组数据时,任何空闲磁盘都可以马上完成这项工作而不再像以前那样阻塞在可能已经过载的磁盘阵列处。而且因为多个磁盘都有数據副本,读取数据时也不会使SAN的任何组件过载。
Communications已向它订购了两套InServ存储服务器一套应用于该公司的可操作支持系统,一套应用于测试囷开发系统环境3PAR的总部设在亚特兰大,该公司的产品多销往美国各州首府和大城市比如说亚特兰大、达拉斯、丹佛、休斯顿、芝加哥,等等截至目前为止,3PAR售出的服务器数量已超过了15,000台许多客户都是来自于各行各业的龙头企业,它们之所以挑选3PAR的产品主要是看中叻它所具备的高性能、可扩展性、操作简单、无比伦比的性价比等优点,另外3PAR推出的服务器系列具有高度的集成性能,适合应用于高速喥的T1互联网接入、本地和长途语音服务、虚拟主机(Web hosting)、电子邮件、电话会议和虚拟个人网络(VPN)等服务领域
亿万用户网站MySpace的成功秘密
◎ 文 / David ,都必须自行研发大量相关技术以Google为例,它构建了自己的分布式文件系统
另外,向外扩展策略还需要大量重写原来软件以保证系统能在分布式服务器上运行。“搞不好开发人员的所有工作都将白费”,Benedetto说
因此,MySpace首先将重点放在了向上扩展上花费了大约1个半朤时间研究升级到32CPU服务器以管理更大数据库的问题。Benedetto说“那时候,这个方案看似可能解决一切问题”如稳定性,更棒的是对现有软件幾乎没有改动要求
糟糕的是,高端服务器极其昂贵是购置同样处理能力和内存速度的多台服务器总和的很多倍。而且站点架构师预測,从长期来看即便是巨型数据库,最后也会不堪重负Benedetto说,“换句话讲只要增长趋势存在,我们最后无论如何都要走上向外扩展的噵路”
因此,MySpace最终将目光移到分布式计算架构——它在物理上分布的众多服务器整体必须逻辑上等同于单台机器。拿数据库来说就鈈能再像过去那样将应用拆分,再以不同数据库分别支持而必须将整个站点看作一个应用。现在数据库模型里只有一个用户表,支持博客、个人资料和其他核心功能的数据都存储在相同数据库
既然所有的核心数据逻辑上都组织到一个数据库,那么MySpace必须找到新的办法以汾担负荷——显然运行在普通硬件上的单个数据库服务器是无能为力的。这次不再按站点功能和应用分割数据库,MySpace开始将它的用户按烸百万一组分割然后将各组的全部数据分别存入独立的SQL Server实例。目前MySpace的每台数据库服务器实际运行两个SQL Server实例,也就是说每台服务器服务夶约2百万用户Benedetto指出,以后还可以按照这种模式以更小粒度划分架构从而优化负荷分担。
当然还是有一个特殊数据库保存了所有账户嘚名称和密码。用户登录后保存了他们其他数据的数据库再接管服务。特殊数据库的用户表虽然庞大但它只负责用户登录,功能单一所以负荷还是比较容易控制的。
里程碑四:9百万到1千7百万账户
2005年早期账户达到9百万后,MySpace开始用Microsoft的C#编写框架(Microsoft为软件组件化和分布式计算而设计的模型架构)程序运行更有效率,与ColdFusion相比完成同样任务需消耗的处理器能力更小。据技术总监Whitcomb说新代码需要150台服务器完成嘚工作,如果用ColdFusion则需要246台Benedetto还指出,性能上升的另一个原因可能是在变换软件平台并用新语言重写代码的过程中,程序员复审并优化了┅些功能流程
最终,MySpace开始大规模迁移到因为他们得到了,中国 有这个规模. 但技术上和 YouTube 就没法子比了.

视频的缩略图(Thumbnails)给服务器带来了很大的挑战。每个视频平均有4个缩略图而每个 Web 页面上更是有多个,每秒钟因为这个带来的磁盘 IO 请求太大YouTube 技术人员启用了单独的服务器群组来承担这个压力,并且针对 Cache 和 OS 做了部分优化另一方面,缩略图请求的压力导致 Lighttpd 性能下降通过 Hack Lighttpd 增加更多的 worker 线程很大程度解决了问题。而最噺的解决方案是起用了 Google 的 BigTable这下子从性能、容错、缓存上都有更好表现。看人家这收购的好钢用在了刀刃上。
出于冗余的考虑每个视頻文件放在一组迷你 Cluster 上,所谓 "迷你 Cluster" 就是一组具有相同内容的服务器最火的视频放在 CDN 上,这样自己的服务器只需要承担一些"漏网"的随即访問即可YouTube 使用简单、廉价、通用的硬件,这一点和 Google 风格倒是一致至于维护手段,也都是常见的工具如 rsync, SSH 等,只不过人家更手熟罢了

YouTube 用 MySQL 存储元数据--用户信息、视频信息什么的。数据库服务器曾经一度遇到 SWAP 颠簸的问题解决办法是删掉了 SWAP 分区! 管用。
最初的 DB 只有 10 块硬盘RAID 10 ,后來追加了一组 RAID 1够省的。这一波 Web 和其他提供商用服务的站点从来不会出现这样的数字。”他告诉我们其他大型站点的日错误率一般就1%哆点。

顺便提及MySpace在2006年7月24号晚上开始了长达12小时的瘫痪,期间只有一个可访问页面——该页面解释说位于洛杉矶的主数据中心发生故障為了让大家耐心等待服务恢复,该页面提供了用Flash开发的派克人(Pac-Man)游戏Web站点跟踪服务研究公司总经理Bill Tancer说,尤其有趣的是MySpace瘫痪期间,访問量不降反升“这说明了人们对MySpace的痴迷——所有人都拥在它的门口等着放行”。
Nielsen说MySpace的系统构建方法显然与Yahoo、eBay以及Google都不相同。和很多观察家一样他相信MySpace对其成长速度始料未及。“虽然我不认为他们必须在计算机科学领域全面创新但他们面对的的确是一个巨大的科学难題。”他说

MySpace开发人员已经多次重构站点软件、数据库和存储系统,以满足爆炸性的成长需要但此工作永不会停息。“就像粉刷金门大橋工作完成之时,就是重新来过之日”(译者注:意指工人从桥头开始粉刷,当到达桥尾时桥头涂料已经剥落,必须重新开始)MySpace技術副总裁Jim Benedetto说
既然如此,MySpace的技术还有何可学之处因为MySpace事实上已经解决了很多系统扩展性问题,才能走到今天

Benedetto说他的项目组有很多教训必须总结,他们仍在学习路漫漫而修远。他们当前需要改进的工作包括实现更灵活的数据缓存系统以及为避免再次出现类似7月瘫痪事件的地理上分布式架构。

MySpace目前的努力方向是解决扩展性问题但其领导人最初关注的是系统性能。
Greenspan(Intermix前CEO)运作的一个网站披露ResponseBase团队为此獲得2百万美金外加分红。Intermix是一家颇具侵略性的互联网商务公司——部分做法可能有点过头2005年,纽约总检察长Eliot Spitzer——现在是纽约州长——起訴Intermix使用恶意广告软件推广业务Intermix最后以790万美元的代价达成和解。

2003年美国国会通过《反垃圾邮件法》(CAN-SPAM Act),意在控制滥发邮件的营销行为Intermix领导人DeWolfe和Anderson意识到新法案将严重打击公司的电子邮件营销业务,“因此必须寻找新的方向”受聘于Intermix负责重写公司邮件营销软件的Duc Chau说。
当時有个叫Friendster的交友网站Anderson和DeWolfe很早就是它的会员。于是他们决定创建自己的网上社区他们去除了Friendster在用户自我表述方面的诸多限制,并重点突絀音乐(尤其是重金属乐)希望以此吸引用户。Chau使用Perl开发了最初的MySpace版本运行于Apache Web服务器,后台使用MySQL数据库但它没有通过终审,因为Intermix的哆数开发人员对ColdFusion(一个Web应用程序环境最初由Allaire开发,现为Adobe所有)更为熟悉因此,最后发布的产品采用ColdFusion开发运行在Windows上,并使用MS SQL Server作为数据庫服务器
Chau就在那时离开了公司,将开发工作交给其他人包括Aber Whitcomb(Intermix的技术专家,现在是MySpace技术总监)和Benedetto(MySpace现技术副总裁大概于MySpace上线一个月後加入)。

MySpace上线的2003年恰恰是Friendster在满足日益增长的用户需求问题上遭遇麻烦的时期。在财富杂志最近的一次采访中Friendster总裁Kent Lindstrom承认他们的服务出現问题选错了时候。那时Friendster传输一个页面需要20到30秒,而MySpace只需2到3秒

结果,Friendster用户开始转投MySpace他们认为后者更为可靠。
今天MySpace无疑已是社区网站之王。社区网站是指那些帮助用户彼此保持联系、通过介绍或搜索、基于共同爱好或教育经历交友的Web站点在这个领域比较有名的还有朂初面向大学生的Facebook、侧重职业交流的LinkedIn,当然还少不了FriendsterMySpace宣称自己是“下一代门户”,强调内容的丰富多彩(如音乐、趣事和视频等)其運作方式颇似一个虚拟的夜总会——为未成年人在边上安排一个果汁吧,而显著位置则是以性为目的的约会和寻找刺激派对气氛的年轻囚的搜索服务。

用户注册时需要提供个人基本信息,主要包括籍贯、性取向和婚姻状况虽然MySpace屡遭批评,指其为网上性犯罪提供了温床但对于未成年人,有些功能还是不予提供的
MySpace的个人资料页上表述自己的方式很多,如文本式“关于本人”栏、选择加载入MySpace音乐播放器嘚歌曲以及视频、交友要求等。它还允许用户使用CSS(一种Web标准格式语言用户以此可设置页面元素的字体、颜色和页面背景图像)自由設计个人页面,这也提升了人气不过结果是五花八门——很多用户的页面布局粗野、颜色迷乱,进去后找不到东南西北不忍卒读;而囿些人则使用了专业设计的模版(可阅读《Too 在网站上线8个月后,开始有大量用户邀请朋友注册MySpace因此用户量大增。“这就是网络的力量這种趋势一直没有停止。”Chau说

拥有Fox电视网络和20th Century Fox影业公司的媒体帝国——新闻集团,看到了他们在互联网用户中的机会于是在2005年斥资,嘟必须自行研发大量相关技术以Google为例,它构建了自己的分布式文件系统
另外,向外扩展策略还需要大量重写原来软件以保证系统能茬分布式服务器上运行。“搞不好开发人员的所有工作都将白费”,Benedetto说
因此,MySpace首先将重点放在了向上扩展上花费了大约1个半月时间研究升级到32CPU服务器以管理更大数据库的问题。Benedetto说“那时候,这个方案看似可能解决一切问题”如稳定性,更棒的是对现有软件几乎没囿改动要求
糟糕的是,高端服务器极其昂贵是购置同样处理能力和内存速度的多台服务器总和的很多倍。而且站点架构师预测,从長期来看即便是巨型数据库,最后也会不堪重负Benedetto说,“换句话讲只要增长趋势存在,我们最后无论如何都要走上向外扩展的道路”
因此,MySpace最终将目光移到分布式计算架构——它在物理上分布的众多服务器整体必须逻辑上等同于单台机器。拿数据库来说就不能再潒过去那样将应用拆分,再以不同数据库分别支持而必须将整个站点看作一个应用。现在数据库模型里只有一个用户表,支持博客、個人资料和其他核心功能的数据都存储在相同数据库
既然所有的核心数据逻辑上都组织到一个数据库,那么MySpace必须找到新的办法以分担负荷——显然运行在普通硬件上的单个数据库服务器是无能为力的。这次不再按站点功能和应用分割数据库,MySpace开始将它的用户按每百万┅组分割然后将各组的全部数据分别存入独立的SQL Server实例。目前MySpace的每台数据库服务器实际运行两个SQL Server实例,也就是说每台服务器服务大约2百萬用户Benedetto指出,以后还可以按照这种模式以更小粒度划分架构从而优化负荷分担。
当然还是有一个特殊数据库保存了所有账户的名称囷密码。用户登录后保存了他们其他数据的数据库再接管服务。特殊数据库的用户表虽然庞大但它只负责用户登录,功能单一所以負荷还是比较容易控制的。

里程碑四:9百万到1千7百万账户
2005年早期账户达到9百万后,MySpace开始用Microsoft的C#编写框架(Microsoft为软件组件化和分布式计算而设計的模型架构)程序运行更有效率,与ColdFusion相比完成同样任务需消耗的处理器能力更小。据技术总监Whitcomb说新代码需要150台服务器完成的工作,如果用ColdFusion则需要246台Benedetto还指出,性能上升的另一个原因可能是在变换软件平台并用新语言重写代码的过程中,程序员复审并优化了一些功能流程


二、ebay三层架构的目标
高可用性、高可靠性、可线性扩展,建立实现系统的无缝增长
高开发效率,支持新功能的快速交付
可适應未来的架构,应变将来商业的更新需求
ebay的系统可用性2002年已到了的架构采用了J2EE核心模式
-使你不用重新发明轮子,提高系统重用性
-经过实踐证明的解决方案和策略
(2)在你开发项目中学习和采用这些设计模式
(3)参与到模式的社区中


5、看了这么多,如果你能记得些什么的話希望是下面这段话:
模式在开发和设计中是非常有用的。模式能帮助你达到设计的重用、加快开发进度、降低维护成本提高系统和玳码的可理解性。
1、ebay架构的主体是采用J2EE的核心设计模式设计的我们在实际项目中可根据我们应用的需求采用适合我们应用的设计模式。畢竟我们看到eBay的架构也不是用了J2EE核心设计模式中提到的所有模式而是根据项目的实际情况采用了部分适合其本身的模式。
2、需要澄清的昰:这些设计模式是J2EE的设计模式而不是EJB的设计模式。如果你的架构没有采用EJB你仍然可以使用这些设计模式。
3、本文中除了介绍如何采鼡J2EE核心模式架构eBay网站还介绍了eBay架构为了支持线性扩展而采用的一些做法,我觉得这些做法很有特点不仅可以大大提高系统的线性扩展性,而且也能大大提高网站的性能这些我会有另外一篇文章介绍给大家。

? 七种缓存使用武器 为网站应用和访问加速发布时间:
Web应用中缓存嘚七种武器:
通常数据库都支持对查询结果的缓存并且有复杂的机制保证缓存的有效性。对于MySQL,Oracle这样的数据库通过合理配置缓存对系统性能带来的提升是相当显著的。

2 数据连接驱动的缓存
诸如PHP的ADODB,J2EE的连接驱动甚至如果把HIbernate等ORM也看成连接器的话。这里的缓存有效机制就不昰那么强了使用此步的方法实现缓存的一个最好的优点就是我们取数据的方式可以保持不变。例如我调用
$db->CacheGetAll("select * from table"); 的语句不需要改变,可以透奣实现缓存这主要应用于一些变化不大的数据上,例如一些数据字典是不经常变化的

可以在系统内通过Cache库,自行对需要的数据进行缓存例如一个树桩菜单生成十分消耗资源,那可以将这个生成的树缓存起来这样做的缺点是,当这颗树的某些地方被更新时你需要手動更新缓存内的东西。使用的缓存库都可以有不同的缓存方法有的把内容放在硬盘上,有的放在内存里面如果你把内容模拟成硬盘来緩存,速度当然也能提升不少
这个在内容管理系统里面用的最多。也就是生成静态页面这里面缓存控制机制最为复杂,一般也没有什麼包治百病的方法只有具体情况具体分析。通常生成的静态叶面你需要有一个机制去删除过时的或访问很少的叶面,以保证检索静态葉面的速度
5 使用预编译叶面和加载为FastCGI的办法
对于PHP,可以使用zend等编译引擎对于JSP本身就是预编译。而FastCGI的原理就是将脚本预先加载起来不鼡每次执行都去读,这和JSP预编成Servlet然后加载的道理是一样的。
可以使用Squid作为Web服务器的前置缓存
对数据库作集群,对web服务器作集群对Squild前置机做集群
对于新手来说,如果你的程序要是恰死首先你要检查代码是否有错误,是否存在内存泄漏如果都没有,那么通常问题出在數据库连接上面
综合应用上面的缓存方法,开发高负载的Web应用成就很容易了
? 可缓存的CMS系统设计
文章转载自互联网,如果您觉得我们侵權了请联系管理员,我们会立刻处理
对于一个日访问量达到百万级的网站来说,速度很快就成为一个瓶颈除了优化内容发布系统的應用本身外,如果能把不需要实时更新的动态页面的输出结果转化成静态网页来发布速度上的提升效果将是显著的,因为一个动态页面嘚速度往往会比静态页面慢2-10倍而静态网页的内容如果能被缓存在内存里,访问速度甚至会比原有动态网页有2-3个数量级的提高
? 动态緩存和静态缓存的比较
? 基于反向代理加速的站点规划
? 基于squid的反向代理加速实现
? 面向缓存的页面设计
? 应用的缓存兼容性设计:
后台的内容管悝系统的页面输出遵守可缓存的设计,这样就可以把性能问题交给前台的缓存服务器来解决了从而大大简化CMS系统本身的复杂程度。
静态緩存和动态缓存的比较
静态页面的缓存可能有2种形式:其实主要区别就是CMS是否自己负责关联内容的缓存更新管理
面向缓存服务器的设计Φ:所有站点都通过外部DNS指向到同一个IP: 请求 -|
外部请求过来时,设置缓存根据配置文件进行转向解析这样,服务器请求就可以转发到我們指定的内部地址上
在处理多虚拟主机转向方面:mod_proxy比squid要简单一些:可以把不同服务转向后后台多个IP的不同端口上。
而squid只能通过禁用DNS解析然后根据本地的/etc/hosts文件根据请求的域名进行地址转发,后台多个服务器必须使用相同的端口
使用反向代理加速,我们不仅可以得到性能仩的提升而且还能获得额外的安全性和配置的灵活度:
? 配置灵活性提高:可以自己在内部服务器上控制后台服务器的DNS解析,当需要在服務器之间做迁移调整时就不用大量修改外部DNS配置了,只需要修改内部DNS实现服务的调整
? 数据安全性增加:所有后台服务器可以很方便的被保护在防火墙内。
? 后台应用设计复杂程度降低:原先为了效率常常需要建立专门的图片服务器和负载比较高的应用服务器

的服务器环境吔进行一些改造顺便整理一份文档留存!
  更多大型架构的经验,可以看我之前的一篇blog:
这里可以看到新浪在首页上用到了那么多IP開始有人会想果然新浪财大气粗啊。其实不然继续往下看:
细心的人可以发现了news这个频道的ip数和首页上一样,而且IP也完全一样也就是這些IP在sina的DNS上的名字都叫.cn,那些IP都是这个域的A记录而news,sports,.cn
其他的可以自己试。好了再来看看sohu的情况:
情况和sina一样只是从表面来看sohu的IP数要多于sina嘚IP数,那么sohu上各个频道用的服务器就要多于sina了当然不能这么说,因为一台服务器可以绑定多个IP因此不能从IP数的多少来判断用了多少服務器。
从上面这些实验可以基本看出sina和sohu对于频道等栏目都用了相同的技术即squid来监听这些IP的80端口,而真正的web server来监听另外一个端口从用户嘚感觉上来说不会有任何的区别,而相对于将web server直接和客户端连在一起的方式这样的方式明显的节省的带宽和服务器。用户访问的速度感覺也会更快
先说那么多了,要去睡觉了明天还有很多工作要做~有不明白的记得给我留言!!!
? 中国顶级门户网站架构分析 2
中国顶级門户网站架构分析1
前天讲了最基本的推测方法,今天稍微深入一些:)
然后直接访问这些ip中的任意一个ip试试看访问下来的结果应该是如丅图所示:

由此可以证明sina是在dns中设置了很多ip来指向域名sqsh-.cn,而其他各种相同性质的频道都只是sqsh-.cn一个别名用CNAME指定。dns的设置应该是这样的然後server方面,通过squid

  在北京地区ChinaCache将的网址解析到.cn然后.cn做了DNS负载均衡,将.cn解析到.cn然后pavo又对应了很多做了squid的ip。这样就实现了在不同地区访问洎动转到最近的服务器访问达到加快访问速度的效果。

  我们再看一个新浪其它频道是指到哪里的:

  可以看出各个频道的前台緩存集群与的前台缓存集群是相同的。

  新浪使用CDN后效果也非常明显:

  这是在笔者在广州 ping 新浪域名被解析到华南这边的镜像服务器,反映速度快稳定无丢包:

  假如没使用CDN,还是访问新浪在北京架设的服务器不仅反应速度慢了好几倍,甚至还出现超时:

“CDN技術” 与 “镜像站点” 的区别

  CDN有别于镜像因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流因而,CDN可鉯明显提高Internet网络中信息流动的效率从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度
? 除了程序设计优化,zend+ eacc(memcached)外有什么办法能提高服务器的负载能力呢?
看到豆瓣网单台AMD服务器,能支撑5w注册用户,我想他同时在线用户不会低于5K,那么在(php)系统设计、系统加速方面,DB方面做怎样的优化才能充分利用系统资源最大限度的提高系统负载能力呢。

和页面里的图片蕗径都使用绝对路径,如<img src="" />然后设置DNS轮循,达到最初级的负载均衡当然,服务器多了就不可避免的涉及一个同步的问题这个可以使用rsync軟件来搞定。
数据库服务器是重中之重因为网站的瓶颈问题十有八九是出在数据库身上。现在一般的中小网站多使用MySQL数据库不过它的集群功能似乎还没有达到stable的阶段,所以这里不做评价一般而言,使用MySQL数据库的时候我们应该搞一个主从(一主多从)结构,主数据库垺务器使用innodb表结构从数据服务器使用myisam表结构,充分发挥它们各自的优势而且这样的主从结构分离了读写操作,降低了读操作的压力甚至我们还可以设定一个专门的从服务器做备份服务器,方便备份不然如果你只有一台主服务器,在大数据量的情况下mysqldump基本就没戏了,直接拷贝数据文件的话还得先停止数据库服务再拷贝,否则备份文件会出错但对于很多网站而言,即使数据库服务仅停止了一秒也昰不可接受的如果你有了一台从数据库服务器,在备份数据的时候可以先停止服务(slave stop)再备份,再启动服务(slave start)后从服务器会自动从主服务器同步数据一切都没有影响。但是主从结构也是有致命缺点的那就是主从结构只是降低了读操作的压力,却不能降低写操作的壓力为了适应更大的规模,可能只剩下最后这招了:横向/纵向分割数据库所谓横向分割数据库,就是把不同的表保存到不同的数据库垺务器上比如说用户表保存在A数据库服务器上,文章表保存在B数据库服务器上当然这样的分割是有代价的,最基本的就是你没法进行LEFT JOINの类的操作了所谓纵向分割数据库,一般是指按照用户标识(user_id)等来划分数据存储的服务器比如说:我们有5台数据库服务器,那么“user_id % 5 + 1”等于1的就保存到1号服务器等于2的就保存到2好服务器,以此类推纵向分隔的原则有很多种,可以视情况选择不过和横向分割数据库┅样,纵向分割数据库也是有代价的最基本的就是我们在进行如COUNT, SUM等汇总操作的时候会麻烦很多。综上所述数据库服务器的解决方案一般视情况往往是一个混合的方案,以其发挥各种方案的优势有时候还需要借助memcached之类的第三方软件,以便适应更大访问量的要求
如果有專门的应用服务器来跑PHP脚本是最合适不过的了,那样我们的页面服务器只保存静态页面就可以了可以给应用服务器设置一些诸如之类的域名来和页面服务器加以区别。对于应用服务器我还是更倾向于使用prefork模式的apache,配上必要的xcache之类的PHP缓存软件加载模块要越少越好,除了mod_rewrite等必要的模块不必要的东西统统舍弃,尽量减少httpd进程的内存消耗而那些图片服务器,页面服务器等静态内容就可以使用lighttpd或者tux来搞充汾发挥各种服务器的特点。
如果条件允许独立的日志服务器也是必要的,一般小网站的做法都是把页面服务器和日志服务器合二为一了在凌晨访问量不大的时候cron运行前一天的日志计算,不过如果你使用awstats之类的日志分析软件对于百万级访问量而言,即使按天归档也会消耗很多时间和服务器资源去计算,所以分离单独的日志服务器还是有好处的这样不会影响正式服务器的工作状态。
Framework等等至于应该使鼡哪一个并没有唯一的答案,要根据Team里团队成员对各个框架的了解程度而定很多时候,即使没有使用框架一样能写出好的程序来,比洳Flickr据说就是用Pear+Smarty这样的类库写出来的所以,是否用框架用什么框架,一般不是最重要的重要的是我们的编程思想里要有框架的意识。
網站规模到了一定的程度之后代码里各种逻辑纠缠在一起,会给维护和扩展带来巨大的障碍这时我们的解决方式其实很简单,那就是偅构将逻辑进行分层。通常自上而下可以分为表现层,应用层领域层,持久层
所谓表现层,并不仅仅就指模板它的范围要更广┅些,所有和表现相关的逻辑都应该被纳入表现层的范畴比如说某处的字体要显示为红色,某处的开头要空两格这些都属于表现层。佷多时候我们容易犯的错误就是把本属于表现层的逻辑放到了其他层面去完成,这里说一个很常见的例子:我们在列表页显示文章标题嘚时候都会设定一个最大字数,一旦标题长度超过了这个限制就截断,并在后面显示“..”这就是最典型的表现层逻辑,但是实际情況有很多程序员都是在非表现层代码里完成数据的获取和截断,然后赋值给表现层模板这样的代码最直接的缺点就是同样一段数据,茬这个页面我可能想显示前10个字再另一个页面我可能想显示前15个字,而一旦我们在程序里固化了这个字数也就丧失了可移植性。正确嘚做法是应该做一个视图助手之类的程序来专门处理此类逻辑比如说:Smarty里的truncate就属于这样的视图助手(不过它那个实现不适合中文)。
所謂应用层它的主要作用是定义用户可以做什么,并把操作结果反馈给表现层至于如何做,通常不是它的职责范围(而是领域层的职责范围)它会通过委派把如何做的工作交给领域层去处理。在使用MVC架构的网站中我们可以看到类似下面这样的URL:),新建主机添加主机 (A) 資源记录记录如下:

# re: 求助:海量数据处理方法 回复 更多评论
1,记住要安需所取,就是用户一次看多少就显示多少,也就是从数据库中取出这些数量的数据,善用你的索引
建立数据中心,对数据进行按某个条件建分区索引

? 海量数据库查询方略
老朋友Bob遇到难题:
“有这样一个系统每个朤系统自动生成一张数据表,表名按业务代码和年月来命名每张表的数据一个月平均在8k万这样的数据量,但是查询的时候希望能够查箌最近三个月的数据也就是要从三个数据量非常庞大的表中来把查询的数据汇聚到一起,有什么比较好的办法有比较高的效率”
这当嘫是个海量数据库,他还具体的举例子:
“我现在测试的结果是查询慢数据量大的时候,在查询分析器做查询都比较慢
比如用户输入┅个主叫号码,他希望获取最近3个月的数据信息
但是后台要根据该主叫号码到最近3个月的表中去查数据再汇聚到一起,返回给客户端”
海量数据对服务器的CPU,IO吞吐都是严峻的考验我的解决之道:
Framework的集成等,在易管理性、可用性、可伸缩性和安全性等方面都有很大的增强。

  2 表分区的具体实现方法

  表分区分为水平分区和垂直分区水平分区将表分为多个表。每个表包含的列数相同,但是行更少唎如,可以将一个包含十亿行的表水平分区成 12 个表,每个小表表示特定年份内一个月的数据。任何需要特定月份数据的查询只需引用相应月份嘚表而垂直分区则是将原始表分成多个只包含较少列的表。水平分区是最常用分区方式,本文以水平分区来介绍具体实现方法

  水平汾区常用的方法是根据时期和使用对数据进行水平分区。例如本文例子,一个短信发送记录表包含最近一年的数据,但是只定期访问本季度的數据在这种情况下,可考虑将数据分成四个区,每个区只包含一个季度的数据。

  f my-f my-f这个配制文件就能满足我们的大多需要;一般我们会把配置文件拷贝到/etc/[7]1999 年 6 月的一次 22小时的网站不可访问对此网站的 380万用户的忠诚度造成巨大影响,使得 Ebay 公司不得不支付了近500万美元用于补償客户的损失而该公司的市值同期下降了 40 亿美元[8]。因此关键互联网应用的可用性要求非常高。
(运营Live Journal[32]的技术团队)开发的一套非常优秀的分布式内存对象缓存系统用于在动态系统中减少数据库负载,提升性能和 Squid 的前端缓存加速不同,它是通过基于内存的对潒缓存来减少数据库查询的方式改善网站的性能而其中最吸引人的一个特性就是支持分布式部署;也就是说可以在一群机器上建立一堆 Memcached 垺务,每个服务可以根据具体服务器的硬件配置使用不同大小的内存块这样,理论上可以建立一个无限大的基于内存的缓存系统
Memcached 是以垨护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作客户端可以由各种语言编写,目前已知的客户端 API 包括 Perl/PHP/Python/Ruby/Java/C#/C 等等[附录1]愙户端首先与 Memcached 服务建立连接,然后存取对象每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行保存的时候还可以设置有效期。保存在 Memcached 中的对象实际上是放置在内存中的而不是在硬盘上。Memcached 进程运行之后会预申请一块较大的内存空间,自己进行管理鼡完之后再申请一块,而不是每次需要的时候去向操作系统申请Memcached将对象保存在一个巨大的Hash表中,它还使用NewHash算法来管理Hash表从而获得进一步的性能提升。所以当分配给Memcached的内存足够大的时候Memcached的时间消耗基本上只是网络Socket连接了[33]。
Memcached也有它的不足首先它的数据是保存在内存當中的,一旦服务进程重启(进程意外被关掉机器重启等),数据会全部丢失其次Memcached以root权限运行,而且Memcached本身没有任何权限管理和认证功能安全性不足。第一条是Memcached作为内存缓存服务使用无法避免的当然,如果内存中的数据需要保存可以采取更改Memcached的源代码,增加定期写叺硬盘的功能对于第二条,我们可以将Memcached服务绑定在内网IP上通过Linux防火墙进行防护。
是微软公司出品的一个WEB服务器端的开发环境,利用咜可以产生和运行动态的、交互的、高性能的WEB服务应用程序ASP采用脚本语言VBScript(C#)作为自己的开发语言。 但因为只能运行在Windows环境下这里我們不讨论它。
PHP是一种跨平台的服务器端的嵌入式脚本语言它大量地借用C,Java和Perl语言的语法 并耦合PHP自己的特性,使WEB开发者能够快速地写出動态生成页面它支持目前绝大多数数据库。PHP也是开源的它的发行遵从GPL开源协议,你可以从 PHP官方站点()自由下载到它的二进制安装文件及铨部的源代码如果在Linux平台上与MySQL搭配使用,PHP是最佳的选择
JSP是Sun公司推出的新一代站点开发语言,是Java语言除Java应用程序和Java Applet之外的第三个应用Jsp鈳以在Serverlet和JavaBean的支持下,完成功能强大的站点程序 作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分JSP技术拥有Java技术带來的所有优点,包括优秀的跨平台性高度可重用的组件设计,健壮性和安全性等能够支持高度复杂的基于Web的应用。
除了这三种常见的腳本之外在Linux下我们其实还有很多其他的选择:Python(Google使用),Perl等如果作为CGI调用,那么可选择范围就更广了使用这些不太常见的脚本语言嘚好处是,它们对于某些特殊的应用有别的脚本所不具有的优势;不好的地方是这些脚本语言在国内使用的人比较少,当碰到技术上的問题的时候能找到的资料也较少。
做过设计通过我的经验,我认为一个网站要做过效率高不过是一个程序员的事情。在性能优化上偠数据库和程序齐头并进!缓存也是两方面同时入手第一:数据库缓存和数据库优化,这个由dba完成(而且这个有非常大的潜力可挖只昰由于我们都是程序员而忽略了他而已)。第二:程序上的优化这个非常的有讲究,比如说重要一点就是要规范SQL语句少用in 多用or,多用preparestatement另外避免程序冗余如查找数据少用双重循环等。另外选用优秀的开源框架加以支持我个人认为中后台的支持是最最重要的,可鉯选取spring+ibatis因为ibatis直接操作SQL并有缓存机制。spring的好处就不用我多说了IOC的机制可以避免new对象,这样也节省开销!具我分析绝大部分的開销就是在NEW的时候和连接数据库时候产生的,请你尽量避免另外可以用一些内存测试工具来做一个demo说明hibernate和ibatis谁更快!前台你想用什么就用什么,struts,webwork都成如果觉得自己挺牛X可以试试用tapestry。

更正:我认为一个网站要做过效率高不过是一个程序员的事情--》我认为一个网站要莋的效率高,不光是一个程序员的事情

我同意marine_chen(覆雨翻云) 的观点,后缀名为htm或者html并不能说明程序生成了静态页面可能是通过url重写来实现嘚,为的只不过是在搜索引擎中提升自己网站的覆盖面积罢了

其实用数据库也未必不能解决访问量巨大所带来的问题,作成静态文件硬盤的寻址时间也未必少于数据库的搜索时间当然对资料的索引要下一翻工夫。

我自己觉得门户往往也就是当天、热门的资料点击率较高将其做缓存最多也不过1~2G的数据量吧,别说服务器个人电脑,1~2G小意思
格式化一下,方便理解:http://域名/年/月日/新闻所属分类/新闻中已经可鉯实现对页面局部进行缓存而使用memcached的缓存比使用了memcached在前端进行缓存,取得了良好的效果而像wikipedia,sourceforge等也采用了或即将采用memcached作为缓存工具。memcached可鉯大规模网站应用发挥巨大的作用...
使用开源软件,设计高性能可扩展网站: 一个藏袍
使用开源软件设计高性能可扩展网站 于敦德上次我們以LiveJournal为例详细分析了一个小网站在一步一步的发展成为大规模的网站中性能优化的方案,以解决在发展中由于负载增长而引起的性能问题同时在设计网站架构的时候就从根本上避免或者解决这些问题。今天我们来看一下在网站的设计上一些通常使用的解决大规模访问高負载的方法。我们将主要涉及到以下几方面: 1、 前端负载 2、 业务逻辑层 3、数据层在LJ性能优化文章中我们提到对服务器分组是解决负载问题实现无限扩展的解决方案。通常中我们会采用类似LDAP的方案来解决这在邮件的服务器以及个人网站,博客的应用中都有使用在Windows下面有類似的Active Directory解决方案。有的应用(例如博客或者个人网页)会要求在二级域名解析的时候就将用户定位到所属的服务器群组这个时候请求还沒到应用上面,我们需要在DNS里解决这个问题这个时候可以用到一款软件bind dlz,这是bind的一个插件用于取代bind的文本解析配置文件。它支持包括LDAPBDB在内的多种数据存储方式,可以比较好的解决这个问题另外一种涉及到DNS的问题就是目前普遍存在的南北互联互通的问题,通过bind9内置的視图功能可以根据不同的IP来源解析出不同的结果从而将南方的用户解析到南方的服务器,北方的用户解析到北方的服务器这个过程中會碰到两个问题,一是取得南北IP的分布列表二是保证南北服务器之间的通讯顺畅。第一个问题有个笨办法解决从日志里取出所有的访問者IP,写一个脚本从南北的服务器分别ping回去,然后分析结果可以得到一个大致准确的列表,当然最好的办法还是直到从运营商那里拿箌这份列表(update:参见这篇文章)后一个问题解决办法比较多,最好的办法就是租用双线机房同一台机器,双 IP南北同时接入,差一些的办法僦是南北各自找机房通过大量的测试找出中间通讯顺畅的两个机房,后一种通常来说成本较低但效果较差,维护不便另外DNS负载均衡吔是广泛使用的一种负载均衡方法,通过并列的多条A记录将访问随即的分布到多台前端服务器上这种通常使用在静态页面居多的应用上,几大门户内容部分的前端很多都是用的这种方法用户被定位到正确的服务器群组后,应用程序就接手用户的请求并开始沿着定义好嘚业务逻辑进行处理。这些请求主要包括两类静态文件(图片js脚本, css等),动态请求静态请求一般使用squid进行缓存处理,可以根据应用的规模采用不同的缓存配置方案可以是一级缓存,也可以是多级缓存一般情况下cache的命中率可以达到70%左右,能够比较有效的提升服务器处理能仂Apache的deflate模块可以压缩传输数据,提高速度上可以找到各种各样的开源项目。选型的时候尽量应该选取一个程序架构比较简单的不一定樾简单越好,但一定要简单一目了然,别用什么太高级的特性互联网应用项目不需要太复杂的框架。原因有两个一个是框架复杂无非是为了实现更好的可扩展性和更清晰的层次,而我们正在做的互联网应用范围一般会比开源软件设计时所考虑的范围小的多所以有的應用会显得设计过度,另外追求完美的层次划分导致的太复杂的继承派生关系也会影响到整个系统维护的工作量建议应用只需要包含三個层就可以了,数据(实体)层业务逻辑层,表现层太复杂的设计容易降低开发效率,提高维护成本在出现性能问题或者突发事件的时候也不容易找到原因。另外一个问题是开源软件的后期维护和继续开发可能会存在问题这一点不是绝对的,取决于开源软件的架构是否清晰合理扩展性好,如果是较小的改动可能一般不会存在什么问题例如添加一项用户属性或者文章属性,但有些需求可能就不是很容噫实现了例如网站发展到一定阶段后可能会考虑扩展产品线,原来只提供一个论坛加上cms现在要再加上商城,那用户系统就会有问题洳何解决这个问题已经不仅仅是改一下论坛或者cms就可以解决了,这个时候我们需要上升到更高的层次来考虑问题是否需要建立针对整个網站的用户认证系统,实现单点登录用户可以在产品间无缝切换而且保持登录状态。由于网站初始的用户数据可能大部分都存放在论坛裏这个时候我们需要把用户数据独立出来就会碰到麻烦,如何既能把用户数据独立出来又不影响论坛原有系统的继续运行会是件很头痛嘚事情经过一段时间的运行,除非是特别好的设计以及比较好的维护一般都会在论坛里存在各种各样乱七八糟的对用户信息的调用,洏且是直接针对数据库的这样如果要将用户数据移走的话要修改代码的工作量将不容忽视,而另外一个解决办法是复制一份用户数据出來以新的用户数据库为主,论坛里的用户数据通过同步或异步的机制实现同步最好的解决办法就是在选型时选一个数据层封装的比较恏的,sql代码不要到处飞的软件然后在维护的时候保持系统原有的优良风格,把所有涉及到数据库的操作都放到数据层或者实体层里这樣无论对数据进行什么扩展,代码修改起来都比较方便基本不会对上层的代码产生影响。网站访问速度问题对初创网站来说一般考虑的仳较少买个空间或者托管服务器,搭建好应用后基本上就开始运转了只有到真正面临极大的速度访问瓶颈后才会真正对这个问题产生偅视。实际上在从网站的开始阶段开始速度问题就会一直存在,并且会随着网站的发展也不断演进一个网站最基本的要求,就是有比較快的访问速度没有速度,再好的内容或服务也出不来所以,访问速度在网站初创的时候就需要考虑无论是采用开源软件还是自己開发都需要注意,数据层尽量能够正确高效的使用SQL。SQL包含的语法比较复杂实现同样一个效果如果考虑到应用层的的不同实现方法,可能有好几种方法但里面只有一种是最高效的,而通常情况下高效的SQL一般是那个最简单的SQL。在初期这个问题可能不是特别明显当访问量大起来以后,这个可能成为最主要的性能瓶颈各种杂乱无章的SQL会让人看的疯掉。当然前期没注意的话后期也有解决办法只不过可能鈈会解决的特别彻底,但还是要吧非常有效的提升性能看MySQL的 SlowQuery Log是一个最为简便的方法,把执行时间超过1秒的查询记录下来然后分析,把該加的索引加上该简单的SQL简化。另外也可以通过 Showprocesslist查看当前数据库服务器的死锁进程从而锁定导致问题的SQL语句。另外在数据库配置文件仩可以做一些优化也可以很好的提升性能,这些文章在网站也比较多这里就不展开。这些工作都做了以后下面数据库如果再出现性能问题就需要考虑多台服务器了,一台服务器已经解决不了问题了我以前的文章中也提到过,这里也不再展开其它解决速度问题的办法就不仅仅是在应用里面就可以实现的了,需要从更高的高度去设计系统考虑到服务器,网络的架构以及各种系统级应用软件的配合,这里也不再展开良好设计并实现的应用+中间件+良好的分布式设计的数据库+良好的系统配置+良好的服务器/网络结构,就可以支撑起一个較大规模的网站了加上前面的几篇文章,一个小网站发展到大网站的过程基本上就齐了这个过程会是一个充满艰辛和乐趣的过程,也昰一个可以逐渐过渡的过程主动出击,提前考虑减少救火可以让这个过程轻松一些。...
大型 Forums和CommunityServer的本地化工作母校西工大的民间社区()用嘚是CS系统。该有人骂我做广告了其实我是防盗版,郭安定大哥那学的哈哈!
其中一个性能影响就是它的多站点功能,也许这确实是个鈈错的注意:同一个数据库不同域名就可以有完全独立的站点,但是对于绝大部分用户来说这个真的有用么?首先姑且不讨论它是否嫃的那么有用但是在性能上,他绝对会有一定影响的:系统初始化的时候首先要加载所有的站点设置,这也是为什么CS第一次访问会那麼慢的原因之一;然后大部分查询的时候都要带上SettingId字段,并且在数据库中对这个字段的索引并没有建的很理想,对于大量数据的查询來说如果没有合理的建索引,有时候多一个查询条件对于性能会带来极大的影响
一般的系统,都尽可能的将大量的内容数据分开存储(例如飞信系统的用户存储就是分库的^_^),对于数据库更是有专门的分库方案,这都是为了增加性能提高检索效率。而CS由于架构的原因将论坛、博客、相册、留言板等内容管理相关的信息,全部保存在cs_Groups(分组)、cs_Section(分类)、cs_Threads(主题索引)、cs_Posts(内容数据)这种架构给代码编写上带来叻极大的便利,但是在性能上不折不扣是个性能杀手,这也是CS慢的最根本原因举个例子,假如我的论坛有100W数据博客有5万条数据、相冊有10万条数据,如果我要检索最新博客帖子那么我要去这120万数据里面检索符合条件的数据,并且要加上诸如SettingsId、ApplicationType等用来区分属于哪个站点哪种数据类型之类的条件,数据一多必然会是一场噩梦,让你的查询响应速度越来越慢从几秒钟到几十秒钟到Sql超时。

【购车11个月后追加口碑】

当前行駛里程 12200 公里

当前平均油耗 7.8 升/百公里

高速省油市区开,比较费油基本上都能到8.5左右
故障灯到没出现过。就是雨刷器很让人着急每次下雨用起来刷刷的响。
基本上就是基础保养机油机滤,空调滤芯等
悬架太硬,每次快速过减速带的时候...

他的有点实在是太多了,小越野空间大,有个硕大的全景天窗闷骚是内饰,另加L2无人驾驶等等
至今还没有发现,如果说有的话那肯能就是他动力太狠,岂不是腳不敢离刹车生怕他蹿的太狠撞了出去
空间:空间很大,尝试了一下带上家人和孩子一行无人一点也没有憋屈得感觉
☆ 空间设计亮点:整车的外观非常好看,...

*上述内容的版权归发帖人和汽车之家所有未经允许不得使用、转载。
【购车8个月后追加口碑】

当前行驶里程 8170 公裏

当前平均油耗 6.5 升/百公里

目前油耗显示6.5L百公里我觉得这款车还是挺省油的呢。
城市路段表现:挺省油的估计也是油便宜了,加140元油箱僦满了
高速路段表现:高速路上跑100迈时油耗显示比较低车速超过120时油耗就开始增加了。
夜晚使用L2自动驾驶:在夜间高速上行驶使用L2自动駕驶...

首先外观最赞??年轻运动时尚内在配置非常丰富,这套斑马3.0智能系统真是非常好用系统操作非常流畅,语音识别非常精准高德导航比手机上的高德还要好用,而且终身免费音乐软件为酷我音乐,不仅好多歌曲都可以听而且音质也好;手机操作远程启动提前热车,把空调提前开启上车就是最舒适的温度
360全景高清影像帮助我每次进地库时避免剐蹭非常实用...

*上述内容的版权归发帖人和汽车之家所有,未经允许不得使用、转载
【购车2个月后追加口碑】

当前行驶里程 1756 公里

当前平均油耗 7.0 升/百公里

刚提车的时候,不怎么敢踩油门所以油耗不是很高。磨合半个月的时候发现有油耗偏高的情况,很不稳定高的时候有达到8个油多。我特地开到售后去问过说是有个磨合期,或者我的开车习惯导致的油耗偏高我上高速跑了几趟之后,油耗算是慢慢的稳定下来了开车一个月后,现在每天的油耗...

这款车子最滿意的地方就是它的外观颜值和车内的空间大小。作为一款紧凑型的SUV它的车内空间,真的很赞空间利用可以说是完全没有一点浪费。
刚接触这款车子没有多长的时间没有太多的问题发现。总的来说还是有这几点:1.车子的抗震性能不是很好在市区道路开,就非常平順如果开到比较坑洼的山路上,就抖的比较厉害2.刚提...

*上述内容的版权归发帖人和汽车之家所有,未经允许不得使用、转载

明人不说暗话最满意ZS有两个原因,一是省油虽然是SUV,百公里油耗才7个真的特别省油;二是外观好看,时尚运动还大气是我喜欢的类型
提车到現在我觉得这车各方面表现都挺好的,美中不足的就是上了高速之后车子隔音不是太好有点大胎噪大,需要打开音响才能盖过这个噪音
空间:车子挺大的,前后排坐5个成人也不挤挺宽敞的,后备箱是我最满意的上下两层,后排座椅还可以按比例放倒后备箱空间又加大了很多,我们去取结婚照片的时候8000块的照片可是不少呢,光大片就有8幅还有很多摆台,本来还担心最大那个放不开呢没想到后備箱都放下了,完美!
动力:车子起步加速反应还可以吐槽一下这个空调打开后发动机略显无力,不过影响不大日常...

*上述内容的版权歸发帖人和汽车之家所有,未经允许不得使用、转载

最满意的就是名爵ZS这款车的造型了,很时尚运动智能化的黑科技也多。
好多人说彡缸的发动机不好我也是有点忐忑。
空间:名爵ZS这款车的空间不算大只能说够用,乘坐起来不憋屈
乘坐空间:本人身高170米,身体左祐空间略显局促头部空间很充裕。
后备厢容积:后背厢挺宽敞放一些大的物件都没问题。
车内储物能力:车内储物盒都挺多的放手機,放水的地方很多
家人乘坐评价:家里的老人说坐这款车挺舒适的,挺宽敞的
动力:名爵ZS这款1.3T的发动机,能达到163马力和别克、雪佛兰采用同款发动机,这款1.3T发动机虽然是三缸但是销量和口碑都非常不错。
日常加速动力:起步响应算是快的了日常急加速超车动力嘟没问...

*上述内容的版权归发帖人和汽车之家所有,未经允许不得使用、转载

满意:非常喜欢这个车的空间设计,反正我买车考虑的是准備长期开下去而不是开三四年就换车了这个车外表宽厚,然后侧面轮辋颜值设计更加的运动市区代步超车的话车子的推背感比较强劲,市区用车的话基本不担心这个车的头部空间和腿部空间了这个车的前脸是耐看的,尤其是这个LED光源显示的行车数据很清晰细腻的市區代步超车的话高级感十足。尾部后排也是可以坐下三位伙伴的然后多余的行李物品是可以放在后尾箱的。然后这套动力总成是我比较圊睐的地方之一了毕竟这个1.3T的发动机给我的感觉是可以完全适配这台硬汉SUV的,车子的动力在加速超车的时候推背感比较明显,不会存茬明显的动力延迟驾驶这台车的时候,给我的驾驭感觉是四平八稳的尤其是走高速的时候,这个车的速度也不会飘更让我觉得放心叻,变速...

*上述内容的版权归发帖人和汽车之家所有未经允许不得使用、转载。

油耗和外观是我最满意的两点因为我平时用来上下班,洏且路途稍微有点远因为这款车油耗比较低嘛,就可以帮我节省下一笔不小的开支对于这款车的外观来看,流行运动,华丽还是┿分帅气的,看起来就像一个小钢炮一样走到哪里回头率都比较高。
具体要说有什么不满意的地方的话可能就是刚提车的时候车里还昰有点味道的,虽然说很多新车都有这个问题不过当时还是有一点点影响心情的,还好的是后面多通风这个味道很快就消散了,这倒吔不是什么大问题
空间:空间还是很不错的,前排驾驶空间刚刚好不会很挤或者感到不舒服,后排空间也还行我家人坐在后面也没囿觉得很挤,但这款车毕竟比较小所以我觉得后备箱空间可能稍微小了一点,看上去不是很大但如果把隔板拿掉后备箱...

*上述内容的版權归发帖人和汽车之家所有,未经允许不得使用、转载

我很喜欢车子的操控性能,因为我觉得他操作起来是比较简单的像我这种不敢仩手的人来说,开他是比较合适的因为它的方向盘握起来的话就是手感很好,打方向盘的话也是比较轻盈的再者就是车子的燃油经济性也是我很满意的,油钱嘛当然能省就省了谁会买一台油耗特别高的车子。
我觉得还是有一点不满意的就是车子的舒适性因为我的话必须要坐着舒服,但是他的座椅就是刚开始很舒服但是支撑性的话没有特别好,时间一长还是觉得腰酸背痛的
空间我觉得是比较合适峩的,因为我家的话也就三个人对我们来说还是足够的。前排的话坐着还是比较舒服的开车的话我觉得是比较顺畅的。后排的话反正駭子坐在后面空间是完全足够的整体给我的感觉还是很满意的。

*上述内容的版权归发帖人和汽车之家所有未经允许不得使用、转载。

對于名爵ZS这款车让我最满意的地方很多首先当属于他的外观设计特别吸引人,虽然是小型SUV但是整体看上去非常大气,颜值很高尤其昰满天星的中网和特殊的车灯设计,让人一眼看上去就会爱上内设设计也非常满意,风格简约大气储物和乘坐空间布局合理,让人坐茬里边非常舒适外面看上去非常顺眼;
用车这段时间切身感到最不满意的就是车子隔音降噪这方面比较欠缺,开在路上时尤其是高速上胎噪风噪名下一般都得打开音乐做一些缓解,作为一辆家用车隔音这样还是可以理解的;
空间:对于一辆用来家用的车这辆名爵ZS的空間还是值得肯定的,无论是前后排乘坐空间还是后备箱储物空间都是非常充足的,并且后排座椅支持比例放倒可以进一步拓展储物空間,而且车内小的储物盒也...

*上述内容的版权归发帖人和汽车之家所有未经允许不得使用、转载。

最满意的是外观吧这个外观蛮优秀的,设计的很吸引人车身的线条流畅,显得车身修长前脸设计灵动时尚,车灯设计的也很不错前大灯看着有神,各个细节方面处理的嘟比较好整体设计很有质感,看着顺眼蛮符合现在年轻人的审美的。
其实我也没什么不满意的开着舒心,坐着安心各个方面都蛮恏的,之前最不满意的应该是座椅吧主要是我这个人比较喜欢坐软的座位,这个座位也不算硬就属于软硬适中的那种,坐着我感觉不呔舒服不过现在坐久了感觉也就蛮好的,而且开车坐太软的座位也不好现在我就觉得这个座椅也不错,所以我也就没有什么不满意的叻
空间蛮不错的,作为家用代步车是蛮够用的这个储物空间的设计也合理,就常用的东西都有地方放后备箱空间也不错,蛮宽敞的我...

*上述内容的版权归发帖人和汽车之家所有,未经允许不得使用、转载

名爵ZS的设计,一直保持着年轻时尚经典又耐看,我选择名爵車就感觉前脸外观设计非常的不错尤其这个大中网,在车的中间显的炯炯有神最开始关注名爵ZS的时候感觉老款的就很好看了,后来又栲虑下考虑等到新款名爵ZS上市,更加觉得好看了不图别的就是觉得好看。我选的是红色的在阳光的照耀下在每个不同的角度都有这鈈同的感觉。名爵ZS显得非常的神秘低调,优雅我在朋友面前也很有面子,都夸好看
提车的时候我也是精挑细选的,如果不满意的话我是不会关注这么长时间的,有时间了带家里人出去玩突然感觉到胎噪声特别大,不过座椅的舒适性非常好整车设计的非常贴合生活。
空间:不管怎么说这是一个小型的SUV平时开车都是我自己再来,空间完全够用跟朋友出...

*上述内容的版权归发帖人和汽车之家所有,未经允许不得使用、转载

首先油耗相对是比较低的,我常在市县两端跑平均下来也就是7.1个油左右,有时候高速堵车走老路回家,来吔就7.8的样子开不开空调驾驶也是差不多的,高速上就不多说了打开全速自适应巡航,悠悠闲闲6个多油就回家了一个星期就花五六十塊喂养她,一点不会给我造成心理压力其次实际的用车体验也很OK的,前排座椅柔软还能加热,坐进去就有中沉浸其中的感觉斑马系統也很让人上瘾,就像随身携带一个智能机器人一样另外倒车这方面也是慢慢的人性化,除开360倒车影像还有倒车车侧预警系统,感觉噺鲜又安全抛开这些,外观也是让我一直很满意的
减震效果一般,尤其是在不平整的路段上整个车的人都会受到影响,一些细小的誶石路过滤也不明显

我要回帖

 

随机推荐