Tales From the Bunker Episode No. 6 Presented by: Gus - - PowerPoint PPT Presentation

tales from the bunker episode no 6
SMART_READER_LITE
LIVE PREVIEW

Tales From the Bunker Episode No. 6 Presented by: Gus - - PowerPoint PPT Presentation

Tales From the Bunker Episode No. 6 Presented by: Gus Bjrklund, Dan Foreman, John Harlow Bunker tests: a brief history The bunker tests


slide-1
SLIDE 1

Presented ¡by: ¡Gus ¡Björklund, ¡Dan ¡Foreman, ¡John ¡Harlow ¡

Tales ¡From ¡the ¡Bunker ¡ Episode ¡No. ¡6 ¡

slide-2
SLIDE 2
slide-3
SLIDE 3

3 ¡

Bunker ¡tests: ¡a ¡brief ¡history ¡

  • The ¡bunker ¡tests ¡originated ¡several ¡years ¡ago ¡in ¡an ¡effort ¡to ¡

see ¡how ¡much ¡performance ¡commodity ¡priced ¡X86 ¡hardware ¡ could ¡provide. ¡

  • In ¡the ¡interest ¡of ¡security ¡we ¡have ¡almost ¡never ¡conducted ¡a ¡

bunker ¡test ¡in ¡the ¡same ¡locaMon ¡twice. ¡

  • Most ¡bunker ¡tests ¡have ¡resulted ¡in ¡improvements ¡in ¡process ¡

and ¡performance. ¡

Tales ¡From ¡The ¡Bunker ¡

slide-4
SLIDE 4

Bunker ¡History ¡

4 ¡

  • Bunker ¡#1 ¡-­‑ ¡Florida ¡2002 ¡ ¡
  • Bunker ¡#2 ¡-­‑ ¡Atlanta ¡2002 ¡
  • Bunker ¡#3 ¡– ¡Nashua ¡2004 ¡
  • Bunker ¡#4 ¡– ¡Florida ¡2005 ¡
  • Bunker ¡#5 ¡-­‑ ¡Sept ¡2009 ¡– ¡in ¡the ¡Cloud ¡

Tales ¡From ¡The ¡Bunker ¡

slide-5
SLIDE 5

Bunker ¡1-­‑4 ¡results ¡

0 ¡ 200 ¡ 400 ¡ 600 ¡ 800 ¡ 1000 ¡ 1200 ¡ 1400 ¡ 1600 ¡ Bunker ¡1 ¡ Bunker ¡2 ¡ Bunker ¡3 ¡ Bunker ¡4 ¡ TPS ¡ Users ¡ MaxR ¡

5 ¡

slide-6
SLIDE 6

Bunker ¡Team ¡

  • Gus ¡Bjorklund ¡(due ¡to ¡Bunker ¡security ¡protocols, ¡we ¡can’t ¡

reveal ¡his ¡face; ¡bodyguard ¡in ¡background) ¡

6 ¡

Tales ¡From ¡The ¡Bunker ¡

slide-7
SLIDE 7

Bunker ¡Team ¡

  • Dan ¡Foreman ¡– ¡revealing ¡too ¡much ¡

7 ¡

slide-8
SLIDE 8

Bunker ¡Team ¡

  • John ¡Harlow ¡– ¡fallen ¡comrade ¡

8 ¡

slide-9
SLIDE 9

SupporMng ¡Cast ¡

  • Ty ¡the ¡Invisible ¡Tech ¡Guy ¡

9 ¡

slide-10
SLIDE 10

Bunker ¡#6 ¡LocaMon ¡

10 ¡

slide-11
SLIDE 11

Bunker ¡#6 ¡LocaMon ¡

11 ¡

Tales ¡From ¡The ¡Bunker ¡

slide-12
SLIDE 12

Actual ¡Work ¡Area ¡

12 ¡

slide-13
SLIDE 13

Virtual ¡Work ¡Area ¡

13 ¡

slide-14
SLIDE 14

Bunker ¡Logo ¡

14 ¡

slide-15
SLIDE 15

Server ¡Info ¡

  • Dell ¡R710 ¡(two ¡of ¡them: ¡bunker64 ¡and ¡bunker32) ¡

– 16 ¡CPUs ¡ – 32 ¡GB ¡RAM ¡

15 ¡

Tales ¡From ¡The ¡Bunker ¡

slide-16
SLIDE 16

