14
Fusion-io MySQL multi-instances report Percona Inc., Vadim Tkachenko Oct-2011

fusion-io-mysql-multi-instances-report.pdf

Embed Size (px)

Citation preview

Page 1: fusion-io-mysql-multi-instances-report.pdf

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

Page 2: fusion-io-mysql-multi-instances-report.pdf

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

Page 3: fusion-io-mysql-multi-instances-report.pdf

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

Page 4: fusion-io-mysql-multi-instances-report.pdf

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

Page 5: fusion-io-mysql-multi-instances-report.pdf

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

Page 6: fusion-io-mysql-multi-instances-report.pdf

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

Page 7: fusion-io-mysql-multi-instances-report.pdf

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

Page 8: fusion-io-mysql-multi-instances-report.pdf

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

Page 9: fusion-io-mysql-multi-instances-report.pdf

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

Page 10: fusion-io-mysql-multi-instances-report.pdf

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

Page 11: fusion-io-mysql-multi-instances-report.pdf

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

Page 12: fusion-io-mysql-multi-instances-report.pdf

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

Page 13: fusion-io-mysql-multi-instances-report.pdf

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

Page 14: fusion-io-mysql-multi-instances-report.pdf

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