阿里云的服务器4核8g,10M带宽并发访问,能支持多少用户
要说可以支持多少用户,是无法得到一个准确答案的。用户支持的数量由许多因素组成,例如使用的语言、架构、处理的业务类型 数据大小等。这是一个需要连续调整优化过程的。
第一需要确定业务类型
1、不同的服务有不同的特性,有些CPU占用比较高,有些内存比较高,还比如数据处理,有些需要大量带宽,例如网络爬虫,有些磁盘很高,例如和数据库类。
2、同一配置的机器运行不同的业务,效果会有所不同,而且未使用的资源将大大浪费。
3、根据自己的业务类型调整机器的资源比率是节省资金和改善支持的好方法。
第二确定数据大小
1、网络传输的数据大小决定了带宽占用。尺寸越小,带宽越大,每单位时间可以访问和处理的用户请求越多。
2、然后,减少无效数据传输并减小请求分组的大小是必须考虑的地方以改善用户访问能力。
第三连续测算和调整
1、支持的TPS数量,是不断监控并不断调整的。很多时候,小参数调整可以带来多重性能提升。几十秒的业务请求,可能会在几十毫秒内完成调整。
2、真正的在线服务,持续监控和持续调整是一个长期的过程的。
第四使用恰当的语言架构
1、设计良好的系统,与随便设计的系统,终端能力是全然有所不同的。
2、克服资源浪费问题,可使用Docker之类的容器化,微服务化,能精确的提高资源使用率,减少服务器压力。
3、使用Nginx或是Tengine、打开NIO、打开压缩、及设立静态与局部缓存等,减少服务器负载。
4、使用MongoDB、NoSQL数据库,减少数据查询压力提升响应速度。
总之,减少前端无效请求,后端请求在靠近用户侧解决掉,避免业务过长,堆积在后端底层。
扩展资料:
1、服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
2、服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
3、在网络环境下,根据服务器提供的服务类型不同,分为文件服务器、数据库服务器、应用程序服务器、WEB服务器等。
–服务器
There're two general methods Let me call them internal and external, for lack of better terms The internal method calculates the max concurrency based on CPU speed compared to the CPU time used by one buffer get You have to estimate how many buffer gets your application will require at the peak time This of course assumes the application is fairly well tuned and disk I/O's are not a big part of the overall problem The external method is test without, or without much, thinking Many tools can do this Swingbench is one commonly used
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表示处理完毕,等待超时结束的请求数。(这个参数还不太懂,为啥是等待超时结束,请大神指教)
0条评论