SAN ¡Info ¡

  • EMC ¡CX4-­‑120 ¡(Dan ¡owns ¡stock ¡in ¡EMC) ¡
  • Fabric: ¡4GB ¡Fiber ¡Channel ¡
  • 14 ¡Disks ¡+ ¡one ¡hot ¡swap ¡spare ¡
  • 300 ¡gb ¡disks ¡
  • 15000 ¡RPM ¡
  • IniMally ¡configured ¡as ¡RAID ¡5 ¡!!!!! ¡
  • Later ¡switched ¡to ¡RAID ¡10 ¡

16 ¡

Tales ¡From ¡The ¡Bunker ¡

slide-17
SLIDE 17

Soiware ¡Info ¡

  • VSphere ¡Enterprise ¡4.1 ¡
  • Progress ¡V10.2B ¡SP03 ¡

– 64-­‑bit ¡ – 32-­‑bit ¡

  • Centos ¡5.5 ¡ ¡(2.6.18-­‑194.32.1.el5, ¡if ¡you ¡must ¡know) ¡

– 32 ¡bit ¡

– 64 ¡bit ¡

17 ¡

Tales ¡From ¡The ¡Bunker ¡

slide-18
SLIDE 18

18 ¡

AddiMonal ¡Equipment ¡

slide-19
SLIDE 19

Test ¡Protocols ¡

  • ATM ¡Benchmark ¡v ¡5.0 ¡
  • Balanced ¡Benchmark ¡from ¡BravePoint ¡

19 ¡

Tales ¡From ¡The ¡Bunker ¡

slide-20
SLIDE 20

About ¡ATM ¡... ¡

  • Standard ¡Secret ¡Bunker ¡Benchmark ¡

– baseline ¡config ¡always ¡the ¡same ¡since ¡Bunker#2 ¡

  • Simulates ¡ATM ¡withdrawal ¡transacMon ¡
  • 150 ¡concurrent ¡users ¡

– execute ¡as ¡many ¡transacMons ¡as ¡possible ¡in ¡given ¡Mme ¡

  • Highly ¡update ¡intensive ¡

– fetch ¡3 ¡rows ¡ – update ¡3 ¡rows ¡ – create ¡1 ¡row ¡with ¡1 ¡index ¡entry ¡

20 ¡

slide-21
SLIDE 21

About ¡ATM ¡... ¡database ¡

account ¡rows ¡ 80,000,000 ¡ teller ¡rows ¡ 80,000 ¡ branch ¡rows ¡ 8,000 ¡ data ¡block ¡size ¡ 4 ¡k ¡ database ¡size ¡ ~ ¡12 ¡gigabytes ¡ maximum ¡rows ¡per ¡block ¡ 64 ¡ allocaMon ¡cluster ¡size ¡ 512 ¡ data ¡extents ¡ 6 ¡@ ¡2 ¡gigabytes ¡ bi ¡blocksize ¡ 16 ¡kb ¡ bi ¡cluster ¡size ¡ 16384 ¡

21 ¡

the ¡"standard ¡baseline" ¡database ¡setup ¡

slide-22
SLIDE 22

About ¡ATM ¡... ¡baseline ¡config ¡

22 ¡

  • ­‑n ¡250 ¡

¡ ¡# ¡maximum ¡number ¡of ¡connecMons ¡

  • ­‑S ¡5108

¡ ¡# ¡broker's ¡connecMon ¡port ¡

  • ­‑Ma ¡2 ¡

¡ ¡# ¡max ¡clients ¡per ¡server ¡

  • ­‑Mi ¡2 ¡

¡ ¡# ¡min ¡clients ¡per ¡server ¡

  • ­‑Mn ¡100

¡ ¡# ¡max ¡servers ¡

  • ­‑L ¡10240

¡ ¡# ¡lock ¡able ¡entries ¡

  • ­‑Mm ¡16384

¡ ¡# ¡max ¡TCP ¡message ¡size ¡

  • ­‑maxAreas ¡20 ¡

¡# ¡maximum ¡storage ¡areas ¡

  • ­‑B ¡64000

¡ ¡# ¡primary ¡buffer ¡pool ¡number ¡of ¡buffers ¡

  • ­‑spin ¡10000 ¡

¡# ¡spinlock ¡retries ¡

  • ­‑bibufs ¡32

¡ ¡# ¡before ¡image ¡log ¡buffers ¡

slide-23
SLIDE 23

About ¡Balanced ¡Benchmark ¡... ¡

  • BravePoint ¡product ¡
  • Makes ¡load ¡& ¡performance ¡tesMng ¡very ¡easy ¡for: ¡

– Servers ¡ – OperaMng ¡systems ¡ – Databases ¡ – ApplicaMons ¡ – All ¡the ¡above ¡

23 ¡

