建议无忌上图不限大小不限数量,同时让网友决定图片的生命周期……
111 13
[1 楼] mohanwei [注销用户]
15-10-9 17:25
用户已注销,历史内容不予显示
[14 楼] 京西游击将军 [资深泡菜]
15-10-10 18:13
mohanwei 发表于 2015-10-10 17:19
有影响也是好的影响。假设现在论坛有一千万张图片,引入投票淘汰机制后,能剩下三四万张都算厉害了。然后留五十万张的缓冲池,不停有新图片加进去,不停有旧图片被淘汰
硬盘肯定不是问题,一张图片平均算10MB吧,一千万张也不过:10000000*10/1024/1024=95TB,对一个网站来说根本不算啥。
对论坛来说也不会影响网速:
你可以认为论坛和图片服务器是两个不同的网站,图片服务器只是扮演一个图床的角色,只不过每个ID都可以同时登录这两个网站而已,需要上图时,自己先把图片上传到图片服务器(图床),然后在论坛这边引用一下超链接而已,跟目前的外链一样。你看现在外链的超大图片打开速度往往比论坛内部的256KB还快不少

我指的并不是磁盘不够用问题,而是磁盘输入输出效率与网络吞吐效率。头次用手机在无忌上发言。
[13 楼] 京西游击将军 [资深泡菜]
15-10-10 17:46
mohanwei 发表于 2015-10-10 17:19
有影响也是好的影响。假设现在论坛有一千万张图片,引入投票淘汰机制后,能剩下三四万张都算厉害了。然后留五十万张的缓冲池,不停有新图片加进去,不停有旧图片被淘汰
硬盘肯定不是问题,一张图片平均算10MB吧,一千万张也不过:10000000*10/1024/1024=95TB,对一个网站来说根本不算啥。
对论坛来说也不会影响网速:
你可以认为论坛和图片服务器是两个不同的网站,图片服务器只是扮演一个图床的角色,只不过每个ID都可以同时登录这两个网站而已,需要上图时,自己先把图片上传到图片服务器(图床),然后在论坛这边引用一下超链接而已,跟目前的外链一样。你看现在外链的超大图片打开速度往往比论坛内部的256KB还快不少

理想化的资本,这些不是问题。但现实九成半是相差甚远。没猜错的话,无忌很多是PHP+MySQL。这对于运营来讲没错。但对于高性能没什么优势。无忌的并发量我觉得比那些图床网站高,如果再当个图床,需要加大很多资源,吃不消。
[12 楼] mohanwei [注销用户]
15-10-10 17:24
用户已注销,历史内容不予显示
[11 楼] mohanwei [注销用户]
15-10-10 17:19
用户已注销,历史内容不予显示
[10 楼] 京西游击将军 [资深泡菜]
15-10-10 16:58
mohanwei 发表于 2015-10-10 16:46
图片、附件等二进制数据一般都是用单独的服务器存储的。
在RAM里的只是关系表。
例如一张图片,可以在主服务器里存储它的路径和关系:
typedef struct
{
char 图片路径名[_MaxPathName];//完整的图片路径名或者超链接
int 查看次数;
int 正分数;
int 负分数;
int 当前生命;
}PictureStruct;
PictureStruct pic[一千万];
主服务器平时都只在RAM里操作pic这个表,只有在删除图片时才会发个消息给图片服务器:把这个图片删掉吧


如果要说提高效率,那么在这种巨量数据(无忌图片不少吧,按照巨量考虑吧),可能非关系型数据库更适合。但是无论怎么存取,都离不开磁盘的I/O和网络的I/O,因为照片肯定要走网络,终归也要落到磁盘上,这样巨量大MB图片必然造成I/O瓶颈,如果无忌大量采用SSD,可以提升很大性能,那个成本老西是没法接受的。SSD的生命期也是问题。

内存上来讲,如果做成缓存,那么需要大量内存,不知道无忌现在的内存还有多少空余。即便是内存,你的守护线程(进程也可)是少不了的。无忌的CPU还够用吗?这需要测试后,才比较好推断。不过我感觉这种处理对于无忌的压力不小。

以上还是没有考虑开发难度,只提到运行时的效率问题。
[9 楼] mohanwei [注销用户]
15-10-10 16:46
用户已注销,历史内容不予显示
[8 楼] 京西游击将军 [资深泡菜]
15-10-10 16:35
mohanwei 发表于 2015-10-10 16:34
这个就太扯了……
基本所有网站都是基于关系数据库的,表单会加载在RAM里,一切关系操作都是在RAM里处理的,大部分时候并不需要去读取硬盘。在RAM里处理100万张图片的关系,1秒钟都不用。附件、图片是有专门的服务器分担的


你图片也存在数据库里吗?可以,但是效率很低。更不可能把图片缓存在RAM里。 本帖最后由 京西游击将军 于 2015-10-10 16:36 编辑

[7 楼] mohanwei [注销用户]
15-10-10 16:34
用户已注销,历史内容不予显示
[6 楼] 京西游击将军 [资深泡菜]
15-10-10 16:26
mohanwei 发表于 2015-10-10 15:48
你可以留意一下版面的帖子列表,每个帖子右侧已经有了浏览次数、回帖数量统计,到了里面还有评分、收藏统计。所以新增的这些功能并不需要改动整体架构


注意不是只记录一个计数就可以的。需要有守护程序,不断去轮询每一张图片的情况,如果有达标的还要进行删除操作。再加上对图片不加限制或者扩大限制,这都是很挤压服务器端性能的(磁盘I/O、网络I/O、CPU性能)。
[5 楼] mohanwei [注销用户]
15-10-10 15:48
用户已注销,历史内容不予显示
[4 楼] mohanwei [注销用户]
15-10-10 15:46
用户已注销,历史内容不予显示
[3 楼] 京西游击将军 [资深泡菜]
15-10-10 08:29
不限制大小,让服务器自行决断,你知道这种扫描要添加修改多少代码,给服务器造成多大压力吗?你看现在无忌对于资深等称号的自动变更都做不到,做这种统计更是遥远了。现在的照片都越来越大,大伙都把十几甚至几十上百兆的图片往上发,无忌的服务器网络带宽也得挤爆了。话说无忌真该从页面前台加一些文件大小判断控制。
[2 楼] 172654 [禁言中]
15-10-9 18:11

本帖由 iPhone7,2 客户端发布