• 张东炫
    2021-06-04
    如果我们测试环境有 300C 资源,使用率也为 30%,要是我还想保证 0.1 秒的平均响应时间,那么 TPS 就应该是 300。这是最简单的等比方式了。 文中这里写的 TPS 是不是3000?

    作者回复: 我算了一下。确实是手抖了一下少打了个零。可以联系我一下,我发红包感谢指正。

    
    4
  • 道长
    2021-06-01
    1、可以给项目组提供容量与资源的一个参考,大多时候做性能都是针对未来几年做的评估。避免浪费资源

    作者回复: 理解正确。

    
    1
  • 姑射仙人
    2022-01-22
    不给出最终的性能参数配置,老实讲,这一套操作猛如虎,就是在耍流氓。 额外讲一句,老师能给出这样的实践课程,业界良心。换做我,即使是写课程,要不要这样无私,也是要考量一番的。 个人感觉,最后想要在细挖各应用和中间件的配置,老实讲,得高级技术专家出马了。或者说,技术和资源的转换比已经不高了。一顿分析,调整,还不如加点资源。

    作者回复: 如果各个环节都考虑有所保留,就写不出有诚意的内容了。 对于配置来说,转换比高不高,要取决于项目的重要性。并且这些配置只是一次性的成本,建立了基线之后,后期只是更新和维护即可。这不是一直加资源可以解决的。

    
    
  • byyy
    2022-01-20
    "当然,在一个生产系统中有相应的判断能力。笼统地说就是,如果有 1000C 2.5GHz 的 CPU 资源,我们要根据历史经验数据,判断出最大容量能跑多少 TPS;如果是 2000C 2.5GHz 的 CPU 资源,又能跑出多少 TPS。而这些都可以通过容量场景计算出来。" 老师,这句话中“而这些都可以通过容量场景计算出来。”不是很理解,帮我简单的解释一下。 我觉得不管是1000C 2.5GHz还是2000C 2.5GHz,它们都是生产环境的硬件配置,而容量场景一般是在测试环境中完成的,但是测试环境的硬件配置根本达不到这么高,怎么通过测试环境容量场景跑出的tps来计算生产环境的tps呢?是通过文章下面提到的两个方法"排队论模型"或者"列表格建模"来计算吗?

    作者回复: 单机的配置是应该达到生产配置的,只是机器数量不一样而已。

    
    
  • byyy
    2022-01-19
    "在确定性能参数配置之前,我们要先预判生产的大概容量,不用特别精确,像“在 1000TPS 左右”这样的预估就可以了。" 文章这句话提到“我们要先预判生产的大概容量”,但是在预判生产容量、硬件配置、软件配置这三大段落中讲的都是如何借助表格预判测试环境的大概容量,并没有讲如何预判生产环境的大概容量。 老师,求帮助。 我感觉前后逻辑理不顺,前面说要预判生产的大概容量,后面内容却是围绕如何预判测试环境容量来展开; 帮我简单的解释一下。

    作者回复: 首先,我们得先知道生产上要达到的容量是多少。 其次,我们要在测试环境中测出来容量是多少。 最后,通过对比模型计算生产环境需要多少硬件才能达到容量需求。

    
    
  • byyy
    2022-01-18
    "通过这节课,我给出了确定生产系统配置的思路。而做这件事情的前提是,我们对被测环境有明确的容量预期。在有了容量预期,并且对系统进行了调优之后,我们就可以通过这两个步骤把各个性能参数确定下来:" 老师,这句话中有两各问题点,帮我解答下。 问题1:这句话中的“被测环境”指的是测试环境吗? 问题2:这句话中的“把各个性能参数确定下来”指的是在测试环境中把各个性能参数确定下来吗?

    作者回复: 是指定测试环境。不过在确定了测试环境中的各参数之后,要推算生产环境中的配置。

    
    
  • byyy
    2021-11-22
    "因此,在这个应用中,我们可以设置的关键参数是:" 这句话下面的表格中给出了三个配置: 线程池:50 超时:200ms 队列:100 老师,关于这三个参数,有2个问题,帮忙解答下。 问题1: 文中所说的场景执行是在测试环境中执行的吗?这三个参数是测试环境配置的参数吗? 问题2: 文章标题是“如何确定生产系统配置”,这里得到的三个参数配置是测试环境的,并不是生产环境的配置,那如何确定生产系统中这三个参数的配置呢? 备注:我就是看不懂这篇文章的逻辑,文章标题是“如何确定生产系统配置”,但是文中好像把测试环境的配置和生产系统的配置混在一起讲了,阅读的时候屡不清如何从测试环境的配置得到生产系统的配置的逻辑,老师可以简单的讲下吗。

    作者回复: 1. 这里说的逻辑是为了得到的生产环境的比例。 2. 同问题1。

    
    
  • jy
    2021-11-06
    “重启的时候你要注意,因为我们采用的是 Kubernetes 自动调度机制,所以我们要指定一下节点。” 老师,文中选择指定节点的图,是k8s的什么管理工具呢?

    作者回复: 开源的kuboard。

    
    
  • byyy
    2021-10-11
    "通过容量场景计算出 TPS 之后,是不是可以再用排队论模型,来计算需要多少服务器资源呢?" 老师,对文中的这句话,我有个疑问,希望老师解答一下。 比如我现在有一个300c的硬件资源,跑出的容量场景tps为1000tps,那300c这个硬件资源是确定的。为什么还要再用排队理论计算一遍需要多少硬件资源呢?不是多此一举了吗?

    作者回复: 如果硬件规模固定了,当然就没必要算了,我文中的意思是计算当tps需求更高时的硬件资源。

    
    
  • byyy
    2021-10-11
    " 讲到这里,我们就要进入下一步了:获得这些参数在生产环境中的具体配置值。 如何获取配置值 获取配置值的方法主要分为两个步骤: 1.运行场景; 2.查看相应的计数器。 " 老师,关于这段话,我有个疑问,老师帮忙解答下。 假设生产环境的硬件为1000c,cpu利用率为30%时峰值tps为10000, 测试环境硬件为30c,cpu利用率为100%时tps为1000,是生产环境的1/10, 接下来根据获取配置值的两个步骤:在测试环境运行场景,查看相应计数器。 假设测试环境运行场景tps达到1000时,得到合理的线程数配置值应该为50。 我的问题是: 生产环境的线程数配置的值是不是应该在50的基础上扩大10倍呢,也就是测试环境中的获得的配置值要经过转换才能设置在生产环境中? 或者说50是测试环境中应该配置的值,我们不能把这个配置值50直接配置在生产环境中,而是要扩大10倍后的值500设置在生产环境中?

    作者回复: 这时候你还要做扩展性测试,看一下是不是可以达到线性扩展的能力,做一个递增模型出来。

    
    