概述

freeswitch 是一款简单好用的开源软交换平台。

freeswitch-1.10.7是比较新的版本,使用时间比较短,需要一个可参考的性能指标,作为实际使用过程中的配置指导。

环境

centos:CentOS  release 7.0 (Final)或以上版本

cpu,64逻辑核

memory,16G

freeswitch:v1.10.7

GCC:4.8.5

测试方案

AB路使用sipp作为测试终端。

sippa -> freeswitch-1.10.7 -> sippb

测试分几个维度。

cps max,call per second max,最大每秒呼叫发起量。

capacity max,最大呼叫并发容量。

cps & capacity,均衡性能,保持平均呼叫时长20秒的情况下,cps和capacity的均衡指标。

性能指标工具。

watch -n 1 ./fs_cli -x status,查看fs的session数,和cpu占用。

htop,查看各个cpu使用情况和内存。

nload,查看网络流量。

dstat,查看系统资源。

cps max

单独测试cps,不保留呼叫并发容量。

cps达到700的时候,cpu占用在75%。

capacity max

单独测试capacity,容量达到要求,不再继续发起呼叫。

呼叫,容量3000,cpu占用70%

cps & capacity

cps和capacity的综合压力测试结果才是我们最需要的,是符合生产环境场景的数据。

呼叫,容量2400,cps120,cpu占用29%

呼叫,容量2600,cps130,cpu占用35%

呼叫,容量2800,cps140,cpu占用45%

呼叫,容量3000,cps150,cpu占用60%

呼叫,容量3200,cps160,cpu占用75%

htop的统计数据

dstat的统计数据

总结

本文对freeswitch-1.10.7版本的性能测试做了介绍,性能指标可以作为生产环境配置估算的指导。

从htop的截图看,fs对cpu的分配是均匀的。

capacity容量超过3500的时候,cpu占用会急剧上升到99%,怀疑线程过多的场景下,线程切换占用了大部分资源。

后续继续对性能优化的方向,考虑多开fs实例,多开虚拟机,thread线程切换优化等。

空空如常

求真得真

freeswitch-1.10.7性能测试的更多相关文章

  1. FreeSWITCH 1.10.7 编译(debian 11)

    1.安装预备库 apt install -y build-essential gdb gnupg2 wget autoconf lsb-release libtool libtool-bin libt ...

  2. 10.Redis 性能测试

    转自:http://www.runoob.com/redis/redis-tutorial.html Redis 性能测试是通过同时执行多个命令实现的. 语法 redis 性能测试的基本命令如下: r ...

  3. LoadRunner性能测试巧匠训练营

    <LoadRunner性能测试巧匠训练营>基本信息作者: 赵强 邹伟伟 任健勇 丛书名: 实战出版社:机械工业出版社ISBN:9787111487005上架时间:2015-1-7出版日期: ...

  4. 公网用户接入NAT后面的freeswitch配置

    大致网络示意和终端号码: 客户端侧: 终端号码(1019)终端IP(192.168.1.15)+ 网关(192.168.1.1) + 路由器公网IP(动态地址) 服务器侧: 防火墙(181.92.2. ...

  5. FreeSWITCH视频直播

    大家都知道,如今,视频直播比较火啊. 今天,在FreeSWITCH精英群里分享了FreeSWITCH做视频直播相关的技术. 首先,要做直播就得有好机器.笔者买了一台阿里云的主机,买的是按量付费的,4核 ...

  6. Freeswitch Tutorial

    I. Install Freeswitch 1) FreeSWITCH Explained https://freeswitch.org/confluence/ https://freeswitch. ...

  7. Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)

    Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编   ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...

  8. Java编程思想(11~17)

    [注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第十一章 持有对象 11.1 泛型和类型安全的容器>eg: List<St ...

  9. Windows版Redis如何使用?(单机)

    使用Windows版Redis 1.下载Windows版本的Redis 2.在redis目录里创建redis.conf ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  10. JMeter【第五篇】关联:5种方法

    前几天在Q群里看到群友发的最近10年性能测试工具使用率的统计,最近的2018年,jmeter+loadrunner占了93%的使用率,说明这两个是主流,其中,jmeter的使用率逐年提升,现在已经超过 ...

随机推荐

  1. 一个适用于定制个性化界面的WPF UI组件库

    前言 今天给大家推荐一个能让你用最少的代码来实现期望的UI效果,适用于定制个性化界面的WPF UI组件库:Panuon.WPF.UI. 组件库官方介绍 Panuon.WPF.UI 是一个适用于定制个性 ...

  2. Redis本地安装以及使用(详细教程)

    Redis 安装 Windows 下载安装 Redis默认端口:6379 整个过程如下: 1.下载连接 https://github.com/tporadowski/redis/releases Re ...

  3. [ABC246Ex] 01? Queries

    Problem Statement You are given a string $S$ of length $N$ consisting of 0, 1, and ?. You are also g ...

  4. 用python将卡尔曼滤波技术和统计套利应用在期货市场

    背景 根据当前中国的交易规则,股票不能做空.与更发达的市场相反,套利机会不容易实现.这表明那些寻找并能够利用它们的人可能会有机会. 因此,我决定使用统计套利和配对交易技术专注于中国的期货市场. 战略理 ...

  5. 【UniApp】-uni-app-项目计算功能(苹果计算器)

    前言 本文主要介绍苹果计算器项目中计算功能的实现 在前面的文章中已经实现了输入,动态计算字体大小,以及计算器的布局 本文主要介绍计算功能的实现 正文 实现/清空/改变正负/除以100 inputTex ...

  6. ElasticSearch之cat shards API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/shards?v=true&pretty" --cacert $ES_HO ...

  7. Ubuntu apt-get 的使用

    在Ubuntu中,可以使用apt-get命令来管理软件包.下面是一些常见的apt-get命令及其用法: 安装软件包: sudo apt-get install <package> 其中,& ...

  8. OpenFeign:Spring Cloud声明式服务调用组件

    OpenFeign:Spring Cloud声明式服务调用组件 问题总结 OpenFeign? Feign VS OpenFeign? OpenFeign实现远程服务调用? OpenFeign超时控制 ...

  9. 面试题:Java中的引用类型有哪几种?特点是什么?

    Java中引用类型及特点 强 引用: 最普通的引用 Object o = new Object() 软 引用: 垃圾回收器, 内存不够的时候回收 (缓存) 弱 引用: 垃圾回收器看见就会回收 (防止内 ...

  10. PyTorch项目源码学习(3)——Module类初步学习

    torch.nn.Module Module类是用户使用torch来自定义网络模型的基础,Module的设计要求包括低耦合性,高模块化等等.一般来说,计算图上所有的子图都可以是Module的子类,包括 ...