目前服务器是这样的: cpu 太差,是 ATOM 的 cpu ,带宽是 100M 独享,硬盘太小,而且是机械硬盘,内存 4G 。 服务器需要裁剪图像(平均 4M 大小)输出到浏览器端,因为硬盘太小,如果把每个图片都裁剪成各种分辨率存到硬盘的话,硬盘装不下,我目前想到两种方案:
1.客户端浏览器 canvas 裁剪:
输出原始图像到客户端,用 js 配合 canvas 最终生成 base64 图像。
优点:不费硬盘、不费内存
缺点:带宽估计消耗很大,用户等待时间较长,即使一个 100x100 的图像都要等很长,搜索引擎抓取不到这张图像
2.php 动态输出:
php 在客户端进行裁剪,rewrite伪装成静态地址如www。abc。com/images/little-cat-480x800.jpg:
//php 裁剪原始图像得到$content;
header('Content-Type:image/jpeg');
//输出裁剪后的图片内容$content;
这样做的好处:不费硬盘、不费带宽
缺点:费内存和 cpu ,在高并发下不知道表现如何?
项目实际经验太少,求教 V 站高手解疑一下,哪种更好?或者有更好的方案?谢谢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.