- 主题:问两个服务器方面的问题。
【 在 SlutteryWolf (一生懸命|情色·猥琐·变态·双子狼) 的大作中提到: 】
: 1. Varnish和nginx,哪个应该顶到前面?比如以下两种情况:
: (1) User -> Varnish -> nginx
这个比较适合有很多的静态文件的情况 varnish作为缓存 减轻nginx的负载
: (2) User -> nginx -> Varnish
这个比较适合并发连接很高的情况 用nginx来挡连接 同时也算是http层的lb varnish后段还是需要web服务器的
: 2. 如果做了反向代理做应用层负载平衡,比如: User -> nginx -> Jetty
: 那么对于多个http连接,比如10000个User -> nginx连接,可以归并到一个
: nginx -> Jetty的长连接上么?
不能 nginx的proxy模块还是http1.0的 完成请求会马上断开
: 谢。
--
FROM 60.186.203.*
nginx是很强悍 但是如果你有上T的数据 文件系统的性能有限
用varnish还是减轻这方面的负载 同时也可以加速用户访问
【 在 JulyClyde (Be stewed/被炖了) 的大作中提到: 】
: nginx又不怕负载,为啥要减轻?
--
FROM 60.12.227.*
没有 局限于单台服务器上比较2者的性能那不用讨论了
【 在 JulyClyde (Be stewed/被炖了) 的大作中提到: 】
: 这么说你有上T的内存给varnish用了?
: 那我也可以nginx+tmpfs啊
--
FROM 60.12.227.*
事实上我有上T的数据 但是我没上T的内存 于是我只有把这些访问分到
很多机器的varnish上 分配到更多的磁盘上 对于一些热门的数据可以直接
在不同机器的内存中读取 这样的架构方式对于pv上千万的网站还是有必要的
【 在 JulyClyde (Be stewed/被炖了) 的大作中提到: 】
: 你既然也没有上T的数据,那么varnish也不可能把所有需要的数据都缓存在内存里
: 一样也得去文件系统读,一样会受到文件系统和磁盘性能的制约
--
FROM 60.12.227.*
【 在 SlutteryWolf (一生懸命|情色·猥琐·变态·双子狼) 的大作中提到: 】
: 谢谢回答。
: 前两者这个分别我没整明白。。。
: 貌似还是nginx->varnish好?这样nginx至少知道啥是静态数据啥是动态,区分完后再扔给
: varnish,提高缓存命中率?
: nginx怎么挡流量呢?anti-DDOS?
varnish/squid 用于缓存大量静态文件的访问 比如上T的图片访问 非常有效
当然你可以在前端考虑消除数据冗余 增加缓存数据量 并且分离动态静态访问
nginx非常高效 可以用做webserver和cahce 甚至可以store缓存文件到本地文件系统
配置非常的灵活 它对后端的http请求是HTTP/1.0的 请求完成之后会马上断开 它的
高性能可以支持很高的并发连接只消耗很少的资源
--
FROM 60.12.227.*
带不带缓存 你说有没有区别
【 在 JulyClyde (Be stewed/被炖了) 的大作中提到: 】
: 和分到很多机器的nginx上有区别?
--
FROM 60.12.227.*
那你想把webroot文件在所有的机器上放一份 也没什么不可以
【 在 JulyClyde (Be stewed/被炖了) 的大作中提到: 】
: nginx又不是在裸机上运行的!
: 操作系统会管理文件缓存事宜的
--
FROM 60.12.227.*
那东西连sina自己都不用了
【 在 JulyClyde (Be stewed/被炖了) 的大作中提到: 】
: ncache啊
--
FROM 60.12.227.*
呵呵 varnish的设计结构就是这样 能充分利用os的缓存
而且它是专职做cache的事情 比lighttpd+mod_cache至少在
定位上要专业点 至于谁的效率更好测过就知道
【 在 JulyClyde (Be stewed/被炖了) 的大作中提到: 】
: 好吧。我后来想了想,还是你是对的
: varnish天生带二级缓存
--
FROM 60.12.227.*
呵呵 我没有否定lighttpd+mod_cache的性能
只是说测试过才有比较
【 在 JulyClyde (Be stewed/被炖了) 的大作中提到: 】
: 我主要是同意推送几T的数据给镜像服务器太麻烦这个事实
: lighty+modcache在优酷用了那么多,也没觉得多烂啊
--
FROM 60.12.227.*