直播带货服务

机器人管理框架

机器人管理框架

机器人管理框架

以一个简单的多线程框架为例,主线程负责控制逻辑,管理所有的机器人状态信息。子线程执行每个机器人的任务,包括连接服务器,发送数据,接收数据,断开连接等。

1.3. 结果统计

机器人发送请求包之后,一般是要等待服务器的响应回包。服务器那边可以计算本次压测过程中各项业务数据,包括TPS,总的收发包量等。

可能在测试过程中一直盯着各个数据看,我们需要把每项数据记录下来,后续综合各项结果进行分析。

这里的结果统计除了需要统计每个机器人收到回包的结果,还需要统计服务器在压测过程中的各项性能数据变化。一旦客户端的压力上到一定值时,服务器某项资源支撑不了的话,说明这个资源可能存在短板,存在可以优化的空间。

性能结果分析

性能结果分析是一个比较复杂的过程。需要综合硬件、操作系统、应用程序等多方面来定位。

2.1. 硬件的影响

硬件对服务器性能影响还是蛮大的,如果是土豪的话,可以直接买最好的。我们分析硬件主要是希望选择合适的配置,节约资源,避免出现高射炮打蚊子的情况。

2.1.1. CPU

在资金的充足下,一般来说CPU的数量越多,主频越高,那么服务器的性能也就会越好。在实际测试过程中,如果在大压力下持续观察CPU的使用率很低,那么CPU的资源基本上是可以满足服务器要求的。这样的情况其实是有点浪费CPU资源的,比较理想的况是压力不大的时候CPU利用率比较低,压力上来之后CPU利用率保持在60%-70%。

大部分的CPU在同一时间内只能运行一个线程,但是超线程的处理器可以在同一个时间运行多个线程,我们可以利用处理前超线程特性提高系统性能。虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。

2.1.2. 内存

内存的大小也是影响服务器性能的一个重要因素。内存太小,系统进程要被阻塞,应用程序会变得缓慢,甚至是失去响应;如果太大的话,也是造成一种浪费。Linux系统中采用物理内存和虚拟内存两种方式,使用虚拟内存可以缓解物理内存的不足,但是如果占用过多的虚拟内存的话,应用程序的性能会明显的下降。

机器人管理框架

2.1.3. 网络带宽

网络带宽的大小限制了客户端与服务器交互的流量,相对其他硬件资源,网络带宽在价格上更贵。这需要我们合理预估服务器的可服务器能力,需要占用的带宽资源。

2.1.4. 磁盘IO

目前磁盘都是机械方式运作的,主要体现在磁盘读写前寻找磁道的过程。磁盘自带的读写缓存大小,对于磁盘读写速度至关重要。读写速度快的磁盘,通常都带有较大的读写缓存。磁盘的寻道过程是机械方式,决定了其随机读写速度将明显低于顺序读写。在我们做系统设计和实现时,需要考虑到磁盘的这一特性。


© Copyright 六六互联.Some Rights Reserved.www.ic.vip