美文网首页
基准场景

基准场景

作者: 一生逍遥一生 | 来源:发表于2022-05-31 17:30 被阅读0次

    首页

    首页打开的逻辑:User-Gateway(Redis)-Portal(Redis,MySQL)。

    分析 st cpu

    st cpu 用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间。
    通过mpstat命令查看宿主机的资源情况,发现有一个物理机的si和st都不低,虚拟机本身没有很高的CPU使用率

    通过命令cpupower frequency-info查看cpu模式

    序号 运行模式 解释
    1 ondemain 按需调节,这是内核提供的功能,实现了动态频率调整,平时低速运行,当系统负载提高时,自动提高频率,这种模式除了不是很强大之外,似乎看不出什么缺点,如果是做性能的话,不建议用
    2 interactive 交互模式,以CPU负载来调整运行频率,直接上最高频率,然后慢慢降低,如果是做性能的话,不建议用
    3 conservative 保守模式,调整速度缓慢,可以省电,,如果是做性能的话,不建议用
    4 smartass 聪明模式。在交互模式和保守模式的升级版,在保证不太差的相应前提下,做到更加省电,,如果是做性能的话,不建议用
    5 performance 性能模式,只有最高频率,只是耗电量大。
    7 powersave 省电模式,性能差,省电,CPU可以存活时间长点
    8 userspace 用户控制模式
    9 Hotplug 热插拔模式,关屏的时候,会关掉一个CPU,较省电

    将cpu的模式修改为性能模式:cpupower -c all frequency-set -g performance。

    为了不让机器的IO能力差成为应用的瓶颈点,做如何处理:1.把mysql的数据文件已走;2.把log移走。
    网络软中断导致si cpu变高,网络带宽不高,网络中当小包过多的时候,网络带宽是难以达到线性流量的。网络带宽即便不会很高,也会导致网络软中断的增加和队列的出现。将相关应用移动到其他消耗资源少的机器上,提高服务的TPS。

    BCrypt加密算法效率低,优化方式:1.更快的加密方式;2.去掉加密算法,将所有用户加载到redis中。

    使用synchronized提供全局同步锁定,导致分配key时产生争用,需要使用其他的库来解决。
    JDK中提供的RSA方法,是为了防范时序攻击特定设计成这样的,这样会产生死锁的情况。

    从si cpu搞到NET_RX中断多的逻辑基本清楚:因为NET_RX都是网络的接收,所以NET_RX会不断往上跳。
    做如下调整:

    # 增加网络的队列长度
    net.core.netdev_max_blocklog =10000
    # 增加tomcat的队列长度为10000
    server:
      port: 8083
      tomcat:
        accept-count: 10000
    
    # 改变设备一次可接收的数据包数量
    net.core.dev_weight = 128
    # 控制socket读取位于等待设备队列中的数据包
    net.core.busy_poll = 100 
    # 控制socket使用的接收缓存区的默认大小 
    net.core.rmem_default=2129920
    net.core.rmem_max=2129920
    # 繁忙轮询
    net.core,busy_poll = 100
    

    K8S当前使用的是Calico插件中的IPIP模式,IPIP模式和BGP的区别:

    1.对于IPIP来说,套了两次IP包;在通常情况下,IP是基于MAC的,不需要网桥;BGP不是路由协议,而是矢量性协议。
    

    相关文章

      网友评论

          本文标题:基准场景

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