概述

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. 吉特日化MES-日化生产相关设备区分

    在化妆品生产过程中约到各种各样的设备,对日化生产设备做一些简单的整理汇总,便于学习(其中设备根据其所在的产品以及领域会有一定的不同) 从产品的角度可以将产品划分为: (1) 乳化剂类产品 (2) 分类 ...

  2. lxml模块

    lxml主要用xpath.css选择器等来提取xml格式文档,html也是xml格式文档的一种. xpath方法返回列表的三种情况 返回空列表:没有找到任何元素 返回字符串列表:xpath规则匹配用了 ...

  3. 关于SpringBoot中出现的循环依赖问题

    环境: SpringBoot2.7.8 背景: 在增加出库订单时需要对物品表的的数量进行修改 因此我在OutboundController中创建了几个公共方法,并将其注入到Spring中,结果给我报了 ...

  4. python tkinter 使用(八)

    python tkinter 使用(八) 本文主要讲下tkinter库中的其他的一些模块,如simpleDialog,scrollerText等. 1: simpleDialog simpledial ...

  5. [转]NLog学习笔记

    配置文件 NLog所有的配置信息都可以写到一个单独的xml文件中,也可以在程序代码中进行配置. 配置文件位置 启动的时候,NLog会试图查找配置文件完成自动配置,查找的文件依次如下(找到配置信息则结束 ...

  6. thymeleaf使用

    thymeleaf使用 1.依赖 <parent> <artifactId>spring-boot-starter-parent</artifactId> < ...

  7. CentOS基线检测脚本

    本脚本适用于CentOS 7.5-7.9版本,其他版本不详 1.检查系统信息 查看代码 echo " " echo "########################## ...

  8. BUUCTF 加固题 Ezsql WriteUp

    文章目录 想直接要加固代码的点这里 题目 一.查看 二.进入目标机器加固 修改前的文件: 添加如下代码: 修改后的文件 三.Check 想直接要加固代码的点这里 题目 靶机地址解释: 第一行:目标机器 ...

  9. Next.js 开发指南 路由篇 | App Router

    前言 路由(routers)是应用的重要组成部分.所谓路由,有多种定义,对于应用层的单页应用程序而言,路由是一个决定 URL 如何呈现的库,在服务层实现 API 时,路由是解析请求并将请求定向到处理程 ...

  10. android ProgressBar样式

    实现进度条由浅黄(#ffff33)到深黄色(#ff6600)的渐变样式. 与进度条自动从0加载到99,进度条每次加1 android:max:进度条的最大值. android:progressDraw ...