租房项目之并发缺失数据问题

前奏:本项目是一个基于django的租房信息获取项目。本次博客牵扯到两个版本,集中式分布以及分布式部署(两个版本的ui不同,集中式用的是老版ui,分布式使用的是新版ui);

项目链接:https://gitee.com/junmoxuao/tenancy.git

名词解释:集中式分布版本->将爬虫部分和处理用户请求的部分集中分布到同一个项目,虽然部署起来简单,但是存在一个问题(可能有隐藏问题未发现,但是这个问题是非常影响用户体验),就是如果多个用户同时去获取同一页的信息,则会出现信息缺失的问题。

                  分布式部署->将爬虫部分和处理用户请求的部分分布到多个服务器上,一来可以减少单点服务器的负载,二来可以在一定程度上解决并发问题。

问题详述:

        先来看集集中式单用户获取的内容,如以下截图:

        最开始的时候无查询信息:

        获取某一页的信息:

        下载查看信息

        我们看到有30条信息,这也符合租房信息网站上的一页30条信息

        接下来模拟多用户并发:使用jmeter模拟多用户并发请求

        设置并发3个线程

        设置http请求

        运行后结果

        下载对应三次文件

        打开文件查看获取信息的条数

        

        我们可以看到,每一个用户获取到的信息都是不全的(均未达到30条,信息损失率分别为20%,26%,23%)

        接下来是分布式测试,过程与上述无异

        单用户测试

        多用户并发测试

        三个文件内容如下

        测试结果,无论多用户还是单用户,用户获取信息的损失率均为0%。

        测试完毕 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值