秒杀项目疑惑: Redis 及 Nginx
2022/9/8 2:24:31
本文主要是介绍秒杀项目疑惑: Redis 及 Nginx,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- Redis 不同方式记录 userId
- 通过 Nginx 访问压测
Redis 不同方式记录 userId
记录用户 userId 的时候,我把 userId 作为 key 保存至 Redis 中了。
这样没有充分利用 Redis 的 Set 数据结构 ,但是,也能避免超卖问题的。
不过,两种不同写法得到的结果差异比较大。
// 我的写法 redisTemplate.opsForSet().add("secKill:user" + userId, psId); // 示例项目中的写法 redisTemplate.opsForSet().add("secKill:user" + psId, userId);
图中左边标记为我的写法对应的结果,右边为示例项目对应的结果。
经过多次测试,前一种写法的结果基本是在 前 10 个用户附近波动,而后一种写法的结果看起来才是随机结果。没想明白是什么原因。
另外,我还尝试把商品数量修改为 50,前一种写法的结果基本在 前 60 个用户范围。
通过 Nginx 访问压测
我用了两台电脑做压测,两台电脑性能差异比较大。
在压测 Nginx 访问静态页面时,测试结果却不太正常。
下面是部分压测报告中吞吐量的记录:
PC | Redis 缓存商品页 | Nginx 访问静态页面 |
---|---|---|
性能好 | >2000 | <700 |
性能差 | <1200 | >2500 |
不过,在局域网中,两台机器相互访问吞吐量都不高,访问性能差的电脑,Nginx 静态页面吞吐量才四五百左右了。不太确定造成结果差异的原因。
另外,我还尝试了启动 4 个服务,Nginx 负载均衡访问秒杀页面。负载均衡测试吞吐量不到 1000,比单机测试结果要低很多,单机测试大概在 3000 左右。这个结果是否正常呢?
这篇关于秒杀项目疑惑: Redis 及 Nginx的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识