参考文件https://ruby-china.org/topics/26221
5种协议:HTTP、HTTPS、WebSocket、Socket、MQTT
加密:AES、DES、RSA、MD5、SHA1,自有加密算法包调用
性能指标:并发用户数、错误率 、吞吐量、每秒点击数、每秒响应数、事务平均响应时间、每秒事务数、每秒事务总数等
基础硬件指标:CPU、内存、磁盘、网络流量、网络连接等
资源细分指标:HTML、图片、JS、接口等响应时间精确详细
一、性能指标
主要看三个指标,三个指标独立
(1)吞吐量,QPS/TPS,每秒服务器能处理的请求数。这个指标衡量服务器的性能。
(2)并发用户数U,合适的U=QPS×T,并发数太多会影响吞吐量。线程之间的切换耗时等
(3)响应时间T,用户的感觉
举例1:一个餐厅10张单人桌子,那么就是最多能够接待10个客人。每个客人愿意等待无限长的时间,只有一个厨师,10分钟做完一个客人的菜。那这个里面的指标:吞吐量就是10人,并发1个客人,响应时间最长是10*10=100分钟
规划服务器常常使用:(1)(3)指标去计划多少台机器。不可使用并发用户数去衡量,并发用户数只能看看服务器能够同一时刻多少人在处理。一个服务器最多支持多少并发用户数呢
需求1:60s,1万人抢红包,要求每个请求必须在10s内响应。测试知道单个请求代码单核执行时间是200ms。请问需要部署几台单核服务器?
规划:QPS=1万人/60s=166人/s,响应时间T=10s,并发用户数=166人/s×10s=1660. 服务器台数=QPS×200ms=166/sx0.2s=33台。
带宽:1万人×1KB/60s=1.2兆。
二、硬件分析指标
基础硬件指标:
CPU和内存:top命令 http://man.linuxde.net/top
磁盘:iotop https://www.cnblogs.com/xiangsikai/p/8305030.html
网络流量:nethogs http://blog.csdn.net/monkeynote/article/details/45867803
网络连接:netstat http://blog.csdn.net/he_jian1/article/details/40787269
内存中jvm的内存区域分析。方法区是JVM规范,永久代和元空间是hotspot它的实现。
内存查看见:jstat https://www.cnblogs.com/lizhonghua34/p/7307139.html