当前位置:编程学习 > C#/ASP.NET >>

突然发现Asp.net的控件真的不敢用啊............

加入一个页面的控件占有200kb,那10万个用户同时打开一个页面。岂不是要求内存要有20000MB?

实际内存哪有那么大。。。。。。。。。。。。。。。。。。。 --------------------编程问答-------------------- 你不知道有缓存这玩意吗? --------------------编程问答-------------------- 楼主在发表啥感叹呢。不用担心那么多,人家都用这么多年了。 --------------------编程问答-------------------- --------------------编程问答-------------------- 我砸说呢,怪不得电信的网络这么卡!!! --------------------编程问答-------------------- 楼主你的担心太过多余 --------------------编程问答-------------------- 新马甲? --------------------编程问答-------------------- --------------------编程问答-------------------- 不懂不要装懂,否则只会显示你的无知...

ps:你知道并发请求10万个uri的网站是什么级别的吗?早就去沙漠建自己的IDC了,怎么可能在乎区区20G内存... --------------------编程问答-------------------- 楼主的理解错误啊。每个用户向服务器请求一次,会实例化一个页面,也就是说会new一个页面类的实例,为其分配内存空间。但当把该页面的内容发向客户端后,asp.net便马上便销毁这个实例,回收占用的内存(垃圾回收器可能会稍晚些回收不会马上回收)。所以你的担忧是多余的。 --------------------编程问答-------------------- 不用担心! --------------------编程问答-------------------- 至于完全的并发100000个,一台服务器肯定不行的。windows可供分配的端口才65536个,实际可用的也没这么多,肯定要多台服务器才行。 --------------------编程问答--------------------
引用 1 楼 zzq495791432 的回复:
你不知道有缓存这玩意吗?


知道阿,假如页面没有缓存的话呢。 --------------------编程问答--------------------
引用 9 楼 dalmeeme 的回复:
楼主的理解错误啊。每个用户向服务器请求一次,会实例化一个页面,也就是说会new一个页面类的实例,为其分配内存空间。但当把该页面的内容发向客户端后,asp.net便马上便销毁这个实例,回收占用的内存(垃圾回收器可能会稍晚些回收不会马上回收)。所以你的担忧是多余的。


10万个用户同时访问呢! --------------------编程问答--------------------
引用 8 楼 vrhero 的回复:
不懂不要装懂,否则只会显示你的无知...

ps:你知道并发请求10万个uri的网站是什么级别的吗?早就去沙漠建自己的IDC了,怎么可能在乎区区20G内存...


好吧,那并发一万请求总可以吧?  --------------------编程问答-------------------- 你假如那么多,那我们都不用做网站了,我们做出来的东西当然要防止各类情况,既然你什么都不想考虑到,那你也可以不用做网站了,可见楼主是个相当钻牛角尖的人! --------------------编程问答-------------------- 刚还算错了,并发请求10万个uri通常需要并发请求数过亿...这个星球上还没那么牛B的网站...

10万并发请求1个uri比并发请求10万个uri差了好几个数量级呢...几千上万倍的差别... --------------------编程问答--------------------
引用 16 楼 vrhero 的回复:
刚还算错了,并发请求10万个uri通常需要并发请求数过亿...这个星球上还没那么牛B的网站...

10万并发请求1个uri比并发请求10万个uri差了好几个数量级呢...几千上万倍的差别...


10万个并发请求对于一个门户网站来说,我觉得是经常遇到的,而且同时跟你所说的,10万个URL请求往往并发请求数过以亿(你的意思是不说一个页面中引用引用图片等资源?),那asp.net控件能负担得了吗?

我觉得1万IP都难以负担阿 --------------------编程问答-------------------- 自己没能好怪人家控件呢.
楼猪不厚道. --------------------编程问答--------------------
引用 18 楼 flyerwing 的回复:
自己没能好怪人家控件呢.
楼猪不厚道.


那你说说杂弄吧 --------------------编程问答-------------------- 哪个网站并发量有10万,在你短短的人生当中应该考虑一些积极的事情 --------------------编程问答--------------------
引用 20 楼 keyouea 的回复:
哪个网站并发量有10万,在你短短的人生当中应该考虑一些积极的事情


