页面上可能在不同位置,需要不同尺寸的图片比如发表了一篇文章,上传标题图片,生成了一张原图580*700的和一个宿略图100*100的如果我要在首页调用这个图片,尺寸是200*240的,怎么办, 是对580*700的原图限定width为200吗?(加载原图影响性能吧)还是上传图片时,把需要的尺寸图全部上传上去(这样也不太好吧,比如我在首页或其它页面使用的尺寸都不同,岂不是要上传很多的不同尺寸的图片)有没有什么好的解决方案
调试欢乐多
如果用img标签的width height强行缩放 网页会卡.
比较一下100k到10k缩小前后的流量,设定有10个页面用到这张图,每天1万人访问,都看满了这10页,并假设客户端缓存足够一天的浏览量(当天刷新页面不重新传送图片)100k*10*10000*30=300G/月
缩小后自然就除以10,30G/月这只是一张图片只用于10个页面,还没计算页面刷新、更多图片、更多页面调用(别小看“转载”啊)的情况
所以越大的站,越要减少图片字节数,当然是按需要,不能一味只求省流量,也要顾及服务质量至于图片站展示原图那是另一回事,那是从服务质量角度考虑的,而且原图极少在多个页面重复展示
<img src="img.php?src=a.jpg&width=100&height=200"...
<img src="img.php?src=a.jpg&width=200&height=200"...
<img src="img.php?src=a.jpg&width=300&height=200"...我這個a.jpg就是原圖,每次用戶在請求的時候傳遞不同的尺寸到服務器,服務器則會調用img.php動態調整原圖為客戶要求的尺寸,調整完畢之後直接輸出到客戶端,這個動態輸出的圖片並未被直接存儲到服務器上,這種做法的好處是不用存儲多個圖片,也不擔心流量問題,但是他會佔用服務器的cpu處理能力.
请问和直接读文件比 响应速度如何?比直接讀取預存的多個尺寸的圖片速度要慢,原因如下:直接讀取已存檔的圖片只需要消耗網絡帶寬,而我的做法則需要cpu首先調整圖片的尺寸再輸出到客戶端,所以多了一個步驟.至於慢多少就要看服務器的cpu速度了.
请问和直接读文件比 响应速度如何?比直接讀取預存的多個尺寸的圖片速度要慢,原因如下:直接讀取已存檔的圖片只需要消耗網絡帶寬,而我的做法則需要cpu首先調整圖片的尺寸再輸出到客戶端,所以多了一個步驟.至於慢多少就要看服務器的cpu速度了.明白了 不过这个思路不错 之前我没有想到应该会有地方可以用到,不常用的图片之类的
请问和直接读文件比 响应速度如何?比直接讀取預存的多個尺寸的圖片速度要慢,原因如下:直接讀取已存檔的圖片只需要消耗網絡帶寬,而我的做法則需要cpu首先調整圖片的尺寸再輸出到客戶端,所以多了一個步驟.至於慢多少就要看服務器的cpu速度了.明白了 不过这个思路不错 之前我没有想到应该会有地方可以用到,不常用的图片之类的這種做法的好處是只需要在服務器上存儲一張原圖即可,不需要考慮多圖問題,缺點是會有額外的cpu開銷
请问和直接读文件比 响应速度如何?比直接讀取預存的多個尺寸的圖片速度要慢,原因如下:直接讀取已存檔的圖片只需要消耗網絡帶寬,而我的做法則需要cpu首先調整圖片的尺寸再輸出到客戶端,所以多了一個步驟.至於慢多少就要看服務器的cpu速度了.明白了 不过这个思路不错 之前我没有想到应该会有地方可以用到,不常用的图片之类的我也想过这种做法,比如在循环输出文章列表时,每输出一篇文章都要调用img.php输出缩略图
如果网站访问量大,这样网站可能变得很慢
像#1的做法,每当有上传图片就执行转换,保存几种固定尺寸的图片—— 一劳
然后在不同页面调用适合的尺寸,虽然不一定就完全和页面要求一致,但用html轻微改变width/heigh影响不大—— 永逸更大的站还要cdn缓存呢