欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql秒查詢,怎樣實(shí)現(xiàn)mysql查詢每秒一萬次

老白2年前58瀏覽0評(píng)論
mysql秒查詢,怎樣實(shí)現(xiàn)mysql查詢每秒一萬次?

隨著Web應(yīng)用變得越來越復(fù)雜,單純的mysql + Memcached似乎已滿足不了數(shù)據(jù)存儲(chǔ)的需求,一些企業(yè)紛紛轉(zhuǎn)向NoSQL方案,比如MongoDB、CouchDB、 TokyoCabinet/Tyrant、Cassandra等。在他們看來,如果數(shù)據(jù)訪問模式不是很復(fù)雜,用不上SQL數(shù)據(jù)庫。然而,DeNA公司截然相反,他們選擇了 "only MySQL" 的方案,且獲得了遠(yuǎn)遠(yuǎn)超越NoSQL的性能。

該公司仍在使用MySQL + Memcached,Memcached主要用于前端Cache,比如預(yù)處理的HTML、計(jì)數(shù)和摘要信息等,但數(shù)據(jù)行并不放在Cache里,而是直接從數(shù)據(jù)庫查,因?yàn)槠胀ǖ姆?wù)器就可以獲得75萬次每秒的查詢,當(dāng)前又有哪種NoSQL可以做到呢?

可以使用sysbench、super-smack、mysqlslap等工具測試MySQL性能,比如

[matsunobu@host ~]$ mysqlslap --query="select user_name,..

from test.user where user_id=1" \

--number-of-queries=10000000 --concurrency=30 --host=xxx -uroot

然后使用如下命令得到每秒讀取的行數(shù),

[matsunobu@host ~]$ mysqladmin extended-status -i 1 -r -uroot \

grep -e "Com_select"

...

Com_select | 107069

Com_select | 108873

Com_select | 108921

Com_select | 109511

Com_select | 108084

Com_select | 108483

Com_select | 108115

...

可以使用vmstat和Oprofile等工具診斷系統(tǒng)瓶頸。

MySQL Cluster因?yàn)樾阅軉栴}一直受人批判,為改善這種情況引入了NDBAPI,使得性能提升了N倍。但對(duì)于非集群情況怎么優(yōu)化呢?通過MySQL瓶頸分 析,發(fā)現(xiàn)大部分時(shí)間花費(fèi)在SQL解析和表操作上,如果繞過這層操作直接存取存儲(chǔ)引擎,可大大提升性能,MySQL的插件HandlerSocket正是由 此獲得了每秒75萬次查詢操作的性能,這個(gè)評(píng)測數(shù)據(jù)無疑會(huì)顛覆整個(gè)NoSQL世界。另外,HandlerSocket支持批量讀取和寫操作,這進(jìn)一步提升 了它的性能。