对于门户网站,很正常的吧,比如百度贴吧,同时估计上百万人在线是很正常的。 --------------------编程问答-------------------- 10万并发请求1个uri比并发请求10万个uri差了好几个数量级呢

看不懂吗?看不懂就先去弄弄清楚uri是啥意思...另外,动态网站即使不同uri也可能是大部分相同的内容,这大部分都只有一个copy...

还有...10万并发不是几台服务器能撑得住的,还远远没到考虑内存的时候... --------------------编程问答--------------------
引用 20 楼 keyouea 的回复:
哪个网站并发量有10万,在你短短的人生当中应该考虑一些积极的事情

并发量10W还是比较大的了.
--------------------编程问答--------------------
引用 14 楼 justblank 的回复:
好吧,那并发一万请求总可以吧?

如果访问量这么大还不用缓存,那你不用服务器控件又能好多少呢?

===================================================
ASP.NET WebForm和ASP.NET MVC分页最终解决之道 --------------------编程问答--------------------
引用 24 楼 webdiyer 的回复:
引用 14 楼 justblank 的回复:
好吧,那并发一万请求总可以吧?

如果访问量这么大还不用缓存,那你不用服务器控件又能好多少呢?

===================================================
ASP.NET WebForm和ASP.NET MVC分页最终解决之道


那你说百度贴吧他们是怎么解决的。 --------------------编程问答--------------------
引用 24 楼 webdiyer 的回复:
引用 14 楼 justblank 的回复:
好吧,那并发一万请求总可以吧?

如果访问量这么大还不用缓存,那你不用服务器控件又能好多少呢?

===================================================
ASP.NET WebForm和ASP.NET MVC分页最终解决之道


对于数据经常变化的项目,比如贴吧,经常回帖,用控件有用吗 --------------------编程问答-------------------- 先去了解下百度这种规模网站需要部署多少台服务器,这种商业网站不可能单机部署的 --------------------编程问答-------------------- 想太多了 --------------------编程问答-------------------- 好多公司不让用服务器控件,是不是因为这个原因。 --------------------编程问答-------------------- 加入一个页面的控件占有200kb 

????

这个和内存有神马关系??????

如果说lz的意思是输出流多了200kb,那是输出流和内存没啥关系

按楼主的理解方式,那楼主就不要用web去做新闻站了,因为任何一个有内容新闻的其输出流都大于200kb,lz也不要用图片做背景了,因为一个稍微清晰点的图片大约也在150kb左右,按楼主滴理解输出流都是占内存地,所以新闻就别加了,图片就别用了。一用内存就垮了 --------------------编程问答--------------------
引用 30 楼 wanghui0380 的回复:
加入一个页面的控件占有200kb 

????

这个和内存有神马关系??????

如果说lz的意思是输出流多了200kb,那是输出流和内存没啥关系

按楼主的理解方式,那楼主就不要用web去做新闻站了,因为任何一个有内容新闻的其输出流都大于200kb,lz也不要用图片做背景了,因为一个稍微清晰点的图片大约也在150kb左右,按楼主滴理解输出流都是占内存地,所以新闻就别加了,图……


控件是直接运行在内存中的,你的那个流是运行在内存中的吗 --------------------编程问答--------------------
引用 21 楼 justblank 的回复:
引用 20 楼 keyouea 的回复:

哪个网站并发量有10万,在你短短的人生当中应该考虑一些积极的事情


对于门户网站,很正常的吧,比如百度贴吧,同时估计上百万人在线是很正常的。

上百万人在线 和 并发十万,完全不是一个级别, 后者压力大的多。 --------------------编程问答--------------------
引用 32 楼 javaniejian 的回复:
引用 21 楼 justblank 的回复:

引用 20 楼 keyouea 的回复:

哪个网站并发量有10万,在你短短的人生当中应该考虑一些积极的事情


对于门户网站,很正常的吧,比如百度贴吧,同时估计上百万人在线是很正常的。

