Slide 1

Slide 1 text

ϑϧςετ΋ NTͰऴΘΒ͍ͤͨ :"1$"TJBlGVMMUFTUBMTPXBOUUPFOEXJUIJONTz 13೥9݄22೔೔༵೔

Slide 2

Slide 2 text

:"1$"TJBlGVMMUFTUBMTPXBOUUPFOEXJUIJONTz ςετ؀ڥͱ$* 13೥9݄22೔೔༵೔

Slide 3

Slide 3 text

U6UJMT full  test  also  want  to  end  within  50ms • ςετΛḿΒͤΔϢʔςΟϦςΟ • ઀ଓઌDBΛςετ༻ʹஔ͖׵͑Δ • ςετຖʹىಈ͢Δmemcached౳ͷport൪߸Λஔ͖׵͑ Δ • ͳͲɺPerlҎ֎ͷϛυϧ΢ΣΞ࿈ܞΛαϙʔτ͢Δ 13೥9݄22೔೔༵೔

Slide 4

Slide 4 text

UVUJMT.BLF)FMQFS full  test  also  want  to  end  within  50ms • ϔϧύϞδϡʔϧ • खݩͰmake  testΛ૸ΒͤΔ࣌ʹTest::Prettyʹ੾Γସ͑ͨ ͍ͳͲͷཁٻΛٵऩ͢Δ • runtests  ʹςετҰཡΛ౉͢લʹγϟοϑϧ͢Δ • ͳͲͷॲཧΛߦ͏ 13೥9݄22೔೔༵೔

Slide 5

Slide 5 text

UVUJMT.BLF)FMQFS full  test  also  want  to  end  within  50ms • ςετ࣮ߦॱংͷγϟοϑϧ • ͓͢͢Ί • ஌Βͳ͍ؒʹॱংʹґଘ͢ΔςετΛॻ͍ͯ͠·ͬͯ΋ ؾ͚ͮΔ • DBͷcleanup࿙Ε͕ൃੜ͢Δͷʹؾ͔ͮͳ͍έʔε • ಉ͡ϑΝΠϧ໊Λҧ͏ςετ͔Βࢀর͢Δέʔε 13೥9݄22೔೔༵೔

Slide 6

Slide 6 text

:"1$"TJBlGVMMUFTUBMTPXBOUUPFOEXJUIJONTz 6LJHVNPͱͷ͖͍ͭ͋ 13೥9݄22೔೔༵೔

Slide 7

Slide 7 text

• ಛʹखೖΕ͸ͤͣͦͷ··ར༻ • ͦͷඞཁ΋ͳ͍ͷͰ 6LJHVNP4FSWFS full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 8

Slide 8 text

• ར༻͍ͯ͠ͳ͍ • ಠࣗͷ࣮૷Λͯ͠·͢ 6LJHVNP$MJFOU full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 9

Slide 9 text

• CIΛ։࢝͢ΔͨΊͷ࿮૊Έ • ςετະ࣮ߦͷϒϥϯνΛ୳࣮ͯ͠ߦ • SQLiteʹ࣮ߦͨ͠ϒϥϯν໊/ϦϏδϣϯΛه࿥ • ςετ݁ՌΛUkigumo::ServerҎ֎ʹpost͢Δ • ࠓͷͱ͜Ζϝʔϧ͘Β͍ '0VU5FTUFS full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 10

Slide 10 text

:"1$"TJBlGVMMUFTUBMTPXBOUUPFOEXJUIJONTz ૿͑ͨςετͷ࣮ߦߴ଎Խ 13೥9݄22೔೔༵೔

Slide 11

Slide 11 text

• ͔͔࣌ؒΓ͗͢ • ϒϥϯν͕͍ͭ͘΋͋Δͱ݁Ռ͕Θ͔Δ·Ͱ଴ͨ͞ΕΔ • ϝϯόʔ  /  ։ൃҊ͕݅૿͑Ε͹૿͑Δ΄Ͳ଴ͨ͞ΕΔ • ଴ͨ͞Εͨ຤ʹ  fail  ͱ͔ͯͨ͠Β΍Δؾ͕ͳ͘ͳΔ • ࣄނϦεΫ͕ߴ·Δ • ʮ஗͍͔ΒखݩͰमਖ਼ͨ͠෼͚ͩςετͯ͠ϦϦʔεʯ • ͦͯ͠୭΋ϑϧςετΛ͠ͳ͘ͳͬͯ… ໰୊఺ full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 12

Slide 12 text

εέʔϧ͢Δ ΍ΓํʹมΘΔඞཁ͕͋Δ full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 13

Slide 13 text

ߴ଎Խʹ͋ͨͬͯ :"1$"TJBlGVMMUFTUBMTPXBOUUPFOEXJUIJONTz 13೥9݄22೔೔༵೔

Slide 14

Slide 14 text

• طଘͷςετΛॻ͖׵͑ͳ͍ • ॻ͔Εͨςετ͕ͦͷ··ಈ͘͜ͱ • طଘͷCIαʔόͱ਌࿨ੑ͕ߴ͍ • Ukigumo::Server  ͸ܧଓͯ͠࢖͍͍ͨ • εέʔϧ͢Δ͜ͱ • ςετ਺͕10ഒʹͳͬͯ΋ػೳ͢Δ࢓૊ΈͰ͋Δ͜ͱ ߴ଎Խͷલఏ full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 15

Slide 15 text

