51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2072|回复: 1
打印 上一主题 下一主题

[原创] 压测时,cpu出现锯齿形状的问题探讨

[复制链接]
  • TA的每日心情
    奋斗
    2018-3-8 09:22
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2021-12-2 16:50:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    执行一个接口,做稳定性测试,连续执行一段时间后,发现cpu、内存会出现锯齿状,而且很规律。


    分析:
    1)一开始以为是应用程序的错误导致这种情况发生,因此查看了应用日志、系统日志、进程日志,是否存在错误及崩溃日志。---------------没有
    2)又重新看了负载图,发现每当wait io升高,user实际业务的cpu占用就降低,相应的内存使用率也减少,cpu处于空闲状态。---------------是不是因为线程数设置的太大了,导致磁盘读写处理不过来?
    因此,将线程数调低后,重新开始测试,发现还是有相应的锯齿状,不过好消息是只存在于cpu,内存测了6小时下来稳定了。说明线程数对于磁盘的读写还是有一定影响的。

    3)又通过iostat -c  -d  -t -k  1去每隔一秒钟去刷新并读取磁盘的io读写能力

    发现正常情况下,写能力稳定在1000kb/s左右,但是当出现锯齿状,会下降到300-400kb/s左右。-----------这个很不正常,难道真的是磁盘读写能力不行这个原因导致的?
    4)涉及到读写,又问了研发,了解了这个接口最主要就是有一个插库操作,存日志这个操作-----------难道有慢查询?。
    查看系统日志,拉出涉及到的sql:
    SELECT id,create_time,value FROM tb_parameter WHERE id = "svs_config";---------------从数据库里面获取svs配置

    INSERT INTO tb_operation_log ( operation, result, target, type, ip ) VALUES ( "印章验证", "成功", "POST:/simp/api/stamp/verify", 5, "192.168.10.51");-------------向数据库存入日志

    SELECT id,project_type,name,description,app_key,app_secret,parent_id,create_by,update_time,update_by,create_time FROM tb_project WHERE app_key = "s38312772628391937";----------获取appey对应信息,并判断是否为真实appkey

    SELECT id,status,name,serial,fingerprint,certificate,certificate2,certificate3,role_type,create_by,create_time FROM tb_admin WHERE certificate = "MIIDDDCCArGgAwIBAgINAOzAYEW6LBW7eR7xXjAKBggqgRzPVQGDdTAgMQswCQYDVQQGEwJDTjERMA8GA1UEAwwIc20yX3Jvb3QwHhcNMjExMTIyMTg1OTM2WhcNMzcxMTIyMTYwMDAwWjAXMRUwEwYDVQQDDAzliLbnq6DkurpfMDEwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAATjhWMq2IMMX9mZv2Y9pdHzRpkhq3GrS5cPHRAYIDoJdwYFQ+kmq0KLQeH6zTtuYSFemw5G5nUq4+kMu5WA7r5ho4IB1zCCAdMwDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUL5KxbuGQEyozse8SH12lvBGv32owDgYDVR0PAQH/BAQDAgeAMIGbBgNVHSUBAf8EgZAwgY0GCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDAwYKKwYBBAGCNwoDBAYJYIZIAYb4QgQBBggrBgEFBQcDCQYIKwYBBQUHAwowLgYDVR0fBCcwJTAjoCGgH4YdaHR0cHM6Ly9haWEuc3lhbi5jb20uY24vY3JsL2EwYgYIKwYBBQUHAQEEVjBUMCQGCCsGAQUFBzABhhhodHRwczovL29jc3Auc3lhbi5jb20uY24wLAYIKwYBBQUHMAKGIGh0dHBzOi8vYWlhLnN5YW4uY29tLmNuL2lzc3Vlci9hMB8GA1UdIwQYMBaAFE62EA55ojyyltMkTdh/2Ac4lpUEMEEGA1UdIAQ6MDgwNgYIKoEchvAAZAEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9jcHMuc3lhbi5jb20uY24vY3BzMTAKBggqgRzPVQGDdQNJADBGAiEAvbbxtmNV9bbRHVL2w/8aNU41Hw+1/2hTfPwUgQIRR9cCIQCuoAOjmpQP+N6fqyhsIAs4HXEu3Z/5SuNWxtRuCR6pxA==";---------------通过证书获取到对应的信息

    从iostat中我们知道,根本就没有读,只涉及到写,难道就插入了一个insert就不行了?
    5)晚些时候,我准备将数据库与服务分离,测试一下看一下结果。
    -----------------至此,我已经无计可施,大家帮忙看看有没有什么其他的思路呢。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-27 05:11 , Processed in 0.063924 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表