上百万人在线 和 并发十万,完全不是一个级别, 后者压力大的多。


上百万人在线,10百个人同时有10个人刷新页面,这部过分吧。 --------------------编程问答--------------------
引用 32 楼 javaniejian 的回复:
引用 21 楼 justblank 的回复:

引用 20 楼 keyouea 的回复:

哪个网站并发量有10万,在你短短的人生当中应该考虑一些积极的事情


对于门户网站,很正常的吧,比如百度贴吧,同时估计上百万人在线是很正常的。

上百万人在线 和 并发十万,完全不是一个级别, 后者压力大的多。

并且大型网站肯定是服务器集群, 成千上万台服务器主机连在一起运行的。 --------------------编程问答-------------------- 其实主要就是快速开发  别的没什么

肯定手写是好的

但是它图的就是简单和快速 --------------------编程问答-------------------- 對於IDC這些算什麽 --------------------编程问答--------------------
引用 35 楼 fengyarongaa 的回复:
其实主要就是快速开发  别的没什么

肯定手写是好的

但是它图的就是简单和快速


手写的真的好? --------------------编程问答--------------------
引用 31 楼 justblank 的回复:
控件是直接运行在内存中的,你的那个流是运行在内存中的吗


我已经笑喷了!iis不去读取并输出图片,你认为你看到图片吗??

控件在内存运行是没错地。但是现在有一个空的控件,我啥也没实现,我就只Response.write了100w kb的数据,按楼主的思维方式,lz会说我这个控件在内存里占了100w kb。 --------------------编程问答--------------------
引用 38 楼 wanghui0380 的回复:
引用 31 楼 justblank 的回复:

控件是直接运行在内存中的,你的那个流是运行在内存中的吗


我已经笑喷了!iis不去读取并输出图片,你认为你看到图片吗??

控件在内存运行是没错地。但是现在有一个空的控件,我啥也没实现,我就只Response.write了100w kb的数据,按楼主的思维方式,lz会说我这个控件在内存里占了100w kb。


输出图片流,就一定要通过内存吗? --------------------编程问答-------------------- 你能确定输出图片,就一定要通过内存吗?? --------------------编程问答-------------------- lz完全就没分清楚啥是内存,啥是输出流

While(i<1000000000000000000000000000000000000000000000000)
{
  response.write("a");
  i++;
}

请楼主告诉我的输出流有多少,我又占用了多少内存?? --------------------编程问答--------------------
引用 41 楼 wanghui0380 的回复:
lz完全就没分清楚啥是内存,啥是输出流

While(i<1000000000000000000000000000000000000000000000000)
{
  response.write("a");
  i++;
}

请楼主告诉我的输出流有多少,我又占用了多少内存??



首先你能明确回答我在39楼和40楼的问题吗?
其次,你用asp.net trance属性,可以清楚的看到每个控件所占用的内存大小. 我所指的大小就是这个大小,也是件类本身的大小。

至于你问的问题,我不知道啊,我不是在问你吗,你好像非常了解,那你就先回答我吧。 --------------------编程问答-------------------- 楼主毫无基础,缺乏常识,你就别继续搞笑下去了...去补补基础吧...

这么说吧...富春山居图一场有2000人参观,难道需要2000张富春山居图吗? --------------------编程问答--------------------
引用 43 楼 vrhero 的回复:
楼主毫无基础,缺乏常识,你就别继续搞笑下去了...去补补基础吧...

这么说吧...富春山居图一场有2000人参观,难道需要2000张富春山居图吗?


我不觉得有什么搞笑之处,你了解,你来给我这个菜鸟讲解下吧。 --------------------编程问答-------------------- 话说我也比较担心这个问题…… --------------------编程问答--------------------
引用 43 楼 vrhero 的回复:
楼主毫无基础,缺乏常识,你就别继续搞笑下去了...去补补基础吧...

这么说吧...富春山居图一场有2000人参观,难道需要2000张富春山居图吗?


你能不能明确告诉我,

1:IIS输出硬盘的一个图片需不需要通过内存?
2:response.write("a");输出这个"a"到底占用不占用过内存,通不通过内存? --------------------编程问答--------------------
引用 42 楼 justblank 的回复:
首先你能明确回答我在39楼和40楼的问题……


