• 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<create_table.sql
    mysql  tpcc<add_fkey_idx.sql
    ./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 。很不错的成绩。

  • 相关阅读:
    docker容器,镜像常用操作
    微信小程序登录状态
    微信小程序登录流程图
    GET和POST可传递的值到底有多大?
    php发送请求
    thinkphp 导入微信小程序加密解密库
    thinkphp 随机获取一条数据
    bootstrap row 行间距
    webstorm es6 语法报错
    Laravel
  • 原文地址:https://www.cnblogs.com/gqdw/p/3537361.html
Copyright © 2020-2023  润新知