有问题要请教一下老师

来源:10-7 短视频、视频网站和游戏排名方案整理

Kokutou

2021-04-27

  1. 在高并发场景下,压力测试的指标是啥,是吞吐量吗?
  2. 关于压力测试的服务器,我没有实际经历过高并发的开发,按我的猜测,是正式服务器用了啥配置的硬件,用于测试的服务器也得用上相同的配置来进行测试。我没理解错吧?
  3. 关于消息乱序有个疑问。我印象中mq是可以携带订单id的,为什么老师还会说消息乱序,有订单id的话,应该不需要按顺序处理,是不是我对消息乱序理解错误了?
  4. 用于存储视频文件的服务器是不是特别大,都是T级别?
写回答

1回答

求老仙

2021-05-08

关于1:

主要的指标:TQS和QPS了解下。这是两个主要指标。

然后是响应性,简单理解就是延迟。

吞吐量、延迟、并发都是重要的考核指标。


关于2:

这里有很多技巧。一般为了达到最好的效果,可以将线上数据库的一个从库备份拿来做压测实验。另一方面,可以拿线上的日志,分析日志生成代码,组织压力测试脚本。说白了,越真实越好。不过研发人员在开发交付(提测)环境先只做简单的压测,然后复杂的压测是大家要一起完成的。除此之外,还有故障演练,比如模拟断网,模拟服务挂机等等。


关于3:

乱序在网络传输是很常见的。比如发送顺序是A,B,C,D。为了确保可靠性,每个消息应该以收到ACK为准。如果一个消息没有ACK(响应),那就丢失了!注意,比如MQ向下游发送了A,B,C,D。下游B没给ACK,ACD给了,怎么办?重发B啊!这不就乱序到达了嘛!

另一个问题是,如果发A,然后收到ACK;然后发B,收到ACK;……这样做不是不行,慢啊 !可能用不满带宽,不如ABCD同时发出去,这不就又乱序了嘛?

如果是幂等设计,那么顺序就不重要,不关心顺序,性能高啊。


关于4:

CDN具体怎么存储我不太清楚,但是T级别肯定是有的。银行、电信这些公司养不起特别多程序员,有时候直接采购IBM这些公司的磁盘阵列(看上去像个冰箱造型的东西),存储量非常惊人。如果是CDN,我认为可能会用分布式存储+缓存的机制。





1
0

笑傲Java面试 剖析大厂高频面试真题 秒变offer收割机

深度剖析大厂面试高频真题,让你秒变offer收割机

1783 学习 · 314 问题

查看课程