Upload
rio-puja-laksana
View
217
Download
0
Embed Size (px)
Citation preview
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 1/14
Fusion-io MySQL multi-instances report
Percona Inc.,Vadim Tkachenko
Oct-2011
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 2/14
Contents
0 Introduction 3
1 Testing methodology 4
2 Results 62.1 2400W, 120GB memory . . . . . . . . . . . . . . . . . 62.2 2400W, 64GB memory . . . . . . . . . . . . . . . . . 72.3 1200W, 120GB memory . . . . . . . . . . . . . . . . . 82.4 1200W, 64GB memory . . . . . . . . . . . . . . . . . 9
3 Conclusions 10
A Systems Specifications 11
A.1 Server configuration . . . . . . . . . . . . . . . . . . . 11A.2 Client configuration . . . . . . . . . . . . . . . . . . . . 11
B MySQL configuration 12
2
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 3/14
0 Introduction
The goal of this research is get most performance from Fusion-io ioDrivecard, used to run MySQL database server.
It is known that MySQL due internal limitations is not able to utilizeall CPU and IO resources available on modern hardware. Idea is to runmultiple instances of MySQL to gain better performance.
The research is sponsored by Fusion-io, Inc
3
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 4/14
1 Testing methodology
For tests we usedtpcc-mysql package, which generates TPCC-like workloadon MySQL systems.
1. Server hardware: Dell PowerEdge R815, details in Appendix A.1
2. Storage: Fusion-io ioDrive Duo 640GB MLC. Fusion-io driver version:2.3.1 build 123; Firmware v5.0.7, rev 101971
3. Software: Percona Server 5.5.15, configuration in Appendix B
4. Client hardware: IBM x3650, details in Appendix A.2
tpcc-mysql tests were run for following combinations:
• 2400W, big buffer pool
– 1 MySQL instance, 2400 warehouses (220GB of data), 120GB buffer pool
– 2 MySQL instances, 1200 warehouses (110GB of data) each, 60GB buffer pool each
– 4 MySQL instances, 600 warehouses (55GB of data) each, 30GB buffer pool each
• 2400W, small buffer pool
– 1 MySQL instance, 2400 warehouses (220GB of data), 64GB bufferpool
– 2 MySQL instances, 1200 warehouses (110GB of data) each, 32GB buffer pool each
– 4 MySQL instances, 600 warehouses (55GB of data) each, 16GB buffer pool each
• 1200W, big buffer pool
– 1 MySQL instance, 1200 warehouses (110GB of data), 120GB buffer pool
– 2 MySQL instances, 600 warehouses (55GB of data) each, 60GB buffer pool each
• 1200W, small buffer pool
– 1 MySQL instance, 1200 warehouses (110GB of data), 64GB bufferpool
4
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 5/14
– 2 MySQL instances, 600 warehouses (55GB of data) each, 32GB
buffer pool each
The purpose of different combination of data and memory sizes, was tocheck how data/memory ratio affects results.
We used 48 user sessions and we performed 2700 sec long run, gatheringdata for New Order Transaction each 10 seconds.
That is, for each set of user sessions, we take 270 throughput measure-ments.
Based on this, we constructed the following metric, which we use asfinal result:
• Median Throughput for last 900 sec, to avoid warm-up influence onresults.
5
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 6/14
2 Results
2.1 2400W, 120GB memory
Table 1: Results for 2400W, 120GB memory
Instances 1 2 4Median Throughput 11184 15668 18738
Ratio - 1.4x 1.68x
FusionIO, 48 threads, 2400W − 120GB BP
Instances
T h r o u g h p u t , N O T
/ 1 0 s e c
0
5000
10000
15000
11184
15668
18738
1 2 4
6
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 7/14
2.2 2400W, 64GB memory
Table 2: Results for 2400W, 64GB memory
Instances 1 2 4Median Throughput 4810 8786 11952
Ratio - 1.83x 2.48x
FusionIO, 48 threads, 2400W − 64GB BP
Instances
T h r o u g h p u t , N O T / 1 0 s e c
0
2000
4000
6000
8000
10000
12000
4810
8786
11952
1 2 4
7
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 8/14
2.3 1200W, 120GB memory
Table 3: Results for 1200W, 120GB memory
Instances 1 2Median Throughput 12069 17590
Ratio - 1.46x
FusionIO, 48 threads, 1200W − 120GB BP
Instances
T h r o u g h p u t , N O T / 1 0 s e c
0
5000
10000
15000
12069
17590
1 2
8
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 9/14
2.4 1200W, 64GB memory
Table 4: Results for 1200W, 64GB memory
Instances 1 2Median Throughput 11362 16070
Ratio - 1.41x
FusionIO, 48 threads, 1200W − 64GB BP
Instances
T h r o u g h p u t , N O T / 1 0 s e c
0
5000
10000
15000
11362
16070
1 2
9
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 10/14
3 Conclusions
In conclusion we can highlight:
• Running multiple instances shows good improvement in throughput.1.4x-1.8x for 2 instances and 1.6-2.4x for 4 instances.
• If you have sharding environment which allows you separate databaseinto multiple instances you may try 2-4 instances setup to get betteroverall throughput from your MySQL setup
10
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 11/14
A Systems Specifications
A.1 Server configuration
# P e rco na T o o l ki t S ys te m Summary Re po rt ######################Date | 2011−10−06 2 1 : 0 1 : 4 5 UTC ( l o c a l TZ : PDT −0700)
System | Dell Inc . ; PowerEdge R815 ;Se r vi c e Tag | FD9M6Q1
P l at f o rm | Lin uxR e l ea s e | Red Hat E n t e r p r i s e L inux S e r ve r r e l e a s e 6 . 1 ( S a nt i
K e r n e l | 2 . 6 . 3 2 −10 0. 34 .1 . e l 6u e k . x86_64A r c h i t e c t u r e | CPU = 64− b i t , OS = 64− b i t
Threading | NPTL 2. 12SELinux | Disabled
V i r tu a l iz e d | No v i r t u a l i z a t i o n d et ec te d# P ro ce s s o r ##################################################
P ro ce ss or s | p hy si ca l = 4 , c or es = 4 8 , v i r t u a l = 4 8 ,| h y p e r t h r e a d i n g = n o
S p e e d s | 4 8 x 1 9 0 0 . 0 0 7Models | 48xAMD Opteron (tm) Pro ce sso r 6168C ache s | 48x 512 KB
# Memory ######### ######## ######### ######## ######### ######### #
T o t a l | 1 5 7 . 7 1 GA.2 Client configuration
# P e rco na T o o l ki t S ys te m Summary Re po rt ######################Date | 2011−10−06 2 1 : 0 6 : 5 3 UTC ( l o c a l TZ : EDT −0400)
System | IBM; System x3650 M2 −[7947AC1]− ;P l at f o rm | Lin ux
R e l ea s e | CentOS r e l e a s e 5 . 6 ( F i n a l )K e r n e l | 2 . 6 . 1 8 −2 3 8 . 1 2 . 1 . e l 5
A r c h i t e c t u r e | CPU = 64− b i t , OS = 64− b i t
Threading | NPTL 2. 5C om pi le r | GNU CC v e r s i o n 4 . 1 . 2 2 0 08 0 70 4 ( Red Hat 4 . 1 . 2 −5 0 ) .S ELin ux | P e rmi s s i ve
V i r tu a l iz e d | No v i r t u a l i z a t i o n d et ec te d# P ro ce s s o r ##################################################
P ro ce ss or s | p hy si ca l = 2 , c or es = 8 , v i r t u a l = 1 6 ,| h y p e r t h r e a d i n g = y e s
S p e e d s | 1 6 x 1 5 9 6 . 0 0 0Models | 16 xI nt el (R) Xeon(R ) CPU X5570 @ 2. 93GHz
11
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 12/14
C ache s | 16x 8192 KB
# Memory ######### ######## ######### ######## ######### ######### #T o t a l | 9 4 . 3 9 G
B MySQL configuration
[mysqld]gdb
datadir=/mlc/data
# f o r SSD#innodb_read_ahead = nonei n n o db_fl u s h _n ei gh bo r_pages = 0i n n odb_adapt i ve _f l u sh i n g_me t h od = ke e p_averagei n n o d b _ b u f f e r _ p o o l _ r e s t o r e _ a t _ s t a r t u p = 3 0 0
#innodb_adaptive_hash_index_num = 16
# # ## # f i x e d i nn od b o p t i o n si n n o d b _ f i l e _ p e r _ t a b l e = t r u ei n n o db_ dat a _f i l e _ pat h = i bdat a 1 :1 0M: au t o ex t e n d
i n n od b _ f l us h _ l og _ a t _ t rx _ c o m mi t = 2innod b_fl ush_m ethod = O_DIRECTi n n o d b _ l o g _ b u f f e r _ s i z e = 2 56M
#innodb_max_dirty_pages_pct=30
i n n o d b _ b u f f e r _ p oo l _ s i z e = 1 10G
i n n o d b _ l o g _ f i le _ s i z e = 4Gi n n o d b _ l o g _ f i l e s _ i n _ g r o u p = 2i n n o db_l o g_bl o ck_s i ze = 4096
#i n n o db_do ubl e wri t e = t ru ei n n odb_dou bl ewri t e = 0
# # ## # p l u g in o p t i o n si n n od b _ r ea d _ i o _t h r e ad s = 1 6i n n o d b _ w ri t e _ i o _ t hr e a d s = 1 6i n n o d b _ i o _ c a p a c it y = 1 0 00 0
12
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 13/14
# n o t i nn od b o p t i o n s ( f i x e d )
p o r t = 3 3 0 6 back_log = 50max _co nn e ct i on s = 400max _co n ne ct _e rrors = 10t a b l e _ c a c h e = 2 0 4 8max_allowed_packet = 16M b i n l o g _ c a c h e _ s i z e = 16Mmax _h e ap_t abl e_s i ze = 64M
s o r t _ b u f f e r _ s i z e = 4M j o i n _ b u f f e r _ s i z e = 4Mt h r e a d _ c ac h e _ s i z e = 1 00 0q u er y _ ca c h e_ s i ze = 0q u e ry_cach e _t ype = 0q u e r y _ c a c h e _ l i m i t = 2Mf t _mi n_word_le n = 4memlock# d e f a u l t _ t a b l e _ t y p e = InnoDBt h r e a d _ st a c k = 1 92K
t m p _ t a b l e _ s i z e = 6 4M
s e rve r−i d = 1 0
#∗∗∗ MyISAM Sp ec i fi c opti onsk e y _ b u f f e r _ s i z e = 8Mr e a d _ b u f f e r _ s i z e = 1Mr e a d _ r n d _ b u f f e r _ s i z e = 4M b u l k _ i n s e r t _ b u f f e r _ s i z e = 8Mm y i s a m _ s o r t _ b uf f e r _ s i z e = 8Mmyi s am_max _s o rt _f i l e _s i ze = 10G
# m y i s a m _ m a x _ e x t r a _ s o r t _ f i l e _ s i z e = 1 0Gmyi s am_re pai r_t h re ads = 1myisam_recover
soc ket =/var/ l i b /mysql/mysql . socku s e r= ro o tskip−grant−t a b l e s
[mysql]
13
7/27/2019 fusion-io-mysql-multi-instances-report.pdf
http://slidepdf.com/reader/full/fusion-io-mysql-multi-instances-reportpdf 14/14
no−auto−rehash
soc ket =/var/ l i b /mysql/mysql . sock
[ c l i e n t ]soc ket =/var/ l i b /mysql/mysql . sock