从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相关推荐

  1. Thread系列之Thread.Join()

    Thread.Join()方法,顾名思义,在一个线程中加入一些东西. MSDN上解释其作用为:阻塞 "调用线程" 直到某个线程结束. 这个翻译过来的解释有点晦涩.举个例子如下: s ...

  2. Android Thread第二次Thread.start()报错的疑问

    为什么80%的码农都做不了架构师?>>>    网上说Thread不需要stop()的原因是因为运行到尾部就会自动释放,而代码: Thread myThread = new Thre ...

  3. php5.6non thread safe 区别,PHP版本Non Thread Safe和Thread Safe如何选择?区别是什么?

    PHP版本分为Non Thread Safe和Thread Safe,Non Thread Safe是指非线程安全,Thread Safe是指线程安全,区别是什么?如何选择? Non Thread S ...

  4. java thread join()_Java Thread join() 的用法

    Java Thread中, join() 方法是让调用该方法的主线程执行run()时暂时卡住,等run()执行完成后, 主线程再调用执行join()后面的代码.示例: class ThreadTest ...

  5. Thread.yield()和Thread.sleep(0)

    关于Thread.yield()和Thread.sleep(0)的语义问题真是一个让人挠头的问题,翻了好多资料,在java6语言规范中看到了一段这样的描述: 重点在红框中,简而言之就是:sleep(0 ...

  6. 【java】Thread.Sleep 与 Thread.onSpinWait

    1.概述 转载:[java]Thread.Sleep 与 Thread.onSpinWait 2.Thread.Sleep 一般情况下,我们让线程等待一段时间都是使用Thread.sleep()命令. ...

  7. c++并发编程之thread::join()和thread::detach()(转)

    thread::join(): 阻塞当前线程,直至 *this 所标识的线程完成其执行.*this 所标识的线程的完成同步于从 join() 的成功返回. 该方法简单暴力,主线程等待子进程期间什么都不 ...

  8. Thread.interrupted()与Thread.currentThread().isInterrupted()区别

    背景 今天在研究ThreadPoolExecutor源码时,在runWorker(Worker w)的方法中有一个判断条件分别用到了Thread.interrupted()和Thread.curren ...

  9. Thread.currentThread().interrupt()和Thread.interrupted()和Thread.currentThread().isInterrupted()

    Thread.interrupted() 可以返回当前标志位并使标志位为false Thread.currentThread().interrupt() 可以使标志位置为true Thread.cur ...

最新文章

  1. 重磅!Facebook公布PyTorch 1.0预览版!
  2. java基于udp实现键盘录入聊天
  3. 【C 语言】文件操作 ( 文件加密解密 | 解密文件 )
  4. 12月23号 Foundation库NSString操作
  5. Eclipse中看不到jsp的页面效果
  6. 新磁盘创建lvm并挂载
  7. c语言实参和形参占用存储单元_C语言判断题题库
  8. 如何通过JNI在Java中调用C库函数
  9. 用cmd来向mysql导入sql文件
  10. [翻译]NUnit---Explicit and Ignore Attributes(十二)
  11. 洛谷—— P1018 乘积最大
  12. xamarin android pdf,Xamarin 中的Android资源及使用.pdf
  13. 组装一台工作游戏两用机
  14. 风暴孵化分享:新手小白想做手游代理可不可以?
  15. ubuntu设置分辨率
  16. 羽毛球·印尼赛 | 国羽男双新高塔组合惊喜进决赛
  17. python项目二:多种验证码及二维码输出
  18. T-SQL与PL/SQL的比较
  19. 秒懂mysql中的group by用法
  20. python实现繁简体自动转换小工具

热门文章

  1. MLeaksFinder简单实现原理
  2. Windows和Linux的编译理解
  3. Windows Server 2012关闭Server Manager开机自启动
  4. 安装hadoop图文
  5. 如果有电脑——计算机达人成长之路(36)
  6. 深度学习 - 相关名词概念
  7. ionic中的ion-option-button
  8. poj 3321 Apple Tree
  9. 关于spring aop Advisor排序问题
  10. 朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素