唉蛋疼的问题。请问没有IIS这类web服务器软件,你能看到图片吗??

ok,那么iis这类服务器软件起的作用,就是明白无误地,他读取并输出了图片。ok,请lz写一个不占内存,能够读取并输出图片的代码给我看看 --------------------编程问答--------------------
引用 47 楼 wanghui0380 的回复:
引用 42 楼 justblank 的回复:

首先你能明确回答我在39楼和40楼的问题……


唉蛋疼的问题。请问没有IIS这类web服务器软件,你能看到图片吗??

ok,那么iis这类服务器软件起的作用,就是明白无误地,他读取并输出了图片。ok,请lz写一个不占内存,能够读取并输出图片的代码给我看看


你明确回答可以吗,不要总是用反问句,不要总是一副很牛比蛋疼的样子。
你真的清楚IIS中间的原理吗,你来讲解下IIS输出图片的工作原理和流程是怎么样的吧,难道IIS输出一张图片就必须先读到内存中再输出吗? --------------------编程问答-------------------- 是啊,不经过内存就可以读取到图片啊。

貌似这样,任何东西都可以不经过内存,我想问一句lz你干嘛买内存来着。

直接cpu,主板,硬盘就成了 --------------------编程问答--------------------
引用 49 楼 wanghui0380 的回复:
是啊,不经过内存就可以读取到图片啊。

貌似这样,任何东西都可以不经过内存,我想问一句lz你干嘛买内存来着。

直接cpu,主板,硬盘就成了


不要总是举例子。
你真的清楚IIS中间的原理吗,你来讲解下IIS输出图片的工作原理和流程是怎么样的吧 --------------------编程问答-------------------- 计算环境本身就很复杂,影响因素很多,
比如说就算10万个并发,你的处理器能同时处理完吗,处理不过来的请求都被挂起了。
同时,楼上有人说了,32位计算机一个端口理论连接数是65556个吧,实际远远并没有这么多,同时还有iis等服务允许最大访问量等等;如果真有这么问题存在,肯定有数据库访问吧,10万并发访问数据库,还不暴掉。
所以影响性能需要整体考虑,并不是用不用控件就能解决的问题。
并发量上10万,1秒中有10万个请求,这个数量级相当客观。这时候你的老板就可以高薪聘请很多牛人专门解决性能问题,哪怕是网站重构。 --------------------编程问答-------------------- 直接下载硬盘资源是不经过处理器的,这个不需要计算,但是占用总线,所以有时候拷很大的东西,cpu不跑,但是机器还是卡. --------------------编程问答--------------------
引用 52 楼 keyouea 的回复:
直接下载硬盘资源是不经过处理器的,这个不需要计算,但是占用总线,所以有时候拷很大的东西,cpu不跑,但是机器还是卡.


你这个说法比较靠普。 --------------------编程问答-------------------- 并发出现的概率应该没有那么大,试想10万人同时点击Search,或者说10万个请求同时到达服务器,这种网站不多见,有的话也只是一定时段高峰期会出现,一般都会有冗余的服务器来处理。 --------------------编程问答-------------------- 楼主有点极端,但回复的大虾却又走向另一个极端.

asp.net的页面生命周期中,页面类处理控件并转换为html字符流并回发给IIS,这是需要消耗较多的服务器资源的(相对于直接读取HTML文件或者较少使用.net控件的aspx页面而言)。服务器资源,最主要的当然是CPU时间及内存的占用。此外,使用asp.net控件时,如果开启VIEWSTATE,这要额外占用一定的内存资源。

对于一道数学几何题来说,
一个学生成绩很差的同学,如果事先已知道解题方法
一个成绩很好的同学,但从未接触过这道题
你们说谁会先“解答”出这道题呢?

尽管使用较多的asp.net控件相对于较少使用asp.net控件的页面来说,会消耗更多的CPU及内存资源。
但并不像楼主所言的瞬间需要“ 并发访问量*每个页面占用内存量”这么多的内存。

