亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 45821 | 回復(fù): 2
打印 上一主題 下一主題

Sort_Buffer_Size 設(shè)置對服務(wù)器性能的影響 【原創(chuàng)】 [復(fù)制鏈接]

論壇徽章:
9
每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每周發(fā)帖之星
日期:2016-03-07 16:30:25
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-10-26 11:44 |只看該作者 |倒序瀏覽
本帖最后由 cenalulu 于 2010-10-26 11:48 編輯

Written by cenalulu @ 2010-10-26

基礎(chǔ)知識:

1。 Sort_Buffer_Size 是一個connection級參數(shù),在每個connection第一次需要使用這個buffer的時候,一次性分配設(shè)置的內(nèi)存。
2。 Sort_Buffer_Size 并不是越大越好,由于是connection級的參數(shù),過大的設(shè)置+高并發(fā)可能會耗盡系統(tǒng)內(nèi)存資源。
3。 文檔說“On Linux, there are thresholds of 256KB and 2MB where larger values may significantly slow down memory allocation”

本文主要針對第三點做測試:
據(jù)說Sort_Buffer_Size 超過2KB的時候,就會使用mmap() 而不是 malloc() 來進(jìn)行內(nèi)存分配,導(dǎo)致效率降低。


環(huán)境:

為了更大的體現(xiàn)性能差距,使用 1GB內(nèi)存的Fedora 虛擬機(jī)進(jìn)行測試

測試表結(jié)構(gòu):

1w 行的表, 表結(jié)構(gòu)
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| k     | int(10) unsigned | NO   | MUL | 0       |                |
| c     | char(120)        | NO   |     |         |                |
| pad   | char(60)         | NO   |     |         |                |
+-------+------------------+------+-----+---------+----------------+


測試語句:

分別設(shè)置Sort_Buffer_Size 為 250K ,512K, 3M ,然后運(yùn)行以下語句,查看運(yùn)行時間。
1. sql_no_cache 防止query cache起效。
2. limit 1 為了減少排序占執(zhí)行時間的比重,更多的體現(xiàn)內(nèi)存分配帶來的影響
3. 語句explain的結(jié)果是 filesort , 以確保使用sort_buffer

  1. mysqlslap -uroot -h127.0.0.1 -q ' select sql_no_cache * from sbtest order by pad limit 1' -c 100 --create-schema=test -i 10
復(fù)制代碼
測試結(jié)果:

執(zhí)行時間
250K : 1.318s
512K : 1.944s
3M     : 2.412s

250 K
[root@localhost tmp]# mysqlslap -uroot -h127.0.0.1 -q ' select sql_no_cache * from sbtest order by pad limit 1' -c 100 --create-schema=test -i 10
Benchmark
        Average number of seconds to run all queries: 1.318 seconds
        Minimum number of seconds to run all queries: 1.285 seconds
        Maximum number of seconds to run all queries: 1.378 seconds
        Number of clients running queries: 100
        Average number of queries per client: 1

512 K

[root@localhost tmp]# mysqlslap -uroot -h127.0.0.1 -q ' select sql_no_cache * from sbtest order by pad limit 1' -c 100 --create-schema=test -i 10
Benchmark
        Average number of seconds to run all queries: 1.944 seconds
        Minimum number of seconds to run all queries: 1.362 seconds
        Maximum number of seconds to run all queries: 4.406 seconds
        Number of clients running queries: 100
        Average number of queries per client: 1

3M
[root@localhost tmp]# mysqlslap -uroot -h127.0.0.1 -q ' select sql_no_cache * from sbtest order by pad limit 1' -c 100 --create-schema=test -i 10
Benchmark
        Average number of seconds to run all queries: 2.412 seconds
        Minimum number of seconds to run all queries: 2.376 seconds
        Maximum number of seconds to run all queries: 2.527 seconds
        Number of clients running queries: 100
        Average number of queries per client: 1


結(jié)論:
確實如文檔所說, 使用mmap 分配內(nèi)存時,會帶來性能上的損耗,影響大約在 30% 左右。

論壇徽章:
0
2 [報告]
發(fā)表于 2010-10-26 11:57 |只看該作者
250K : 1.318s
512K : 1.944s
3M     : 2.412s
Sort_Buffer_Size 越大,查詢所消耗的時間也越多??應(yīng)該有個最合適的值,曲線應(yīng)該像拋物線的,多測試幾個值看看呢?   支持原創(chuàng)!

論壇徽章:
9
每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00每日論壇發(fā)貼之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-01-04 06:20:00數(shù)據(jù)庫技術(shù)版塊每周發(fā)帖之星
日期:2016-03-07 16:30:25
3 [報告]
發(fā)表于 2010-10-26 12:32 |只看該作者
250K : 1.318s
512K : 1.944s
3M     : 2.412s
Sort_Buffer_Size 越大,查詢所消耗的時間也越多??應(yīng) ...
飛鴻無痕 發(fā)表于 2010-10-26 11:57



由于是limit 1,因此減弱了buffer size對排序速度的影響。
其實buffer size 越大,所需要進(jìn)行的sort-merge的次數(shù)越少,執(zhí)行時間越短。視具體的語句而定。
我只是想說明下,并不是越大越好。 也并不存在一個絕對的最佳值。
還是要看具體的業(yè)務(wù)環(huán)境決定值的大小。 對于高并發(fā)的應(yīng)用,還是別設(shè)置太大的比較好。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP