MySQL HandleSocket

1372 ワード

さぎょうげんり
mysqlのPluginで、mysqldプロセスに統合されています.SQLの解析レイヤを直接スキップし、MySQLストレージレイヤに直接アクセスします.また、HandlerSocketはepollとworker-thread/thread-poolingのネットワークアーキテクチャを採用しており、より高性能である.
HandlerSocketのインストールと構成
  • mariadb部
  • 以降はこのプラグインが追加されており、インストールが必要な場合は
      install plugin handlersocket sonamee 'ahndlersocket.so'
    
  • を実行する必要があります.
  • 構成my.cnf
  • [mysqld]
    handlersocket_address="127.0.0.1"
    handlersocket_port="9998"
    handlersocket_port_wr="9999"
    innodb_buffer_pool_size = 1G
    
    

    そして再運転すればいいです.
  • php部分:composerを使うと
  •   php composer.phar require tz-lom/hsphp --no-update
    

    使えます
    基本的な使い方
    https://github.com/tz-lom/HSPHP
    //select
    $c = new \HSPHP\ReadSocket();
    $c->connect();$id = $c->getIndexId('data_base_name', 'table_name', '', 'id,name,some,thing,more');
    $c->select($id, '=', array(42)); // SELECT WITH PRIMARY KEY
    $response = $c->readResponse();
    //update
    $id = $c->getIndexId('data_base_name','table_name','','k,v');
    $c->update($id,'=',array(100500),array(100500,42)); // Update row(k,v) with id 100500 to k = 100500, v = 42
    $response = $c->readResponse(); // Has 1 if OK
    

    パフォーマンステスト
    これは私がやっていないので、4-5倍ぐらいでしょう.