当前位置: 首页 > news >正文

江苏元鼎建设工程有限公司网站服务网站建设公司

江苏元鼎建设工程有限公司网站,服务网站建设公司,西安网页设计公司推荐,如何做正规的采集网站目录 1. mysqlslap介绍 2. mysqlslap常用参数 3. 开始测试 3.1 单线程 3.2 多线程 3.3 50和100个并发 3.4 迭代测试 4.结果解释 5.线程池 5.1 开启线程池 5.2 关于线程池的参数 1. mysqlslap介绍 mysqlslap是一个诊断程序#xff0c;旨在模拟客户端并发访问MySQ…目录 1. mysqlslap介绍 2. mysqlslap常用参数 3. 开始测试 3.1 单线程 3.2 多线程  3.3 50和100个并发 3.4 迭代测试  4.结果解释 5.线程池 5.1 开启线程池 5.2 关于线程池的参数 1. mysqlslap介绍 mysqlslap是一个诊断程序旨在模拟客户端并发访问MySQL服务器测试MySQL服务的负载主要工作场景就是对数据库服务器做基准测试。 mysqlslap官方文档 MySQL :: MySQL 5.7 Reference Manual :: 4.5.8 mysqlslap — A Load Emulation Client 2. mysqlslap常用参数 --auto-generate-sql, -a 自动生成测试表和数据表示用mysqlslap工具自己生成的SQL脚本来测试并发压力。 --auto-generate-sql-load-typetype 测试语句的类型。代表要测试的环境是读操作还是写操作还是两者混合的。取值包括readkeywriteupdate和mixed(默认)。 --auto-generate-sql-add-auto-increment 代表对生成的表自动添加auto_increment列从5.1.18版本开始支持。 --number-char-colsN, -x N 自动生成的测试表中包含多少个字符类型的列默认1 --number-int-colsN, -y N 自动生成的测试表中包含多少个数字类型的列默认1 --number-of-queriesN 总的测试查询次数(并发客户数×每客户查询次数) --queryname,-q 使用自定义脚本执行测试例如可以调用自定义的一个存储过程或者sql语句来执行测试。 --create-schema 代表自定义的测试库名称测试的schemaMySQL中schema也就是database。 --commintN 多少条DML后提交一次。 --compress, -C 如果服务器和客户端支持都压缩则压缩信息传递。 --concurrencyN, -c N 表示并发量也就是模拟多少个客户端同时执行select。可指定多个值以逗号或者--delimiter参数指定的值做为分隔符。例如--concurrency100,200,500。 --engineengine_name, -e engine_name 代表要测试的引擎可以有多个用分隔符隔开。例如--enginesmyisam,innodb。 --iterationsN, -i N 测试执行的迭代次数代表要在不同并发环境下各自运行测试多少次。 --only-print 只打印测试语句而不实际执行。 --detachN 执行N条语句后断开重连。 --debug-info, -T 打印内存和CPU的相关信息。 测试的过程需要生成测试表插入测试数据这个mysqlslap可以自动生成默认生成一个mysqlslap的schema如果已经存在则先删除。可以用--only-print来打印实际的测试过程整个测试完成后不会在数据库中留下痕迹。 3. 开始测试 sbtest.sql是自己编写的压力测试脚本 3.1 单线程 [rootlocalhost soft]# mysqlslap -uroot -p123456 --querystock.sql --number-of-queries100000 3.2 多线程  [rootlocalhost soft]# mysqlslap -uroot -p123456 -c4 --querysbtest.sql --number-of-queries100000 3.3 50和100个并发 [rootlocalhost soft]# mysqlslap -uroot -p123456 -c50,100 --querystock.sql --number-of-queries100000 mysqlslap: [Warning] Using a password on the command line interface can be insecure. BenchmarkAverage number of seconds to run all queries: 21.113 secondsMinimum number of seconds to run all queries: 21.113 secondsMaximum number of seconds to run all queries: 21.113 secondsNumber of clients running queries: 50Average number of queries per client: 2000BenchmarkAverage number of seconds to run all queries: 21.445 secondsMinimum number of seconds to run all queries: 21.445 secondsMaximum number of seconds to run all queries: 21.445 secondsNumber of clients running queries: 100Average number of queries per client: 1000 3.4 迭代测试  50和100个并发3次迭代测试3次执行测试得到平均值 [rootlocalhost soft]# mysqlslap -uroot -p123456 -c50,100 --querystock.sql --number-of-queries100000 -i3 mysqlslap: [Warning] Using a password on the command line interface can be insecure. BenchmarkAverage number of seconds to run all queries: 20.784 secondsMinimum number of seconds to run all queries: 20.439 secondsMaximum number of seconds to run all queries: 21.095 secondsNumber of clients running queries: 50Average number of queries per client: 2000BenchmarkAverage number of seconds to run all queries: 22.958 secondsMinimum number of seconds to run all queries: 22.471 secondsMaximum number of seconds to run all queries: 23.381 secondsNumber of clients running queries: 100Average number of queries per client: 1000 4.结果解释 Benchmark#运行所有语句的平均秒数Average number of seconds to run all queries: 22.958 seconds#运行所有语句的最小秒数Minimum number of seconds to run all queries: 22.471 seconds#运行所有语句的最大秒数Maximum number of seconds to run all queries: 23.381 seconds#100并发Number of clients running queries: 100#每个客户端执行的语句数Average number of queries per client: 1000 当测试线程为4,8,16,32,64,128,256,512,1024时线程为32 QPS达到最大往后线程越多QPS越低需要设置线程池控制并发量 5.线程池 为了解决one-thread-per-connection(每个连接一个线程)存在的频繁创建和销毁大量线程以及高并发情况下msql吞吐量严重下降的问题实现mysql在高并发环境依然能保持较高的性能。 Oracle和MariaDB都推出了ThreadPool方案目前Oracle的Thread pool实现为Plugin方式并且只添加到在Enterprise版本中Percona移植了MariaDB的Thread pool功能并做了进一步的优化。我的环境是基于Percona MySQL 5.7版本。 为了处理并发请求MySQL提供了thread_handling 参数用于控制线程的管理方式。它可以影响数据库的性能、吞吐量以及对并发请求的处理能力。在默认情况下thread_handling 参数的值为one-thread-per-connection即每个客户端连接都会分配一个独立的线程来处理。 常见的 thread_handling 参数取值perconna mysql 1. one-thread-per-connection:每个客户端连接分配一个独立的线程来处理。这是默认的线程管理方式适用于低并发的情况。在高并发的环境下由于线程的创建和销毁开销较大可能导致性能下降。 2. one-thread-for-all-connections:所有客户端连接共享一个线程。这种方式适用于高并发的应用场景可以降低线程创建和销毁的开销提高数据库的吞吐量。不过由于只有一个线程处理所有的连接可能会导致请求处理的延迟增加。 3. pool-of-threads:为客户端连接维护一个线程池连接请求会被分配到池中的空闲线程进行处理。这种方式适用于中等并发的场景可以在一定程度上平衡线程的创建和销毁开销与请求处理的延迟。 5.1 开启线程池 perconna mysql配置文件添加如下参数重启mysql使配置生效 [rootlocalhost ~]# vi /etc/my.cnf [mysqld] thread_handling pool-of-threads 5.2 关于线程池的参数 (rootlocalhost) [(none)] show variables like thread%; ------------------------------------------------ | Variable_name | Value | ------------------------------------------------ | thread_cache_size | 13 | | thread_handling | pool-of-threads | | thread_pool_high_prio_mode | transactions | | thread_pool_high_prio_tickets | 4294967295 | | thread_pool_idle_timeout | 60 | | thread_pool_max_threads | 100000 | | thread_pool_oversubscribe | 3 | #group中的最大线程数每个group的最大线程数为thread_pool_oversubscribe1 | thread_pool_size | 4 | #线程池的Group的数量默认为系统CPU的个数 | thread_pool_stall_limit | 500 | | thread_stack | 262144 | #每个线程堆栈大小 | thread_statistics | OFF | # ------------------------------------------------ thread_pool_size 该参数是设置线程池的Group的数量默认为系统CPU的个数充分利用CPU资源。 thread_pool_oversubscribe 该参数设置group中的最大线程数每个group的最大线程数为thread_pool_oversubscribe1注意listener线程不包含在内。 thread_pool_high_prio_mode 高优先级队列的控制参数有三个值(transactions/statements/none)默认是transactions三个值的含义如下 transactions对于已经启动事务的语句放到高优先级队列中不过还取决于后面的thread_pool_high_prio_tickets参数。 statements这个模式所有的语句都会放到高优先级队列中不会使用到低优先级队列。 none这个模式不使用高优先级队列。 thread_pool_high_prio_tickets 该参数控制每个连接最多语序多少次被放入高优先级队列中默认为4294967295注意这个参数只有在thread_pool_high_prio_mode为transactions的时候才有效果。 thread_pool_idle_timeout worker线程最大空闲时间默认为60秒超过限制后会退出。 thread_pool_max_threads 该参数用来限制线程池最大的线程数超过该限制后将无法再创建更多的线程默认为100000。 thread_pool_stall_limit 该参数设置timer线程的检测group是否异常的时间间隔默认为500ms。
http://www.zqtcl.cn/news/226262/