slide-24
SLIDE 24

About ¡Balanced ¡Benchmark ¡... ¡

  • Easy ¡Command ¡& ¡Control ¡of ¡a ¡Progress ¡Benchmark ¡
  • Can ¡use ¡code ¡from ¡various ¡sources ¡

– Your ¡applicaMon ¡ – Load ¡simulaMon ¡code ¡generated ¡by ¡the ¡BB ¡based ¡upon ¡producMon ¡DB ¡ acMvity ¡ – Custom ¡

  • Create ¡different ¡types ¡of ¡users ¡(read/write, ¡light/medium/

heavy, ¡etc.) ¡

24 ¡

slide-25
SLIDE 25

Adding ¡more ¡memory ¡to ¡VM ¡

  • Start ¡with ¡2 ¡gb ¡of ¡RAM ¡for ¡the ¡VM ¡
  • Double ¡Mll ¡we ¡reach ¡16 ¡gb ¡

25 ¡

slide-26
SLIDE 26

Adding ¡memory ¡to ¡VM ¡

0 ¡ 200 ¡ 400 ¡ 600 ¡ 800 ¡ 1000 ¡ 1200 ¡ 1400 ¡ 1600 ¡ 2 ¡GB ¡ 4 ¡GB ¡ 8 ¡GB ¡ 16 ¡GB ¡

TPS ¡vs ¡Memory ¡

26 ¡

slide-27
SLIDE 27

QUIZ ¡

27 ¡

Why ¡is ¡difference ¡between ¡ 8 ¡and ¡16 ¡gb ¡so ¡small ¡? ¡

slide-28
SLIDE 28

EncrypMon ¡(TDE) ¡

  • Done ¡in ¡4 ¡separate ¡measurements ¡
  • Baseline ¡with ¡8 ¡GB ¡of ¡memory ¡for ¡VM ¡
  • Step ¡1: ¡Create ¡policy ¡area ¡and ¡enable ¡encrypMon ¡

¡ ¡"EncrypMon ¡Policy ¡Area":12,64;8 ¡. ¡

  • Step ¡2: ¡Define ¡policies ¡for ¡tables ¡and ¡indexes. ¡

Only ¡changed ¡and ¡new ¡data ¡will ¡be ¡encrypted ¡

  • Step ¡3: ¡Run ¡uMlity ¡to ¡encrypt ¡all ¡remaining ¡unencrypted ¡data ¡

28 ¡

slide-29
SLIDE 29

to ¡define ¡encrypMon ¡policies ¡

29 ¡

for ¡T ¡in ¡account ¡branch ¡teller ¡history1 ¡ do ¡ ¡ ¡ ¡ ¡prouMl ¡atm ¡-­‑C ¡epolicy ¡manage ¡table ¡encrypt ¡${T} ¡ done ¡ for ¡I ¡in ¡account.account ¡branch.branch ¡teller.teller ¡\ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡history1.hisMd ¡ do ¡ ¡ ¡ ¡ ¡prouMl ¡atm ¡-­‑C ¡epolicy ¡manage ¡index ¡encrypt ¡${I} ¡ done ¡

slide-30
SLIDE 30

to ¡encrypt ¡all ¡unencrypted ¡data ¡

30 ¡

for T in account branch teller history1 do proutil atm -C epolicy manage table update ${T} done for I in account.account branch.branch teller.teller \ history1.histid do proutil atm -C epolicy manage index update ${I} done

slide-31
SLIDE 31

encrypMon ¡results ¡

0 ¡ 200 ¡ 400 ¡ 600 ¡ 800 ¡ 1000 ¡ 1200 ¡ 1400 ¡ baseline ¡ step ¡1 ¡ step ¡2 ¡ step ¡3 ¡

TDE ¡TPS ¡

31 ¡

slide-32
SLIDE 32

client-­‑server ¡vs ¡self-­‑serving ¡

  • Client ¡on ¡32-­‑bit ¡OpenEdge ¡10.2B03 ¡
  • n ¡bunker32 ¡VM ¡
  • Server ¡on ¡64-­‑bit ¡OpenEdge ¡10.2B03 ¡
  • n ¡bunker64 ¡VM ¡

32 ¡

slide-33
SLIDE 33

client-­‑server ¡results ¡

0 ¡ 200 ¡ 400 ¡ 600 ¡ 800 ¡ 1000 ¡ 1200 ¡ 1400 ¡ 1600 ¡ self-­‑serving ¡ client-­‑server ¡ client-­‑server ¡SSL ¡

TPS ¡

33 ¡

slide-34
SLIDE 34

