Slide 1

Slide 1 text

ాதྒհ(.01FQBCP *OD ϗεςΟϯάΛͳΊΒ͔ʹ͍ͨ͠࿩ dϩϦϙοϓʂϚωʔδυΫϥ΢υd

Slide 2

Slide 2 text

ΤϯδχΞ ాதྒհ!SZ@ ϗεςΟϯάࣄۀ෦ΠϯϑϥνʔϜ ೥݄۽ຊେֶେֶӃ৘ใిؾిࢠ޻ֶઐ߈मྃ ಉ೥݄(.0ϖύϘʹ৽ଔΤϯδχΞͱͯ͠ೖࣾ ೥݄͔ΒΠϯϑϥνʔϜ഑ଐ ݄͔ΒϚωʔδυΫϥ΢υ։ൃʹδϣΠϯ

Slide 3

Slide 3 text

ϖύϘͷϗεςΟϯάαʔϏε

Slide 4

Slide 4 text

Πϯϑϥ഑ଐ͞Εͯ·ͣ͸ ϩϦϙοϓʂͷӡ༻Λݟͯͨ

Slide 5

Slide 5 text

Ұൠతͳ8FCϗεςΟϯάͰ͸ʜ wϢʔβͷίϯςϯπɾϓϩηε͕ಛఆͷαʔόʹඥͮ͘ wෛՙ෼ࢄͷ೉͠͞ʜ wٸͳΞΫηε૿΁ͷεέʔϧͷ೉͠͞ʜ wଞαʔό΁ͷҠߦͷ೉͠͞ʜ wݱঢ়ͷϩϦϙοϓʂ

Slide 6

Slide 6 text

ྫ͑͹ʜ

Slide 7

Slide 7 text

ྫ͑͹ʜ ʮ͜ͷαʔό͸ॏ͍͔Β ɹผͷαʔόʹҠ͍ͬͯͩ͘͞ʜʯ Ҡઃͷ೔ఔௐ੔ʜ

Slide 8

Slide 8 text

͜ͷ΁Μ͕ͳΊΒ͔ʹͳΕ͹ ͍͍ͷʹͳ͊

Slide 9

Slide 9 text

ϩϦϙοϓʂͷ৽ϓϥϯ Ћςετ࣮ࢪதʂ

Slide 10

Slide 10 text

ϩϦϙοϓʂϚωʔδυΫϥ΢υ wϩϦϙͷϓϥϯͷҰ͕ͭͩɺόοΫΤϯυɾϑϩϯτΤϯυڞʹҰ৽ wίϯςφܕϗεςΟϯάαʔϏε w'BTU$POUBJOFSΞʔΩςΫνϟΛ࠾༻ wίϯςφΤϯδϯʹIBDPOJXB

Slide 11

Slide 11 text

ϩϦϙοϓʂϚωʔδυΫϥ΢υ ΦʔτεέʔϧͰ ٸͳΞΫηεʹ΋ରԠ ࣗಈͰ࠷৽ͷ ηΩϡϦςΟ ༷ʑͳ8FCΞϓϦΛ ͙͢ʹ։࢝

Slide 12

Slide 12 text

Φʔτεέʔϧ ΞΫηε͕૿͑Δͱ ෳ਺୆ͷίϯςφͰΞΫηεΛड͚Δ ΦʔτεέʔϧΛ༗ޮʹ

Slide 13

Slide 13 text

ϚωΫϥͲ͏ಈ͍͍ͯΔͷʁ Ͳ͏͍͏ϝϦοτ͕ʁ

Slide 14

Slide 14 text

'BTU$POUBJOFS

Slide 15

Slide 15 text

'BTU$POUBJOFSͱ͸ʁɹͬ͘͟Γ֓ཁ wฐࣾ!NBUVNPUPSZ͕ఏҊ w'BTU$(*ͷίϯςφ൛ͱ͍ͬͨΠϝʔδ w'BTU$(*͸$(*ͷϓϩηεΛऴྃͤͣʹ࢖͍ճ͢ wϦΫΤετܖػͰ8FCΞϓϦͷίϯςφ͕ىಈ wҰ౓ىಈͨ͠ίϯςφ͸ͦͷޙ࢖͍ճ͢ wҰఆ࣌ؒܦա͢ΔͱࣗΒఀࢭ͢Δ

Slide 16

Slide 16 text

'BTU$POUBJOFSͷྑ͞ wϢʔβ͔ΒݟΔͱʜ wΦʔτεέʔϧ w৭ΜͳίϯςφΛ༻ҙ͢Δ͜ͱͰ৭ʑͳΞϓϦΛఏڙ wੜ·Ε୅ΘΓଓ͚ΔͷͰৗʹ࠷৽ wӡ༻͔ΒݟΔͱʜ wෛՙ෼ࢄɾଞϗετ΁ͷίϯςφࡌͤସ͑΋؆୯ wϦΫΤετ͕ͳ͍ͱίϯςφ͸ఀࢭ͢ΔͷͰϦιʔεͷઅ໿

Slide 17

Slide 17 text

ϩϦϙͷߏ੒Λ௨ͯ͠ 'BTU$POUBJOFSΛݟ͍͖ͯ·͢

Slide 18

Slide 18 text

ϚωʔδυΫϥ΢υશମߏ੒

Slide 19

Slide 19 text

DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPOUBJOFS DPNQVUF OGT OGT DPOUBJOFS DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ 8FCQSPYZ ࣮ࡍίϯςφ͕ىಈ͢Δϗετ ίϯςφͷ৘ใΛ؅ཧˠ 'BTU$POUBJOFSؔ࿈ͷߏ੒ Ϣʔβͷ ίϯςϯπ WBSXXX഑Լ

Slide 20

Slide 20 text

OHY@NSVCZ wฐࣾ!NBUTVNPUPSZ։ൃOHJOY֦ு NPE@NSVCZ΋͋Γ·͢  w/HJOYͷ֤ΠϕϯτʹIPPLͯ͠NSVCZΛ࣮ߦͰ͖Δ wϩϦϙʂϚωʔδυΫϥ΢υͰ͸ϓϩΩγ࣌ʹ$PSF"1*ʹ໰͍߹Θͤ ͨΓɺIBDPOJXBΛ࣮ߦͨ͠Γ͢Δͷʹ׆༻ location / { ... mruby_set $backend /var/lib/mruby/hook.rb cache; # script࣮ߦ proxy_pass http://$backend:80; }

Slide 21

Slide 21 text

IBDPOJXB wฐࣾ!VE[VSB։ൃίϯςφΤϯδϯ wNSVCZͷ%4-Ͱઃఆ IBDPpMF Λهड़Մೳ wίϯςφͷϦιʔε੍ݶ΋ DHSPVQʹΑΔ੍ݶ Haconiwa.define do |config| config.chroot_to Pathname.new("/var/lib/haconiwa/rootfs/php") ... config.cgroup["cpu.cfs_period_us"] = 1000000 # cpu࢖༻཰Λ੍ݶ(20%) config.cgroup["cpu.cfs_quota_us"] = 200000 # config.cgroup["pids.max"] = 128 # ϓϩηε਺Λ੍ݶ end

Slide 22

Slide 22 text

ϦΫΤετ͕དྷͨΒ

Slide 23

Slide 23 text

DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTSFBEZ IPTUDPNQVUF ίϯςφͷ৘ใ 8FCQSPYZ ϓϩδΣΫτ։࢝௚ޙ SFBEZ଴ػத

Slide 24

Slide 24 text

DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ 8FCQSPYZ ΞΫηεܖػͰίϯςφىಈ DPOUBJOFS

Slide 25

Slide 25 text

DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ 8FCQSPYZ ճ໨Ҏ߱͸ߴ଎ DPOUBJOFS ճ໨Ҏ߱ͷϦΫΤετ͸ ίϯςφىಈࡁΈͳͷͰߴ଎

Slide 26

Slide 26 text

ίϯςφͷࢮ

Slide 27

Slide 27 text

ίϯςφͷण໋ wίϯςφʹ͸-JGFUJNF͕ઃఆ͞Ε͓ͯΓɺҰఆ࣌ؒܦաͰࣗಈఀࢭ wIBDPOJXBͷIPPLͰίϯςφͷϓϩηεΛ,*-- wར༻தͷίϯςφ͕ఀࢭ͢Δࡍ͸ίϯςφΛ଴ػதͱͯ͠ొ࿥͠௚͢ w࣍ͷϦΫΤετͰ·ͨ৽͍͠ίϯςφ͕ىಈ͢Δ

Slide 28

Slide 28 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ ίϯςφͷण໋ ʘण໋͖ͨʗ DPOUBJOFS

Slide 29

Slide 29 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTSFBEZ IPTUDPNQVUF ίϯςφͷ৘ใ ίϯςφͷण໋ ଴ػத SFBEZ  ίϯςφΛ࠶ొ࿥ )"-5

Slide 30

Slide 30 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ ίϯςφͷण໋ -# $MJFOU 8FCQSPYZ ϦΫΤετܖػͰ ৽͍͠ίϯςφىಈ DPOUBJOFS

Slide 31

Slide 31 text

ίϯςφʹण໋͕͋Δ͜ͱͰʜ wϦΫΤετ͕ͳ͍ίϯςφ͸উखʹఀࢭ͠ɺϦιʔεΛ৯ΘͣΤίʂ wఆظతʹίϯςφ͕৽͘͠ੜ·ΕมΘΔ w৽͘͠ͳΔλΠϛϯάͰϥΠϒϥϦ౳΋ߋ৽͞ΕηΩϡΞ wίϯςφΛผϗετʹҠߦ͍ͨ࣌͠΋$.%#Λ͍͡Δ͚ͩͰ0, wίϯςφ͸໌ࣔతʹఀࢭͤͣ͞ͱ΋উखʹࢮ͵ wDPNQVUF ίϯςφͷ฼؋ ͷϝϯς͍ͨ࣌͠΋؆୯

Slide 32

Slide 32 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ ϗετࡌͤସ͚͑ͨ͠Ε͹ʜ -# $MJFOU 8FCQSPYZ DPOUBJOFS

Slide 33

Slide 33 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ ϗετࡌͤସ͚͑ͨ͠Ε͹ʜ -# $MJFOU 8FCQSPYZ DPOUBJOFS DPOUBJOFS ˡϗετΛมߋ

Slide 34

Slide 34 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ ϗετࡌͤସ͚͑ͨ͠Ε͹ʜ -# $MJFOU 8FCQSPYZ DPOUBJOFS ˡϗετΛมߋ ϝϯςφϯε

Slide 35

Slide 35 text

Φʔτεέʔϧ

Slide 36

Slide 36 text

Φʔτεέʔϧ wίϯςφͷෛՙʹԠͯ͡ɺίϯςφ਺Λ૿ݮ wݱঢ়͸IBDPOJXBͰDHSPVQ͔ΒDQVෛՙΛଌఆ wϢʔβ͸ίϯςφͷ༧໿࿮ΛઃఆՄೳ wίϯςφ͕Կ୆·Ͱىಈ͢Δ͔ɺͦΕͧΕͷίϯςφͰϦιʔεΛ ͲΕ͙Β͍࢖͏͔ͳͲࣄલʹܾఆ͓ͯ͘͠ w$.%#Λ͍͡Δ͚ͩͰ0,

Slide 37

Slide 37 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ εέʔϧΞ΢τ DPOUBJOFS DPOUBJOFS TUBUVTEJTBCMFE IPTUDPNQVUF ༧໿࿮Λొ࿥

Slide 38

Slide 38 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ εέʔϧΞ΢τ DPOUBJOFS DPOUBJOFS TUBUVTEJTBCMFE IPTUDPNQVUF ༧໿࿮Λొ࿥ ʘෛՙ΍͹͍ʗ ίϯςφ૿΍ͯ͠ʂ

Slide 39

Slide 39 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ εέʔϧΞ΢τ DPOUBJOFS ଴ػίϯςφʹ มߋ DPOUBJOFS TUBUVTSFBEZ IPTUDPNQVUF -# $MJFOU 8FCQSPYZ ϦΫΤετܖػͰ ৽͍͠ίϯςφىಈ DPOUBJOFS

Slide 40

Slide 40 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ εέʔϧΠϯ DPOUBJOFS DPOUBJOFS TUBUVTSFBEZ IPTUDPNQVUF DPOUBJOFS ʘ͞΄ͲͰ΋ͳ͍ʗ ίϯςφݮΒͯ͠ʂ

Slide 41

Slide 41 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ εέʔϧΠϯ DPOUBJOFS DPOUBJOFS ʘ͞΄ͲͰ΋ͳ͍ʗ ίϯςφݮΒͯ͠ʂ DPOUBJOFS TUBUVTEJTBCMFE IPTUDPNQVUF ࠶ͼEJTBCMFE΁

Slide 42

Slide 42 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ εέʔϧΠϯ DPOUBJOFS DPOUBJOFS DPOUBJOFS TUBUVTEJTBCMFE IPTUDPNQVUF -# $MJFOU 8FCQSPYZ DPOUBJOFSʹ͸ ϧʔςΟϯά͞Εͳ͍

Slide 43

Slide 43 text

DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ εέʔϧΠϯ DPOUBJOFS DPOUBJOFS DPOUBJOFS TUBUVTEJTBCMFE IPTUDPNQVUF -# $MJFOU 8FCQSPYZ DPOUBJOFSʹ͸ ϧʔςΟϯά͞Εͳ͍ ͜Ε͸์͓͚ͬͯ͹ উखʹఀࢭ͢Δ

Slide 44

Slide 44 text

%#্ʹ༧໿࿮ΛͱΔ͚ͩͰ Φʔτεέʔϧ

Slide 45

Slide 45 text

·ͱΊ wϢʔβ͔ΒݟΔͱʜ wΦʔτεέʔϧ w৭ΜͳίϯςφΛ༻ҙ͢Δ͜ͱͰ৭ʑͳΞϓϦΛఏڙ wੜ·Ε୅ΘΓଓ͚ΔͷͰৗʹ࠷৽ wӡ༻͔ΒݟΔͱʜ wෛՙ෼ࢄɾଞϗετ΁ͷίϯςφࡌͤସ͑΋؆୯ wϦΫΤετ͕ͳ͍ͱίϯςφ͸ఀࢭ͢ΔͷͰϦιʔεͷઅ໿

Slide 46

Slide 46 text

ࠓޙʹ͍ͭͯ wΦʔτεέʔϧʹؔ͢Δίϯςφͷෛՙܭଌͷํ๏΋มΘΓͦ͏ wࠓ͸IBDPOJXBͰෛՙΛܭଌͯ͠ਃࠂ w1SPNFUIFVT D"EWJTPSͳͲͰͷίϯςφܭଌ wରԠΞϓϦέʔγϣϯΛ૿΍͢ʂ wίϯςφಉ࢜ͷ࿈ܞͳͲ΋ಋೖ

Slide 47

Slide 47 text

ੵۃత࠾༻தʂ ࠷৽ͷ࠾༻৘ใΛνΣοΫˠ !QC@SFDSVJU

Slide 48

Slide 48 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