рд╣реИрдВрдбрд▓рд░ рд╕реЙрдХреЗрдЯ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдФрд░ рдЗрдВрд╕рд░реНрдЯ рдХреА рдХреБрдЫ рд╕реВрдХреНрд╖реНрдорддрд╛рдПрдБ

рд▓реЗрдЦ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рд╕реЙрдХреЗрдЯ рдФрд░ php_handlerocket рдЕрдкрдбреЗрдЯ рдФрд░ рдЗрдВрд╕рд░реНрдЯ рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡



рдХреБрдЫ рд╕рдордп UPDATE & INSERT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдореЗрдЬ рдкрд░ рд╕рдм рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

CREATE TABLE `test`.`test` (

`keyid` varchar(45),

`value` varchar(45),

PRIMARY KEY (`keyid`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251








рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ

$port = 9998;

$hs = new HandlerSocket($host, $port);

$retval = $hs->executeInsert(0, array( '112233090' , '12212212' ));

var_dump($retval);



* This source code was highlighted with Source Code Highlighter .






рдЬрд╛рд░реА bool(false);





bool(false);









рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЫрд╛рддреА рдмрд╕ рдЦреЛрд▓рд╛:

рдЕрдЧрд░ рд╣рдо SHOW PROCESSLIST рджреЗрдЦрддреЗ рд╣реИрдВ

рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╕реВрдЪреА рд╣реИрдВрдбрд▓рд░рдХреЗрдЯ рджрд┐рдЦрд╛рдПрдВ

рддрдм рдореЛрдб рдореЗрдВ рд╕реНрдЯреЗрдЯ рдХреЙрд▓рдо рдХреА рд▓рд╛рдЗрди 17 рд╕рднреА рдкрд┐рдЫрд▓реА рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддреА рд╣реИ:

mode=rd

mode=wr







рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╣реИрдВрдбрд▓рд░ рд╕реЙрдХреЗрдЯ рдФрд░ php_handlerocket рдХреЗ рд╕рд╛рде рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡ рдЬрдм рд╣реИрдВрдбрд▓рд░ рд╕реЙрдХреЗрдЯ , 16 рд░реАрдбрд┐рдВрдЧ рдереНрд░реЗрдб рдФрд░ рдПрдХ рд▓реЗрдЦрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдбреЗрдЯрд╛ my.cnf рдореЗрдВ рд╕реЗрдЯ рд╣реИ

loose_handlersocket_threads = 16

# the number of worker threads (for read requests)



loose_handlersocket_threads_wr = 1

# the number of worker threads (for write requests)







рдЗрд╕рд▓рд┐рдП, рд░реАрдбрд┐рдВрдЧ рдереНрд░реЗрдбреНрд╕ (рдереНрд░реЗрдбреНрд╕) 9998 рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдб рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ 9999 рдкреЛрд░реНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк INSERT / UPDATE / DELETE рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреЛрд░реНрдЯ 9999 рдкрд░ рдЗрдВрдбреЗрдХреНрд╕ рдЦреЛрд▓рдирд╛ рд╣реЛрдЧрд╛

$host = 'localhost' ;

$port = 9998;

$port_wr = 9999;



$hs = new HandlerSocket($host, $port_ wr);




* This source code was highlighted with Source Code Highlighter .








рдЗрд╕реА рддрд░рд╣ рдореВрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде: telnet akalend.local 9998

tlnet: connect to address fe80::217:f2ff:feee:3a60: Connection refused

Trying 192.168.1.10...

Connected to akalend.local.

Escape character is '^]'.

P 0 test test PRIMARY keyid,value

0 1

0 = 1 123123

0 2 123123 asdasdasd

0 = 1 123123 0 0 D

2 1 readonly





telnet akalend.local 9998

tlnet: connect to address fe80::217:f2ff:feee:3a60: Connection refused

Trying 192.168.1.10...

Connected to akalend.local.

Escape character is '^]'.

P 0 test test PRIMARY keyid,value

0 1

0 = 1 123123

0 2 123123 asdasdasd

0 = 1 123123 0 0 D

2 1 readonly







INSERT / UPDATE рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ



telnet akalend.local 9999

Trying fe80::217:f2ff:feee:3a60...

telnet: connect to address fe80::217:f2ff:feee:3a60: Connection refused

Trying 192.168.1.10...

Connected to akalend.local.

Escape character is '^]'.

P 0 test test PRIMARY keyid,value

0 1

0 = 1 123123 1 0 D

0 1 1

0 + 2 1111 12345

0 1





рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрддрд╛ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред



рдЕрдм рд╕реВрдЪреА 1 рдореЗрдВ рдХреЛрдб рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджреЗрдЧрд╛:

bool(true)









рдЕрдВрдд рдореЗрдВ, MacX 2Gb 2.3 GHz CoreDuo рдХрд╛ рдереЛрдбрд╝рд╛ рдкрд░реАрдХреНрд╖рдг, рдЙрджреНрджреЗрд╢реНрдп (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕) рдкрд░ рдХреБрдЫ рднреА рддреЗрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



рдореЗрдХрдЪреЗ, рд░реЗрдбрд┐рд╕, рдореЗрдореНрдЪреЗрдЪреЗрдм, рдПрдЪрдПрд╕, рддреЛрддреЛ рддрд╛рдирд╛рд╢рд╛рд╣ рдореЗрдВ 32 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ 100,000 рд░рд┐рдХреЙрд░реНрдб рд▓рд┐рдЦрдирд╛ / рдкрдврд╝рдирд╛

рдПрдХ рдзрд╛рдЧреЗ рдореЗрдВ, рдПрдХ рдХрдиреЗрдХреНрд╢рди, рджреЗрд╢реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ред



рдкрд░рд┐рдгрд╛рдо:

NoSQL рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд
рдПрдЪ рдПрд╕ 33.4 24.6 * / 26.3 **
Mc 16.7 15.6
McDb 21.4 17.5
redis 19.4 19.6
TokyoTr 22.1 22.8




рд╕реЗрдХрдВрдб рдореЗрдВ рд╕рдордп, рдФрд╕рддрди 3-5 рдорд╛рдк рдХрд┐рдП рдЧрдПред

* - рдкрдврд╝рдиреЗ рдХреЗ рдмрдВрджрд░рдЧрд╛рд╣ рдХреЗ рд▓рд┐рдП

** - рд▓реЗрдЦрди рдмрдВрджрд░рдЧрд╛рд╣ рдХреЗ рд▓рд┐рдП

рдореИрдВ рдФрд░ рдХреНрдпрд╛ рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛: рдореЗрдореНрдмреЗрд╕ рдФрд░ рдЯрд╛рд░рдирдЯреВрд▓



All Articles