V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rety2008
V2EX  ›  问与答

各位谁有图片服务器的解决方案吗?

  •  
  •   rety2008 · 2010-11-18 00:22:05 +08:00 · 8961 次点击
    这是一个创建于 5118 天前的主题,其中的信息可能已经有所发展或是发生改变。
    运维一论坛, 日IP在10W左右,PV100W+

    图片较多.一台百兆独享的独立图片服务器.

    做了防盗链. 但依然带宽跑满. 图片显示速度巨慢

    泪牛满面。。求效率的方法。
    28 条回复    1970-01-01 08:00:00 +08:00
    POPOEVER
        1
    POPOEVER  
       2010-11-18 00:57:15 +08:00
    关签名图片
    keakon
        2
    keakon  
       2010-11-18 01:22:33 +08:00
    其实很多反向代理服务器会缓存静态文件的,其中还有免费的

    不过考虑到你的流量很大,建议去找一个比较好的,和vender谈一下,适当支付一点费用就行了
    austin
        3
    austin  
       2010-11-18 02:13:25 +08:00
    @POPOEVER 同意,从运营上设置只有到某个级别的用户才能用签名图。签名图是很浪费用户注意力和带宽的东西。
    saga
        4
    saga  
       2010-11-18 11:32:46 +08:00
    设置expire header
    增加图片压缩比例
    另外对log进行分析,看看是不是数据正常,比如某几个文件流量特别大,可以放入amazon或者国内的cdn中
    keakon
        5
    keakon  
       2010-11-18 11:47:51 +08:00
    你们没注意楼主的情况么…

    IP 10万,那么必然很多人是新访客,图片本来就不存在浏览器缓存里,是否设置expire header对这部分访客无效。

    图片较多,说明是一个图片为主的论坛。很多人一发图就几十张,加起来甚至超过10MB了。每个人平均访问10页,也可能用掉上百M流量了,这就不是某几个文件流量特别大的问题了。
    Livid
        6
    Livid  
    MOD
       2010-11-18 11:49:49 +08:00
    图片单独用一个域名。

    然后试试这个服务:

    http://www.webluker.com/
    darasion
        7
    darasion  
       2010-11-18 12:03:00 +08:00
    咦?这么大? 是美女图片吗?
    CupTools
        8
    CupTools  
       2010-11-18 13:14:02 +08:00
    去弄个S3,RackSpaceCloud Files,Google Storage,随便一个都用得爽死
    c
        9
    c  
       2010-11-18 13:31:14 +08:00
    @CupTools 100M都跑满了,用上面的任何一种都要花很多钱吧。
    9hills
        10
    9hills  
       2010-11-18 15:08:51 +08:00
    @keakon 嗯,我给个建议

    所有图片不直接显示,只显示缩略图,点击放大---当然放大之后要有幻灯片的效果,这样浏览体验只会更好
    9hills
        11
    9hills  
       2010-11-18 15:09:46 +08:00
    如果是discuz等成熟的论坛,相应的插件应该很多---
    mysuim
        12
    mysuim  
       2010-11-18 15:39:33 +08:00
    最好的解决方案就是那让图片分布在多台服务器呗!
    rety2008
        13
    rety2008  
    OP
       2010-11-18 15:42:18 +08:00
    感谢楼上各位提供的方法.

    现在主要是一个帖子内。可能前10楼都是图片。

    每位新访客打开一个素材帖。就要读取很多图片。

    有没有办法让这些图片根据访客浏览器翻页读取呢?

    翻到哪里就显示该页面的图片, 不要一下子把第一页的图片全部读完。

    类似www.xunlei.com 的封面这样来显示
    Xi
        14
    Xi  
       2010-11-18 15:57:57 +08:00
    @rety2008 那个是jQuery lazy load,discuz应该有插件的,自己搜一搜
    POPOEVER
        15
    POPOEVER  
       2010-11-18 16:14:53 +08:00
    为什么不使用外部图床?另外看看这家 http://www.chinanetcloud.com
    rety2008
        16
    rety2008  
    OP
       2010-11-18 16:31:53 +08:00
    感谢各位解答。

    我先试试看jQuery lazy load。

    效果不明显的话。只能购买外部图床了
    huacnlee
        17
    huacnlee  
       2010-11-18 16:42:17 +08:00
    @Livid webluker.com 怎么没有看到价格说明呢?难道不要钱的?
    Livid
        18
    Livid  
    MOD
       2010-11-18 16:44:54 +08:00
    @huacnlee 他们目前初步希望通过免费来扩大用户群。
    huacnlee
        19
    huacnlee  
       2010-11-18 17:00:25 +08:00
    @Livid 已经给自己的小站的图片加上
    不知效果如何,谁帮我试试图片的打开速度
    http://lanxs.com/topics/81
    Livid
        20
    Livid  
    MOD
       2010-11-18 17:02:34 +08:00
    @huacnlee 你的输出头的 Expires 那里有问题,和 max-age 不一致。

    shinra:~ livid$ curl -I http://img.lanxs.com/photos/images/f45/7c5/45a/49_normal.jpg?1285377356
    HTTP/1.0 200 OK
    Server: nginx/0.7.64
    Date: Thu, 18 Nov 2010 08:58:00 GMT
    Content-Type: image/jpeg
    Content-Length: 711471
    Last-Modified: Sat, 25 Sep 2010 01:15:58 GMT
    Expires: Sun, 15 Nov 2020 08:58:00 GMT
    Cache-Control: max-age=315360000
    Accept-Ranges: bytes
    Age: 236
    Webluker-Edge: HIT via 121865I3H1
    Connection: close
    huacnlee
        21
    huacnlee  
       2010-11-18 17:08:58 +08:00
    @Livid 这个地方我改怎么改呢?
    Livid
        22
    Livid  
    MOD
       2010-11-18 17:10:51 +08:00
    可以改 nginx 的 location /photos 的 expires 设置。
    huacnlee
        23
    huacnlee  
       2010-11-18 17:12:15 +08:00
    @Livid 我现在不清楚的是 CDN 那边个过期时间应该设置多久,必须要和我 Nginx 里面设置的过期时间一致吗?我 Nginx 那边目前设置的 expires:max
    Livid
        24
    Livid  
    MOD
       2010-11-18 17:14:29 +08:00
    @huacnlee Oops 我又看了一眼,原来是 2020 年,那么没问题了。:P
    keakon
        25
    keakon  
       2010-11-18 17:16:59 +08:00
    实际上max-age和Expires只需要设置一个就行了,由于max-age在编程上实现更方便,所以我只用max-age

    唯一会遇到的问题就是Cache-Control是HTTP 1.1新加的字段,不过就连IE 6都用HTTP 1.1,不知道什么浏览器会去用HTTP 1.0
    huacnlee
        26
    huacnlee  
       2010-11-18 17:21:12 +08:00
    @keakon http1.1 是 CDN 那边的信息
    我以前的监测信息

    jason@jason-desktop:~$ curl -I http://img.lanxs.com/photos/images/f45/7c5/45a/49_normal.jpg?1285377356
    HTTP/1.1 200 OK
    Via: 1.1 YTISA01
    Connection: Keep-Alive
    Proxy-Connection: Keep-Alive
    Content-Length: 711471
    Expires: Thu, 31 Dec 2037 23:55:55 GMT
    Date: Thu, 18 Nov 2010 09:04:22 GMT
    Content-Type: image/jpeg
    Server: nginx/0.7.64
    Last-Modified: Sat, 25 Sep 2010 01:15:58 GMT
    Cache-Control: max-age=315360000
    Accept-Ranges: bytes
    darasion
        27
    darasion  
       2010-11-18 17:23:08 +08:00
    这个帖子我收藏了。
    lejoy
        28
    lejoy  
       2011-01-10 18:40:09 +08:00
    @huacnlee 确实是免费的~~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2671 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:58 · PVG 22:58 · LAX 06:58 · JFK 09:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.