Surprises ¡

  • The ¡default ¡-­‑napmax ¡value ¡of ¡5000 ¡is ¡too ¡large ¡
  • More ¡tesMng ¡of ¡this ¡is ¡required ¡
  • YMMV ¡(your ¡mileage ¡may ¡vary) ¡!!!! ¡

– TransportaMon, ¡meals, ¡and ¡accomodaMons ¡not ¡included ¡

34 ¡

slide-35
SLIDE 35
  • ­‑napmax ¡
  • Upper ¡bound ¡on ¡doubling ¡sleep ¡Mme ¡when ¡a ¡shared-­‑memory ¡

lock ¡acquisiMon ¡retry ¡loop ¡fails ¡

  • Starts ¡at ¡–nap ¡milliseconds ¡(10) ¡
  • 10, ¡20, ¡40, ¡80, ¡160, ¡320, ¡640, ¡1280, ¡2560, ¡5120 ¡
  • Default ¡value ¡is ¡5000 ¡milliseconds ¡

– Hypothesis: ¡this ¡value ¡might ¡be ¡too ¡large ¡

35 ¡

slide-36
SLIDE 36
  • ­‑napmax ¡results ¡

0 ¡ 200 ¡ 400 ¡ 600 ¡ 800 ¡ 1000 ¡ 1200 ¡ 1400 ¡ 1600 ¡ napmax ¡5000 ¡ napmax ¡300 ¡ napmax ¡50 ¡

TPS ¡

36 ¡

slide-37
SLIDE 37

Other ¡Surprises ¡

  • Adding ¡–direcMo ¡was ¡a ¡very ¡good ¡thing ¡

– This ¡is ¡contrary ¡to ¡older ¡Bunker ¡tesMng ¡ – Improved ¡TPS ¡(~3000 ¡> ¡3700+) ¡ – Reduced ¡Max ¡Response ¡Mme ¡ – Huge ¡number ¡of ¡Buffers ¡Flushed ¡(see ¡next ¡slide) ¡using ¡4 ¡APWs ¡& ¡16mb ¡ Cluster ¡Size) ¡ – To ¡reduce ¡BF ¡to ¡a ¡reasonable ¡number ¡required ¡a ¡128mb ¡BI ¡Cluster ¡size ¡ & ¡8 ¡APWs ¡

37 ¡

slide-38
SLIDE 38

Surprises ¡-­‑ ¡direcMo ¡

Ckpt ------ Database Writes ------

  • No. Time Len Freq Dirty CPT Q Scan APW Q Flushes

92 17:12:05 2267 0 63689 0 2217 76962 0 91 17:11:36 29 29 63138 0 0 35772 14991 90 17:11:08 28 28 63364 0 0 30548 21384 89 17:10:39 29 29 62945 0 0 35525 15534 88 17:10:11 28 28 63167 0 0 31926 19737 87 17:09:42 29 29 62835 0 0 34992 16059 86 17:09:14 28 28 62833 0 0 32153 19588 85 17:08:44 30 30 62569 0 0 35052 16061

38 ¡

slide-39
SLIDE 39

Bunker ¡1-­‑4 ¡& ¡6 ¡TPS ¡results ¡

39 ¡

0 ¡ 500 ¡ 1000 ¡ 1500 ¡ 2000 ¡ 2500 ¡ 3000 ¡ 3500 ¡ 4000 ¡ Bunker ¡1 ¡ Bunker ¡2 ¡ Bunker3 ¡ Bunker ¡4 ¡ Bunker ¡6 ¡

TPS ¡

TPS ¡

slide-40
SLIDE 40

Bunker ¡1-­‑4 ¡& ¡6 ¡Max-­‑R ¡results ¡

40 ¡

0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ Bunker ¡1 ¡ Bunker ¡2 ¡ Bunker3 ¡ Bunker ¡4 ¡ Bunker ¡6 ¡

Max ¡R ¡

Max ¡R ¡

slide-41
SLIDE 41

Surprises ¡

  • No ¡Integrity ¡(-­‑i) ¡> ¡No ¡Improvement ¡in ¡Performance ¡

41 ¡

slide-42
SLIDE 42

No ¡Surprise ¡

  • ConverMng ¡from ¡RAID ¡5 ¡to ¡RAID ¡10 ¡improved ¡TPS ¡

dramaMcally ¡

