前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Percona5.6.15线程池压力测试

Percona5.6.15线程池压力测试

作者头像
java达人
发布2018-01-31 18:50:03
8890
发布2018-01-31 18:50:03
举报
文章被收录于专栏:java达人java达人

http://www.mysqlperformanceblog.com/2013/03/16/simcity-outages-traffic-control-and-thread-pool-for-mysql/

这篇文章生动的描述了线程池的妙处,它可以解决高并发数据库性能下降。

试想着如果不设置交通信号灯,没有交警的指挥,让其车辆肆意行驶,那么造成的后果就是交通瘫痪,谁都抢行,结果谁都过不去,堵死了。那么就必须采取一定的措施,先放行一部分车辆,后续的就排队等待,直到交通畅通。——这就是线程池的作用。

每个客户端连接MySQL执行SQL语句会创建一个线程。一旦连接数量的增加超过某特定点性能将会下降。该特性使服务器保持最佳性能,即使大量的客户端连接,通过使用线程池服务器线程的数量将减少,这将减少CPU上下文切换和热锁的竞争。

下面我用虚拟机做了一次压力测试。

虚拟机配置:

代码语言:js
复制
root@percona1:~/percona-toolkit-2.2.4# pt-summary?
# Percona Toolkit System Summary Report ######################
? ? ? ?Date | 2014-02-04 01:51:35 UTC (local TZ: CST +0800)
? ?Hostname | percona1
? ? ?Uptime | ?1:48, ?3 users, ?load average: 0.62, 9.56, 17.38
? ? ?System | VMware, Inc.; VMware Virtual Platform; vNone (Other)
Service Tag | VMware-56 4d 4e ce 5e 61 55 0d-cb 94 85 3f 9e 9a 3e 79
? ?Platform | Linux
? ? Release | Debian GNU/Linux 7.3 (wheezy) (wheezy)
? ? ?Kernel | 3.2.0-4-amd64
Architecture | CPU = 64-bit, OS = 64-bit
? Threading | NPTL 2.13
? ? SELinux | No SELinux detected
Virtualized | VMWare
# Processor ##################################################
?Processors | physical = 2, cores = 4, virtual = 4, hyperthreading = no
? ? ?Speeds | 4x1895.729
? ? ?Models | 4xIntel(R) Core(TM) i3-3227U CPU @ 1.90GHz
? ? ?Caches | 4x3072 KB
# Memory #####################################################
? ? ? Total | 996.0M
? ? ? ?Free | 69.8M
? ? ? ?Used | physical = 926.2M, swap allocated = 1.3G, swap used = 439.8M, virtual = 1.3G
? ? Buffers | 2.4M
? ? ?Caches | 20.0M
? ? ? Dirty | 384 kB
? ? UsedRSS | 810.2M
?Swappiness | 60
DirtyPolicy | 20, 10
DirtyStatus | 0, 0

压力测试参数:

ysbench? --test=oltp? --mysql-table-engine=innodb --oltp-table-size=1000000 --max-requests=10000 --num-threads=10

并发1000个连接,最大请求数为10000。

结果如图:

很明显开启了线程池TPS要好于未开启的。

注:MySQL5.5和5.6只有在企业版(付费)才支持,社区版是没有这个功能的。

参考:http://www.percona.com/doc/percona-server/5.5/performance/threadpool.html

附Percona官方测试:

http://www.mysqlperformanceblog.com/2014/02/04/16000-active-connections-percona-server-continues-work-others-die/

附MySQL官方测试:

MySQL线程池

(仅适用于商业版)

为满足不断增长的用户、查询和数据通信量对性能和扩展性的持续需求,MySQL企业版提供了MySQL线程池。线程池提供了一种具有高度扩展性的线程处理模型,旨在减少管理客户连接和语句执行线程的开销。服务不断增长的用户连接数量及大通信量的在线应用性能和扩展性持续改善效果如下图所示:

60倍提高扩展性:读/写

与MySQL社区版服务器相比,带MySQL线程池的MySQL企业版可提供60倍的扩展性.

18倍提高扩展性:只读

与MySQL社区版服务器相比,带MySQL线程池的MySQL企业版可提供18倍的扩展性.

配置:

  • MySQL 5.6.11
  • Oracle Linux 6.3, Unbreakable Kernel 2.6.32
  • 4 sockets, 24 cores, 48 Threads
  • Intel(R) Xeon E7540 2GHz CPUs
  • 512GB DDR RAM

http://www.mysql.com/products/enterprise/scalability.html

本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处http://hcymysql.blog.51cto.com/5223301/1356326

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-12,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 java达人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL线程池
  • 60倍提高扩展性:读/写
  • 18倍提高扩展性:只读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com