Internet Explorer 浏览器在同一时刻只能从同一域名下载两个文件。
百度的图片搜索采用了 t1.baidu.com ~ t8.baidu.com 八个域名来显示图片,消耗在 IE 浏览器端的 Blocked 时间小于0.001秒,非常快。
百度的图片搜索采用了 t1.baidu.com ~ t8.baidu.com 八个域名来显示图片,消耗在 IE 浏览器端的 Blocked 时间小于0.001秒,非常快。
如果上万不是瞬间,查看一下服务器apahe并发连接到底多少
1000个缩略图,1000个请求,但不会用1000个连接把修改
httpd.conf#是否允许稳固的连接(每个连接有多个请求)
KeepAlive On#在稳固连接期间允许的最大请求数,0为无限制
MaxKeepAliveRequests 1000 #在首页打开的这个连接中,最大完成1000个请求
#在同一个连接上从同一台客户上接收请求的秒数
KeepAliveTimeout:10
#接收和发送前超时秒数
Timeout 30##上面两项可以调整一个连接结束时间,结束越早越能把资源给别人用
可以远程连接上去,主要考虑是web服务。可以提高该服务自身连接数/换服务
如果不能远程连接上去,考虑是服务器负载过高,主要分2块:硬盘读写/操作系统连接数
硬盘读写:换高速硬盘/RAID5/优化大量读写硬盘的程序/大量使用内存作为数据缓存
操作系统连接数:和配置/内存大小/文件可以打开数目有关
此外应用层软件设计不合理,会导致cpu占用率过高,也会使机器负载过高
比如,用js按顺序来加载图片,当第一张图片加载完毕,再加载第二张,这样,相对来说,一瞬间只有一个请求,另外配置了KeepAlive,一个连接可以相应多次请求,总体来说apache的负担/服务器的负担,在瞬间要减少
比如
<script>
var imgUrl=[],nowImg=0
imgUrl[0]='http://www.baidu.com/img/baidu.gif';
imgUrl[1]='http://www.google.cn/intl/zh-CN/images/logo_cn.gif';
//…………function createImg(){
var imgObj=document.createElement('img');
if(nowImg<imgUrl.length-1){
imgObj.attachEvent("onload",function(){getImg()});//本张图片加载完毕,创建下一张
imgObj.setAttribute("src",imgUrl[nowImg]);
nowImg++
}
else{
imgObj.setAttribute("src",imgUrl[nowImg]);
}
document.body.appendChild(imgObj);
}
function getImg(){
//每次创建图片延迟2秒。也就是每张图片 加载完后,再延迟2秒创建下一张
//总体让瞬间只有一个请求
setTimeout(function(){createImg()},2000)
}window.attachEvent("onload",function(){getImg()})
</script>
稳定的系统 多少个链接都不会崩溃 只是会排队 呵呵上边有人说了 不会有LZ担心的事出现 呵呵 1000个请求浏览器也受不了啊500个并发 也不会超过1000个链接 APACHE轻松处理还有nginx呢 会处理更高的并发俺一直考虑的是怎么能提高并发数量快速显示图片 而不是1个1个的现实出来 唉 咋整好相反呢
是这样:1000张图片是动态图片,每时每刻都有可能发生变化,动态加载的,所以不可能用css sprites方法;滚动屏幕的时候如果用户点的特别快还是一样的,多用户同时滚动,同时不停的刷新,还是会死
我现在遇到和你差不多的问题,能否发几分钟时间告知一下,我的信箱:[email protected]