因为IIS设置中,能并发处理的线程数是有上限的,而且可以人为修改的。
譬如说并发访问量是1万,实际上服务器同时处理的访问只有100或几百。其它的都在排队。
因为每个请求处理时间很短,在服务器能接受的负荷范围内,尽管存在“排队”机制,但用户是很难感受到这种延迟的,当排队外额已满时,服务器会停止接收新的请求,这时会出现“Service Unable”或"server busy"的提示,相信大家都遇到过。处理每个线程时,会占用一定的内存,当这个页面或请求处理完毕时,会立即或在较短时间内释放。

IIS及ASP.net设有资源回收机制。当占用内存或CPU超过预设置达到一定时间时,服务器会回收相应的资源。情况严重时,IIS会重启。


那么,asp.net控件要不要使用呢? 
既然处理asp.net控件要额外消耗一定的资源,对于大型网站来说,他们会尽量要求少用或不用.net控件。
就以这个 CSDN论坛来说,它就是一个asp.net应用程序。你们右键/源程序 看看有"viewstate"的踪迹吗?

 

--------------------编程问答-------------------- 继续顶! --------------------编程问答-------------------- 楼主,担心的有点过 --------------------编程问答--------------------  如果并发可以用加大内存来解决,那就轻松太多了!别说20000MB,就是2000000MB,也配得起.
但... --------------------编程问答-------------------- 楼主应该先去了解一下IDC,然后再来考虑这个问题。
实际上,现在为了分担服务器负载,大型的网站,都会同时分布多个并行系统,根据请求的IP等对访问目标进行引导。而根本不会存在上万访问全部挤入同一服务器的情况。

另外,DDOS攻击,其实就是一种拒绝服务攻击,原理相当于无数个垃圾请求造成服务器和网络链路的拥挤,你所说的上万访问全部挤入同一服务器,也差不多可以达到这个效果了吧。。。 --------------------编程问答--------------------
引用 55 楼 newdigitime 的回复:
那么,asp.net控件要不要使用呢?  
既然处理asp.net控件要额外消耗一定的资源,对于大型网站来说,他们会尽量要求少用或不用.net控件。
就以这个 CSDN论坛来说,它就是一个asp.net应用程序。你们右键/源程序 看看有"viewstate"的踪迹吗?


CSDN页面进行了静态化,对于静态化页面,自然是没必要用viewstate

但是:
在回复框上面(这是个内嵌在iframe里的一个动态aspx页面)或者是点开一个发帖页面(同样是aspx)
点右键看看
都是正宗的viewstate。 --------------------编程问答-------------------- 哥哥见地深 --------------------编程问答-------------------- 看笑话。。。 --------------------编程问答-------------------- 并发量10W的网站?楼主牛B, --------------------编程问答-------------------- 并发数不等于在线人数,即使10万人同时点击这个空间,也只能一批一批来吧,结果是延迟而不是内存不足 --------------------编程问答-------------------- 路过,除了学习日月明之的回复以外,还又学到了一些别的东西。

如果有一天我能成为大侠,我一定不骂人或者不损人。
这就是为什么有的人只能装B,而有的人能牛B,你每天都损向你请教的人,终有一天也会有人不愿意把自己的知识教给你的。 --------------------编程问答--------------------
55楼的大牛。。。我又在你这学到了一些新知识。。。谢谢 另外我要先去看看所谓的asp.net的生命周期这个玩意。。。。大家继续讨论。。喜欢看这种欢乐的帖子 --------------------编程问答--------------------
引用 6 楼 karascanvas 的回复:
新马甲?


有同感! --------------------编程问答-------------------- --------------------编程问答-------------------- 如果认为“打开一个页面的时候,asp.net就有一个页面对象一直在服务器的内存里陪着用户,直到用户关闭浏览器”,这确实是不知道asp.net页面对象生命周期概念的。 --------------------编程问答-------------------- 实际上,任何服务器都不能这样。别说web服务器,就算是简单的tcp服务器,有些人说“当有一个用户一直连接着服务器的时候,服务器就要有一个线程循环着专门用于Receive”,这也是很令人担忧的一种对原理的误解。当有1000个客户端同时打开并且不断访问tcp的(同一端口)的服务时,服务器也往往只需要二三十个线程就足够处理所有请求了。 --------------------编程问答-------------------- 不断访问tcp的  -->  像csdn这样群聊而不断访问tcp的 --------------------编程问答-------------------- 10万个并发请求。。。。。

