美文网首页
能够承载多少用户

能够承载多少用户

作者: chinalichen | 来源:发表于2019-02-25 19:14 被阅读0次

我们的Server能够承载多少用户?

这个问句包含了多个隐藏的未定义的前提条件,我们可以试着通过扩展句子把他们暴露出来。

什么配置的Server能承载哪个站点多少用户正常使用

变量

什么配置是我们能够控制的“变量”,包括以下四个方面8个“变量”。

  • cpu(主频/核心数)
  • 内存(容量)
  • 硬盘 (iops/容量)
  • 网络带宽(内网/外网),网卡吞吐量

前提条件

哪个站点正常使用是我们需要需要在测量前固定下来,在测量期间不应该发生改变的“前提条件”。

  • 哪个站点
    • finesheet.com
    • 免费站点
    • 付费站点
  • 正常
    • 正确性:不会报错
    • 流畅性
      1. 页面加载响应时间(哪些页面)
      2. 操作相应响应时间(那些操作)
  • 使用
    • 操作(查看、编辑)占比
    • 数据量(数量,大小)
  • 用户类型
    • 站内用户
    • 站外用户

我们的Server并没有一个持久存在于内存的数据模型,所有操作直接保存到数据库中,预计更新数据库(boltDB写操作)会成为Server的瓶颈。
所以我们以UpdateRow的资源消耗情况推算Server能够承载用户数
比如,一次UpdateRow需要5ms计算,5ms磁盘读写,那么我们可以推算出,此配置能够支撑200 ops(1000ms/5ms)。如果我们定义用户正常使用情况下1秒钟发送一个UpdateRow请求,那么我们的Server在理想情况下则能同时支持200个用户。

测试数据

UpdateRow请求的Row为10KiB,依据是实际使用的BugsTracking中90%的行在5KiB~10KiB之间。

硬盘限制

硬盘限制有两个指标,分别是单次UpdateRow读写需要的时间单行所占磁盘空间

单次UpdateRow读写需要的时间

UpdateRow对硬盘的随机读写要求高,对硬盘的吞吐量并不敏感。测试使用TF卡(1200 iops)模拟aliyun的的高效云盘(1800 iops)。
一次UpdateRow需要调用BoltDB进行4~6次写操作。BoltDB在TF卡上平均单次写操作时间为5ms。

单行所占磁盘空间

由BoltDB中B+树引入的写放大问题,导致数据库文件占磁盘空间大小为实际数量的6倍。加上bleve的索引和History,10KiB数据需要10KiB x 18 = 180KiB的空间。1000行大概180M左右。

网络限制

aliyun主机的网卡为虚拟网卡,理论上没有速度限制。但是aliyun人为限制了内外网速度。内网速度为固定100Mpbs,外网速度目前按照流量收费的模式下为100Mpbs。
我们的Server对内网速度没有太高要求,100Mpbs足够。
外网速度100Mbps可以支持的UpdateRow为100 x 1000 / (10 x 8) = 1250 ops

内存限制

UpdateRow的内存使用量是数据行大小的50到200倍。倍数与行大小成反比。10KiB的行需要占用1M内存。
1G内存则能组多支持1000 ops。

CPU限制

测试使用主频为3.4GHz的i5-8350u,aliyun主机为Xeon 8163,主频在2.5左右。
UpdateRow计算需要10ms左右。提升CPU核心数量并不能减少计算时间,但是可以提升ops。

限制 关键数据
CPU 10ms/行
内存 1M/行
硬盘速度 5ms x 4/行
硬盘容量 180k/行

相关文章

  • 能够承载多少用户

    我们的Server能够承载多少用户? 这个问句包含了多个隐藏的未定义的前提条件,我们可以试着通过扩展句子把他们暴露...

  • 静心

    你能承载多少?承载了之后能懂得多少?能够吸纳多少?能够化解多少?能够转化多少? 只有当你的整个存在——你的整个存在...

  • 你现在的德行能够承载多少财富?

    你现在的德行能够承载多少财富? “你的德行,决定了你能承载多少实物”。我觉得我还有很大的成长空间,我的德行还需要继...

  • 小小的时光,能够承载多少故事

    从十二岁到十九岁,阔别七年之久,宁香又一次打开了曾经无数次在暗夜里聆听过的电台。七年之久,这个电台的NJ从最初的三...

  • 《承载》

    承载 要承载, 需要厚德, 有多少德性才能承载多少的福德, 厚德才能载物, 要承载, 需要我们有空杯的思想, 只有...

  • 思念,有多少重量

    思念,有多少重量? 需要多少坚强、 理智才能够承载? 总是在喧闹的街头, 错身而过的人群, 相似的身影,片刻的失神...

  • 格局注定成就

    一个人的成就有多大,要看他的格局有多大,一个人能够承载多少,要看他能够承受多少。 一个有成就的人,一定是...

  • 我还是不能够知道,他驼下的肩背扛起的艰辛;我还是不能够知道,他银丝白发承载着多少劳心;我还是不能够知道,他简...

  • 视频号如何引流到私域?

    你认为做视频号最重要的三个指标是什么? 1、账号引流了多少用户?多少用户私域? 2、这个账号到底能够变现多少钱? ...

  • 思念 有多少重量

    思念,有多少重量,需要多少坚强,理智才能够承载。 总是在喧闹的街头,错身而过的人群,相似的身影,片刻的失神。总是在...

网友评论

      本文标题:能够承载多少用户

      本文链接:https://www.haomeiwen.com/subject/zmtnyqtx.html