• ෼ࢄ࣮ߦͤ͞Δ • ෳ਺ͷαʔόͰ෼ࢄ࣮ߦ͠ɺϊʔυ௥ՃͰεέʔϧ͢Δ Α͏ʹ͍ͨ͠ • αʔόͷ௥Ճ/ϝϯς͕༰қ • ؆୯ͳconfigͰ؅ཧͯ͠ΏΔ;Θʹ௥Ճ/ϝϯς͍ͨ͠ • ࠶࣮ߦ΋؆୯ʹग़དྷΔΑ͏ʹ͍ͨ͠ • ෳ਺ͷαʔόʹ౤͛ΔͷͰɺ໰୊͕͋ͬͨ࣌ʹ͸࠶࣮ߦ Λ͙͢Ͱ͖ΔΑ͏ʹ͍ͨ͠ ࣮૷ํ਑ full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 16

Slide 16 text

෼ࢄ࣮ߦͷ࿮૊Έ :"1$"TJBlGVMMUFTUBMTPXBOUUPFOEXJUIJONTz 13೥9݄22೔೔༵೔

Slide 17

Slide 17 text

Ϛελϊʔυ Ϋϥελϊʔυ 'test1.t' 'test2.t' 'test3.t' 'test4.t' 'test5.t' 'test6.t' ࣮ߦର৅ςετ 'test1.t', 'test6.t' 'test2.t', 'test4.t' 'test3.t', 'test5.t' ෼ࢄ࣮ߦͷ࿮૊Έ full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 18

Slide 18 text

• ςετͷϐοΫΞοϓ/γϟοϑϧ/ׂ౰ • File::Find,  List::MoreUtils  Ͱऔಘͯ͠Ϋϥελʹׂ౰ • Ϋϥελϊʔυ΁ͷ࣮ߦ໋ྩ  /݁Ռडऔ • Parallel::ForkManager,  Net::OpenSSH  Ͱฒྻ࣮ߦ • ݁Ռͷύʔεͱ  Ukigumo  ΁ͷ  post • fail਺ͷΧ΢ϯτ,  LWP  Ͱ  post • ࣮ߦ • ϊʔυଆͰ  TAP::Harness::runtests  ʹςετΛ౉࣮ͯ͠ߦ ࣮૷ full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 19

Slide 19 text

࠶࣮ߦ :"1$"TJBlGVMMUFTUBMTPXBOUUPFOEXJUIJONTz 13೥9݄22೔೔༵೔

Slide 20

Slide 20 text

• ϚελϊʔυͰ࠶࣮ߦWebAppΛىಈ • ࣮ࢪঢ়گΛอଘ͍ͯ͠ΔSQLite͔Β౰֘ϒϥϯν৘ใΛ ফ͚ͩ͢ • Chrome  ֦ுͰ  Ukigumo  ʹϘλϯ௥Ճ • Ukigumo  ͦͷ΋ͷʹखΛೖΕͨ͘ͳ͍ ࣮૷ full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 21

Slide 21 text

݁Ռ :"1$"TJBlGVMMUFTUBMTPXBOUUPFOEXJUIJONTz 13೥9݄22೔೔༵೔

Slide 22

Slide 22 text

ߴ଎Խͷ݁Ռ full  test  also  want  to  end  within  50ms OPEF TFDT ˣ OPEF TFD 13೥9݄22೔೔༵೔

Slide 23

Slide 23 text

• ૉ௚ʹαʔόΛ଍ͤ͹εέʔϧ͢Δ • αʔόΛηοτΞοϓͯ͠ɺ୯ಠͰmake  test͕௨Ε͹Ϋ ϥελʹ౤ೖՄೳ  -­‐>  PuppetͰOK • ࠶࣮ߦϘλϯ͕ؾܰʹԡͤΔ • ͍͍ͩͨ180ඵͰ݁Ռ͕ฦͬͯ͘ΔͷͰɺԿΒ͔ͷࣦഊ ͕͋ͬͯ΋͙͢࠶࣮ߦͰ͖Δ • खݩͰ΍ΔΑΓpushͨ͠΄͏͕଎͍ • ଞͷਓͷ։ൃΞΫςΟϏςΟ͕ݟ͑΍͘͢ͳΔ ݁Ռ full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 24

Slide 24 text

• “खݩͰ΍ΔΑΓpushͨ͠΄͏͕଎͍” • ʮͱΓ͋͑ͣpush͢ΔʯΈ͍ͨͳจԽʹ࢓޲͚Δ • νʔϜϝϯόʔʹର͢ΔποίϛϏϦςΟ্͕͕Δ • ݁Ռɺ඼࣭଎౓ͷ޲্͕ਤΕΔ خ͍͠ޡࢉ full  test  also  want  to  end  within  50ms 13೥9݄22೔೔༵೔

Slide 25

Slide 25 text

خ͍͠ޡࢉ full  test  also  want  to  end  within  50ms ߴ଎ͳςετ͸ ։ൃจԽΛม͑Δ 13೥9݄22೔೔༵೔

Slide 26

Slide 26 text

͓ΘΓʹ΋͏ͻͱͭ :"1$"TJBlGVMMUFTUBMTPXBOUUPFOEXJUIJONTz 13೥9݄22೔೔༵೔

Slide 27

Slide 27 text

ςετ͸ ͲΜͲΜॻ͜͏ ͓ΘΓʹ 13೥9݄22೔೔༵೔

Slide 28

Slide 28 text

͓ΘΓʹ 13೥9݄22೔೔༵೔

Slide 29

Slide 29 text

΋͏QVTIຖʹ ϑϧςετ͠Α͏ ͓ΘΓʹ 13೥9݄22೔೔༵೔

Slide 30

Slide 30 text

͓ΘΓʹ full  test  also  want  to  end  within  50ms ߴ଎ͳςετ͸ ։ൃจԽΛม͑·͢ 13೥9݄22೔೔༵೔