这是多少NB到如雷贯耳的网站依然拥有的梦想哇。。。。。 --------------------编程问答--------------------
引用 69 楼 sp1234 的回复:
如果认为“打开一个页面的时候,asp.net就有一个页面对象一直在服务器的内存里陪着用户,直到用户关闭浏览器”,这确实是不知道asp.net页面对象生命周期概念的。


我当然没有这么以为,页面其实只要一输出完成,过了PageRender时间然后Dipose事件之后,页面对象就销毁了,。这点其实基本概念。 --------------------编程问答-------------------- 呵呵,很多看客不明就里,瞎起哄。

lz的基本立论就是错误滴,剩下的你还解释啥呢??

lz说他的结论来自于trace,请问trace跟踪出来的到底是啥。

trace的标题头写的很清楚“呈现大小字节数(包括子级) ViewState 大小字节数(不包括子级) ”,请问这是输出流还是内存流。

这个基本东西不让他明白了,你说啥多并发不多并发,iis性能监控和释放,都是白说滴。 --------------------编程问答-------------------- 听大牛么高见了~~ --------------------编程问答--------------------
引用 74 楼 wanghui0380 的回复:
呵呵,很多看客不明就里,瞎起哄。

lz的基本立论就是错误滴,剩下的你还解释啥呢??

lz说他的结论来自于trace,请问trace跟踪出来的到底是啥。

trace的标题头写的很清楚“呈现大小字节数(包括子级) ViewState 大小字节数(不包括子级) ”,请问这是输出流还是内存流。

这个基本东西不让他明白了,你说啥多并发不多并发,iis性能监控和释放,都是白说滴。



你明白你说啊。你首先连我问的一个基本问题都不敢明确,你在这乱刻薄人,有意思吗?
另外你没发现你现在说的和上面说的都有点矛盾了?
既然你上面认为输入Response.Write("a"),这个"a"也是占用内存的,
那么 “呈现大小字节数(包括子级)”为什么不占用内存?
所以,你又何苦去问“请问这是输出流还是内存流。”
所以,用何苦去说“这个基本东西不让他明白了,”,你难道什么都明白? --------------------编程问答-------------------- 你似乎也刚搞明白输出图片是不需要占用内存的,只是大家讨论互相提高,别一副自大的样子刻薄人行吗? --------------------编程问答-------------------- good good study, day day up --------------------编程问答-------------------- 如果lz自己做过控件,你就应该明白

一个控件在内存的消耗实际上并不大,至于你用trace跟踪出来滴那是输出流,并不是内存消耗

而就像我上面说地

控件输出流主要在 控件  Render(HtmlTextWriter writer)方法里实现,也就是控件的内存是内存,输出是输出,别混一块

ps:如果lz真的很想看内存占用,那么别用trace,你应该去下一个.NET Memory Profiler 去看内存占用 --------------------编程问答--------------------
引用 73 楼 justblank 的回复:
我当然没有这么以为,页面其实只要一输出完成,过了PageRender时间然后Dipose事件之后,页面对象就销毁了,。这点其实基本概念。
那么我怎么理解你说的“10万个用户同时打开一个页面。岂不是要求内存要有20000MB”这句话呢?你说的“同时打开.....内存要有2000MB”,难道是指10万个用户中有99990个用户的所谓页面对象已经销毁的情况? --------------------编程问答-------------------- 看到好多大牛 继续围观 吸取营养 --------------------编程问答--------------------
引用 39 楼 justblank 的回复:
引用 38 楼 wanghui0380 的回复:

引用 31 楼 justblank 的回复:

控件是直接运行在内存中的,你的那个流是运行在内存中的吗


我已经笑喷了!iis不去读取并输出图片,你认为你看到图片吗??

