阿里云服务器,2核4G 5M带宽的PV和并发大概是多少?
PV和并发不是固定数值,看的是你网站具体运营资源占用
和带宽比例关系
比如说同样的1M带宽
你做文字企业站,和做成**下载站,很明显承载能力是不一样的
不可能PV有固定比例
并发数,这个浮动几率更大了,甚至和你最终采用的服务系统都息息相关
比如Apache 和IIS 都有很大区别
然后不同程序对服务器资源占用比例都有很大关系
同时还要结合上面带宽的问题,所以不可能有固定结果。
另外,对于店大欺客的问题,有必要强调一下,百度能看到很多这种情况,万网虽好但是客服目前依然是整个产品链的缺口,太多太多人出现问题得不到应有的服务。
阿里云创立于2009年,是全球领先的云计算及人工智能科技公司,致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。
阿里云服务着制造、金融、政务、交通、医疗、电信、能源等众多领域的领军企业,包括中国联通、12306、中石化、中石油、飞利浦、华大基因等大型企业客户,以及微博、知乎、锤子科技等明星互联网公司。在天猫双11全球狂欢节、12306春运购票等极富挑战的应用场景中,阿里云保持着良好的运行纪录
WIN7中IIS7默认配置的服务器同时最多只能处理5000个请求,用户量不大的时候感觉就是无限制。可以自己更改限制。
不过如果由于某些情况(程序问题等)造成同时请求超过5000或者用户量大的时候时,将会导致服务器错误。为此,可以修改服务器的设置,比如支持10万个同时请求。
1 调整IIS7应用程序池队列长度
依次打开,IIS管理器 > 应用程序池 > 高级设置,修改队列长度为65535。
2 调整IIS 7的appConcurrentRequestLimit设置
打开%systemroot%\System32\inetsrv\config\applicationHostconfig,将appConcurrentRequestLimit的值由默认5000改为100000。
<serverRuntime appConcurrentRequestLimit="100000" />
也可以直接在运行中执行:
c:\windows\system32\inetsrv\appcmdexe set config /section:serverRuntime /appConcurrentRequestLimit:100000
3 调整machineconfig中的processModel>requestQueueLimit的设置
打开%windir%\MicrosoftNET\Framework\v4030319\Config\machineconfig,将requestQueueLimit的值由默认5000改为100000。
<configuration>
<systemweb>
<processModel requestQueueLimit="100000"/>
4 修改注册表,调整IIS 7支持的同时TCPIP连接数
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters节,将默认连接数5000改为100000。
linux查看连接数,并发数1、查看apache当前并发访问数:
netstat
-an
grep
ESTABLISHED
wc
-l 对比httpdconf中MaxClients的数字差距多少。 2、查看有多少个进程数: ps
auxgrep
httpdwc
-l 3、可以使用如下参数查看数据 server-statusauto #ps
-efgrep
httpdwc
-l 1388 统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。 表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。 #netstat
-natgrep
-i
80wc
-l 4341 netstat
-an会打印系统当前网络链接状态,而grep
-i
80是用来提取与80端口有关的连接的,wc
-l进行连接数统计。
最终返回的数字就是当前所有80端口的请求总数。 #netstat
-nagrep
ESTABLISHEDwc
-l 376 netstat
-an会打印系统当前网络链接状态,而grep
ESTABLISHED
提取出已建立连接的信息。
然后wc
-l统计。 最终返回的数字就是当前所有80端口的已建立连接的总数。 netstat
-natgrep
ESTABLISHEDwc
-
可查看所有建立连接的详细记录
查看Apache的并发请求数及其TCP连接状态: linux命令: netstat
-n
awk
'/^tcp/
{++S[$NF]}
END
{for(a
in
S)
a,
S[a]}' 返回结果示例: LAST_ACK
5 SYN_RECV
30 ESTABLISHED
1597 FIN_WAIT1
51 FIN_WAIT2
504 TIME_WAIT
1057 其中的 SYN_RECV表示正在等待处理的请求数; ESTABLISHED表示正常数据传输状态; TIME_WAIT表示处理完毕,等待超时结束的请求数。(这个参数还不太懂,为啥是等待超时结束,请大神指教)
这篇文章解决了很多用户的难题,就是如何通过最大用户并发数来确定系统最大用户数,因为这个问题不解决的话,用户很难挑选到最为适合自身系统的服务器,我们来看看这篇文章。以下是作者原文。
本篇主要是性能方面的。
一个系统的最大并发用户数为1100,怎么能推算出该系统的支持最大用户数。
其中用户性能要求如下:支持100万注册用户
性能需求分析:
1、根据用户的要求,本系统要支持100万用户,其中性能机器配置如何?高峰值是多少?带宽?等
2、如果都是采用公司的测试环境,那么本次性能应该做哪几种性能?性能评测、负载测试、强度测试?
3、怎么算出并发用户数?响应时间?
性能指标确定:
因为用户的性能需求太广,没有定到具体的数值。那么我怎么开展后继的工作?1、确定采用公司测试环境,不用考虑环境问题。也就是说,客户端、服务端以及带宽等一系统都可以不用考虑,这是固定。
2、考虑此项目组以前开发过的系统性能情况,能否做为一个参考值。解决方案:找出本项目组以并发过二个项目,其性能个项指标进行求权。其中浏览功能:并发数为1100,平均响应时间363秒;每用户平均响应时间为033秒。每秒中并发3个用户。其中一系统用户已达500万,另一系统用户为320万。并且二系统一直运行正常,但目前的二系统的服务器各为3台。可以得出一台服务器为载166万,甚至更多。(因为服务器中有求权的关系)
3、100万用户,那么怎么计算出他的每小时峰值活动用户数?
解决方案:采用80•20原则计算得到每小时峰值活动用户数 6667万/小时;那么每秒中的同一功能点点击并发数应该是185。
4、怎么得其并发数?
解决方案:本系统有多少个功能点?功能点为153个;也就是本系统在高峰值时一功能将被点击1258次,每秒点击035次。(不考虑间隔时间)考虑以前本项目组的数值。初步设置并发数为1100,主要以浏览功能为主、其次是查询和新增。
5、应该测试那种性能类型经再三考虑,三种性能都进行测试。
执行性能:
评测,依据性能指标确定中的第三点,将用户的并发设置为300-350,看其情况。负载测试,以1100为起点强度测试,为15小时和24小时为准
性能测试结果:
发现本系统最大用户支持为1100失败用户最高为209,响应时间为315。可以判断此系统最大并发数为1100左右。也就说此系统在一台服务器上可支持150万用户数。
根据上述情况,可以得出:
1100用户并发时,用户一共响应时间为315秒(即每用户平均响应时间0005秒),其中最高产生209个失败用户,但成功用户基本上可以完成后续操作,符合现系统要求的最大稳定用户数。由此可得出本系统在新增功能点中支持最大用户并发数为1100。按照1100比例,计算得到每小时峰值活动用户数11万/小时;采用80•20原则计算得出本系统支持注册用户数约为165万。而本系统性能需求大规模支持100万注册用户,由上述的数据我们的系统已达到本系统性能需求。
注:100万,采用80•20原则计算得到每小时峰值活动用户数6667万/小时。
1、查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'netstat -n|grep ^tcp|awk '{print $NF}'|sort -nr|uniq -c 或者:netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'返回结果一般如下: LAST_ACK 5 (正在等待处理的请求数)SYN_RECV 30ESTABLISHED 1597 (正常数据传输状态)FIN_WAIT1 51FIN_WAIT2 504TIME_WAIT 1057 (处理完毕,等待超时结束的请求数) 其他参数说明: CLOSED:无连接是活动的或正在进行LISTEN:服务器在等待进入呼叫SYN_RECV:一个连接请求已经到达,等待确认SYN_SENT:应用已经开始,打开一个连接ESTABLISHED:正常数据传输状态FIN_WAIT1:应用说它已经完成FIN_WAIT2:另一边已同意释放ITMED_WAIT:等待所有分组死掉CLOSING:两边同时尝试关闭TIME_WAIT:另一边已初始化一个释放LAST_ACK:等待所有分组死掉 2、查看Nginx运行进程数ps -ef | grep nginx | wc -l返回的数字就是nginx的运行进程数,如果是apache则执行ps -ef | grep httpd | wc -l 3、查看Web服务器进程连接数:netstat -antp | grep 80 | grep ESTABLISHED -c 4、查看MySQL进程连接数:ps -axef | grep mysqld -c
0条评论