mysql5.6 thread pool_mysql5.6 thread pool
从percona 的压测来看,确实很牛笔啊。提升很大。
http://www.mysqlperformanceblog.com/2014/01/29/percona-server-thread-pool-improvements/
当然,他指出目前mysql5.6 有2套thread pool ,一套是mysql企业版里面的,另外一套是maridb 的开发人员实现的,percona 在这个基础上又完善了一些,目前在percona mysql 里面可以直接用了。特别想应用一下。
2014年2月3日 15:03:19
但是我用实际测了一下,用的是percona 的tpcc 工具。线程开到400,500 的时候,就已经不行了。。pc 还不大好测试,一共2g内存。每个thread 都是有内存开销的。
之前tpcc 的帖子幸好还有。http://www.cnblogs.com/gqdw/p/3187394.html
mysql tpcc
mysql tpcc
./tpcc_load localhost tpcc root "" 5
./tpcc_start -hlocalhost -dtpcc1000 -uroot -w5 -c16 -r10 -l200
线程开到400,很多都是sleep的,即使开了thread pool 也没用。有时间到服务器上测一下。
AMD Athlon(tm) X2 240 Processor 这个cpu 2g 内存,
innodb_buffer_pool_size = 500M
#thread_handling=pool-of-threads
innodb_flush_log_at_trx_commit=2
max_connections=2000
能跑6000tpmc
表示每分钟能处理大概3000个订单的事物。每秒就是50个订单。
2014-02-04 10:01:55
发现之前对thread pool的认识是不对的,他其实不是一个直接提升性能的东西,
我们知道mysql 一般的模型是一个线程对应一个client 请求,当并发超过一定限度时,线程就互相争用系统资源,就比如cpu 100%了以后,你再多的client去连都是没用的,性能反而会直线下降。
就如这张图上的,直线下降。而用了thread pool 以后呢,控制连接数,剩下的放到pool 里面或者在外面等待,这样就不超系统的极限,性能得到了保证。
add 2014-02-04 23:15:39
又对服务器测了一下,8核的,12g内存。
发现最多能跑到4w tpmc 。很不错的成绩。
mysql5.6 thread pool_mysql5.6 thread pool相关推荐
- Thread系列之Thread.Join()
Thread.Join()方法,顾名思义,在一个线程中加入一些东西. MSDN上解释其作用为:阻塞 "调用线程" 直到某个线程结束. 这个翻译过来的解释有点晦涩.举个例子如下: s ...
- Android Thread第二次Thread.start()报错的疑问
为什么80%的码农都做不了架构师?>>> 网上说Thread不需要stop()的原因是因为运行到尾部就会自动释放,而代码: Thread myThread = new Thre ...
- php5.6non thread safe 区别,PHP版本Non Thread Safe和Thread Safe如何选择?区别是什么?
PHP版本分为Non Thread Safe和Thread Safe,Non Thread Safe是指非线程安全,Thread Safe是指线程安全,区别是什么?如何选择? Non Thread S ...
- java thread join()_Java Thread join() 的用法
Java Thread中, join() 方法是让调用该方法的主线程执行run()时暂时卡住,等run()执行完成后, 主线程再调用执行join()后面的代码.示例: class ThreadTest ...
- Thread.yield()和Thread.sleep(0)
关于Thread.yield()和Thread.sleep(0)的语义问题真是一个让人挠头的问题,翻了好多资料,在java6语言规范中看到了一段这样的描述: 重点在红框中,简而言之就是:sleep(0 ...
- 【java】Thread.Sleep 与 Thread.onSpinWait
1.概述 转载:[java]Thread.Sleep 与 Thread.onSpinWait 2.Thread.Sleep 一般情况下,我们让线程等待一段时间都是使用Thread.sleep()命令. ...
- c++并发编程之thread::join()和thread::detach()(转)
thread::join(): 阻塞当前线程,直至 *this 所标识的线程完成其执行.*this 所标识的线程的完成同步于从 join() 的成功返回. 该方法简单暴力,主线程等待子进程期间什么都不 ...
- Thread.interrupted()与Thread.currentThread().isInterrupted()区别
背景 今天在研究ThreadPoolExecutor源码时,在runWorker(Worker w)的方法中有一个判断条件分别用到了Thread.interrupted()和Thread.curren ...
- Thread.currentThread().interrupt()和Thread.interrupted()和Thread.currentThread().isInterrupted()
Thread.interrupted() 可以返回当前标志位并使标志位为false Thread.currentThread().interrupt() 可以使标志位置为true Thread.cur ...
最新文章
- 重磅!Facebook公布PyTorch 1.0预览版!
- java基于udp实现键盘录入聊天
- 【C 语言】文件操作 ( 文件加密解密 | 解密文件 )
- 12月23号 Foundation库NSString操作
- Eclipse中看不到jsp的页面效果
- 新磁盘创建lvm并挂载
- c语言实参和形参占用存储单元_C语言判断题题库
- 如何通过JNI在Java中调用C库函数
- 用cmd来向mysql导入sql文件
- [翻译]NUnit---Explicit and Ignore Attributes(十二)
- 洛谷—— P1018 乘积最大
- xamarin android pdf,Xamarin 中的Android资源及使用.pdf
- 组装一台工作游戏两用机
- 风暴孵化分享:新手小白想做手游代理可不可以?
- ubuntu设置分辨率
- 羽毛球·印尼赛 | 国羽男双新高塔组合惊喜进决赛
- python项目二:多种验证码及二维码输出
- T-SQL与PL/SQL的比较
- 秒懂mysql中的group by用法
- python实现繁简体自动转换小工具