控件在内存运行是没错地。但是现在有一个空的控件,我啥也没实现,我就只Response.write了100w kb的数据,按楼主的思维方式,lz会说我这个控……


不通过内存。你通过什么。顶多边输出边释放 --------------------编程问答--------------------
引用 80 楼 sp1234 的回复:
引用 73 楼 justblank 的回复:
我当然没有这么以为,页面其实只要一输出完成,过了PageRender时间然后Dipose事件之后,页面对象就销毁了,。这点其实基本概念。那么我怎么理解你说的“10万个用户同时打开一个页面。岂不是要求内存要有20000MB”这句话呢?你说的“同时打开.....内存要有2000MB”,难道是指10万个用户中有99990个用户的所谓页面对象已经销毁的情况……


大哥,同时访问!同时访问这一个页面,同时产生这个页面对象,这种情况可能不能?假如可能的话。 --------------------编程问答-------------------- 有日子木有看到这景了~~~~~~~

--------------------编程问答-------------------- 很极限的假设没有意义。。。
--------------------编程问答-------------------- 帮你顶上去。并且继续吸收知识。。我估计iis能处理这种东西吧。就像上面某位大牛说的。请求排队
进去一个释放一个内存。。一直排队 排到iis认为快要到内存极限了。然后就告诉后面的人别排队了。

但是楼主又说10W并发。。这种可能性就好比我在全国各地买不同数字的彩票然后所有奖项都是的一样。几乎是不存在的。就算10W并发了 到服务器上的延迟毫秒数就可以让他们排队了。在假如了 毫秒都一样(这种可能性、、、、)那么只有iis自动保护重启或者服务器崩溃掉。

--------------------编程问答--------------------
引用 86 楼 id270 的回复:
帮你顶上去。并且继续吸收知识。。我估计iis能处理这种东西吧。就像上面某位大牛说的。请求排队
进去一个释放一个内存。。一直排队 排到iis认为快要到内存极限了。然后就告诉后面的人别排队了。