相关文章:

  • 做外贸网站的价格wordpress远方的雪
  • 有哪些做应援的网站网站开发产生费用分录怎么写
  • 如何在微信平台做购买网站广安 网站建设
  • 怎么建立和设计网站html5高端酒水饮料企业网站模版
  • 网站排版尺寸wordpress 生成目录
  • 网站建设属于什么费用wordpress破解管理员帐号
  • 东莞市官网网站建设专业wordpress主题开发
  • 常熟做网站优化合肥百度竞价推广代理公司
  • 专业做招聘的网站人气最旺的传奇手游
  • 西安网站建设新闻柳市专业网站托管
  • 网站怎么做移动端织梦网暂时关闭网站
  • 上海响应式网站建设企业seo 优化是什么
  • pc主页网站建设专业公司网站建设服务公司
  • js 取网站域名做服装团购有哪些网站有哪些
  • ysl网站设计论文网站快照回档
  • 网站建设成本计划汕头网站开发服务
  • 云朵课堂网站开发怎么收费wordpress安装完不显示
  • 网站建设进什么分录wordpress5.0 安装
  • 网站建设丷金手指专业十五户县规划建设和住房保障局网站
  • 普通门户网站开发价格怎么查公司信息
  • 广告传媒公司网站怎么做高品质的网站开发公司
  • 建设品牌型网站制作一起做玩具网站
  • 中山品牌网站设计自建站怎么做
  • 最牛免费网站建设wordpress 相册功能
  • 网站开发是培训网站开发毕业设计评审表
  • 网站对网友发帖隐私做处理网站怎么上传模板
  • 网站建设大神级公司网站 百度地图
  • 网站营销定义高端网站建设免费分析
  • 韩国网站建站html5修改器下载
  • 网站做联盟广告能赚钱吗如何制作微信小程序教程