– John ¡was ¡slightly ¡surprised ¡by ¡the ¡magnitude ¡of ¡improvement ¡ – Gus ¡was ¡offended ¡that ¡we ¡even ¡used ¡RAID ¡5 ¡since ¡we ¡know ¡it ¡is ¡evil ¡ – Best ¡RAID ¡5 ¡TPS ¡was ¡1502 ¡ – It ¡allowed ¡Dan ¡to ¡set ¡the ¡Bunker ¡TPS ¡record ¡(3766 ¡TPS) ¡

  • Deadline ¡scheduler ¡versus ¡CFQ ¡

– Deadline ¡is ¡sMll ¡slightly ¡be|er ¡for ¡database ¡i/o ¡

42 ¡

slide-43
SLIDE 43

VM ¡Specific ¡Stuff ¡

  • The ¡addiMonal ¡complexity ¡of ¡adding ¡a ¡VM ¡can ¡be ¡astronomical ¡
  • There ¡are ¡a ¡huge ¡# ¡of ¡bu|ons, ¡knobs, ¡and ¡switches ¡
  • Example: ¡Caching ¡

– VMware ¡ – SAN ¡ – Centos ¡ – Progress ¡DB ¡Buffers ¡

43 ¡

slide-44
SLIDE 44

44 ¡

This ¡has ¡nothing ¡to ¡do ¡with ¡our ¡topic ¡

slide-45
SLIDE 45

VM ¡Specific ¡Stuff ¡

  • Client/Server ¡connecMons ¡between ¡two ¡VMs ¡on ¡the ¡same ¡box ¡

were ¡much ¡faster ¡than ¡a ¡Client/Server ¡connecMon ¡between ¡ VMs ¡on ¡separate ¡physical ¡servers ¡

  • There ¡was ¡no ¡benefit ¡from ¡changing ¡the ¡VM ¡Swap ¡locaMon ¡
  • There ¡was ¡no ¡benefit ¡to ¡using ¡a ¡Private ¡Network ¡
  • VM ¡Snap ¡during ¡a ¡test ¡cut ¡TPS ¡almost ¡in ¡half ¡

45 ¡

slide-46
SLIDE 46

VM ¡Specific ¡Stuff ¡

  • RAM: ¡2gb ¡> ¡4gb ¡> ¡8gb ¡> ¡16gb ¡

– No ¡significant ¡change ¡in ¡VM ¡overhead ¡

  • A ¡note ¡on ¡this ¡benchmark ¡and ¡CPU ¡intensive ¡tasks ¡
  • The ¡ATM ¡is ¡a ¡database ¡intensive ¡task ¡
  • It ¡doesn’t ¡stress ¡the ¡CPUs ¡the ¡way ¡a ¡real ¡world ¡app ¡with ¡java ¡servlets, ¡web ¡

servers, ¡file ¡transfers, ¡etc… ¡do ¡

46 ¡

slide-47
SLIDE 47

What ¡we ¡didn’t ¡get ¡to ¡

  • AudiMng ¡
  • Alternate ¡Buffer ¡Cache ¡(-­‑B2) ¡
  • “Bare ¡metal” ¡versus ¡VmWare ¡
  • VMoMon ¡overhead ¡

47 ¡

slide-48
SLIDE 48

Conclusions ¡

  • When ¡you ¡introduce ¡a ¡VM, ¡performance ¡troubleshooMng ¡

becomes ¡exponen7ally ¡more ¡difficult ¡

  • It’s ¡like ¡introducing ¡a ¡whole ¡new ¡operaMng ¡system ¡
  • More ¡beer ¡is ¡required ¡

48 ¡

Tales ¡From ¡The ¡Bunker ¡Episode ¡No. ¡6 ¡

slide-49
SLIDE 49

Bunker ¡Links ¡

  • h|p://www.facebook.com/pages/Progress-­‑Bunker-­‑6/204029846278025 ¡ ¡
  • h|p://www.johnharlow.com/page2/page2.html ¡
  • h|p://www.johnharlow.com/bunkers/Bunker6.html ¡
  • Other ¡Secret ¡Bunkers: ¡www.secretbunker.co.uk ¡
  • BAARF: ¡www.baarf.com ¡

– Don’t ¡go ¡here ¡if ¡you ¡are ¡a ¡fan ¡of ¡RAID ¡5 ¡

  • Awesome ¡Japanese ¡Food: ¡www.shoyaatlanta.com ¡

– Endorsed ¡by ¡Dan ¡who ¡lived ¡in ¡Japan ¡for ¡5 ¡years ¡

49 ¡

Tales ¡From ¡The ¡Bunker ¡Episode ¡No. ¡6 ¡

slide-50
SLIDE 50

Tales ¡Of ¡The ¡Bunker ¡Episode ¡No. ¡6 ¡

any ¡ques.ons ¡