但是楼主又说10W并发。。这种可能性就好比我在全国各地买不同数字的彩票然后所有奖项都是的一样。几乎是不存在的。就算10W并发了 到服务器上的延迟毫秒数就可以让他们排队了。在假如了 毫秒都一样(这种可能……


10万个IP同时请求一个页面不是什么新鲜事,我认为。像门户,百度贴吧那样的。。。。很正常, --------------------编程问答--------------------
引用 87 楼 justblank 的回复:
引用 86 楼 id270 的回复:

帮你顶上去。并且继续吸收知识。。我估计iis能处理这种东西吧。就像上面某位大牛说的。请求排队
进去一个释放一个内存。。一直排队 排到iis认为快要到内存极限了。然后就告诉后面的人别排队了。

但是楼主又说10W并发。。这种可能性就好比我在全国各地买不同数字的彩票然后所有奖项都是的一样。几乎是不存在的。就算10W并发了 到服务器上的延迟毫秒数就可以让……

但是都已经做到门户网站没什么必要  抠门到用一个 2G内存的服务器吧?
按照上面各位大侠的说法 应该是什么服务器组还是什么来的ID什么什么的内个解决吧? --------------------编程问答--------------------  up  up  学习··· --------------------编程问答--------------------
引用 83 楼 justblank 的回复:
引用 80 楼 sp1234 的回复:

引用 73 楼 justblank 的回复:
我当然没有这么以为,页面其实只要一输出完成,过了PageRender时间然后Dipose事件之后,页面对象就销毁了,。这点其实基本概念。那么我怎么理解你说的“10万个用户同时打开一个页面。岂不是要求内存要有20000MB”这句话呢?你说的“同时打开.....内存要有2000MB”,难道是指10万个用户中有……

人家都说了:
一个控件在内存的消耗实际上并不大,至于你用trace跟踪出来滴那是输出流,并不是内存消耗

而就像我上面说地

控件输出流主要在 控件 Render(HtmlTextWriter writer)方法里实现,也就是控件的内存是内存,输出是输出,别混一块
--------------------编程问答--------------------
引用 87 楼 justblank 的回复:
引用 86 楼 id270 的回复:

帮你顶上去。并且继续吸收知识。。我估计iis能处理这种东西吧。就像上面某位大牛说的。请求排队
进去一个释放一个内存。。一直排队 排到iis认为快要到内存极限了。然后就告诉后面的人别排队了。

但是楼主又说10W并发。。这种可能性就好比我在全国各地买不同数字的彩票然后所有奖项都是的一样。几乎是不存在的。就算10W并发了 到服务器上的延迟毫秒数就可以让……

一般门户的静态化都做得很好了,当然一般门户的动态页面,他们也有足够的服务器资源处理,通过负载均衡,云,等等N台服务器处理,你不用的好好的吗? --------------------编程问答-------------------- 网站的通信是用的http协议。而http基础还是用的tcp协议。
发起并发连接, tcp并发连接, 国内有同仁写的。一秒内可以发起最多2万多连接。
至于同一秒内通信会比这要少很多。现在做的一个服务器的项目。用的是国外的一个开源tcp框架。
间隔50毫秒发一次200字节左右的数据。大概可以开到300多个。
对于楼主在服务器端写的代码都会转为对于浏览器可以解析并运的代码文字办理出到客户端。
对于服务器的静态页面就象楼主所知道的。象图片一样也不需要占内存的。

对于解决10万并发。就相于解决59楼给的ddos攻击。2008奥运时,中美之间出现了太多的ddos攻击。你可搜一下解决方案。
我理解的:tcp通讯分为7层。我们实现应用的都是最上层。在其他层就可以把一些连接或流量分担了。
但10万并发连接或通信。一台服务器是肯定做不到的。 --------------------编程问答--------------------
引用 92 楼 zanfeng 的回复:
网站的通信是用的http协议。而http基础还是用的tcp协议。
发起并发连接, tcp并发连接, 国内有同仁写的。一秒内可以发起最多2万多连接。
至于同一秒内通信会比这要少很多。现在做的一个服务器的项目。用的是国外的一个开源tcp框架。
间隔50毫秒发一次200字节左右的数据。大概可以开到300多个。
对于楼主在服务器端写的代码都会转为对于浏览器可以解析并运的代码文字办理出到客户端。
……


根据这个理解,所有服务器控件最终转化成的HTML都是要占用内存的,再加上服务器控件本身类文件的大小,实际占用的内存数量更大。比如Page类就有100多个属性 --------------------编程问答-------------------- 先把问题解决了再说,等到了那么大的并发,再想办法,总会有办法的! --------------------编程问答-------------------- 学习了!呵呵呵!都是牛人! --------------------编程问答--------------------
引用 12 楼 justblank 的回复:
引用 1 楼 zzq495791432 的回复:

你不知道有缓存这玩意吗?


知道阿,假如页面没有缓存的话呢。

楼主。。。操作系统应该学过吧……这个说的不是页面缓存……而是虚拟内存。 --------------------编程问答--------------------
引用 83 楼 justblank 的回复:
引用 80 楼 sp1234 的回复:

引用 73 楼 justblank 的回复:
我当然没有这么以为,页面其实只要一输出完成,过了PageRender时间然后Dipose事件之后,页面对象就销毁了,。这点其实基本概念。那么我怎么理解你说的“10万个用户同时打开一个页面。岂不是要求内存要有20000MB”这句话呢?你说的“同时打开.....内存要有2000MB”,难道是指10万个用户中有……



这哥们得去看看操作系统原理了。

一个处理内核根本不能同时处理多个请求,这是其一;其二,线程池中活动线程数量是有限的,所谓同时处理这个数量级别的数据是不可能发生的。所以你这担心是多余的。这就是为什么要增加处理内核和部署服务器集群来满足大并发量的原因。
--------------------编程问答-------------------- 在10w并发的背景下讨论这些东西是很业余的。。。 --------------------编程问答-------------------- 继续顶! --------------------编程问答--------------------
引用 98 楼 jinjazz 的回复:
在10w并发的背景下讨论这些东西是很业余的。。。


请这位讨论下专业的看法?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,