Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ロリポップ!マネージドクラウド FastContainerの裏側

ry023
September 15, 2017

ロリポップ!マネージドクラウド FastContainerの裏側

GMO HosCon 10&11 発表時の資料です

ry023

September 15, 2017
Tweet

More Decks by ry023

Other Decks in Technology

Transcript

  1. DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPOUBJOFS DPNQVUF OGT OGT

    DPOUBJOFS DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ 8FCQSPYZ ࣮ࡍίϯςφ͕ىಈ͢Δϗετ ίϯςφͷ৘ใΛ؅ཧˠ 'BTU$POUBJOFSؔ࿈ͷߏ੒ Ϣʔβͷ ίϯςϯπ WBSXXX഑Լ
  2. IBDPOJXB wฐࣾ!VE[VSB։ൃίϯςφΤϯδϯ wNSVCZͷ%4-Ͱઃఆ IBDPGJMF Λهड़Մೳ 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
  3. DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS

    TUBUVTSFBEZ IPTUDPNQVUF ίϯςφͷ৘ใ 8FCQSPYZ ϓϩδΣΫτ։࢝௚ޙ SFBEZ଴ػத
  4. DPNQVUF EBUBQPPM DPNQVUF OGT OGT ίϯςφͷ৘ใ ϓϩδΣΫτ։࢝௚ޙ DPOUBJOFS TUBUVTCPPUJOH IPTUDPNQVUF

    $PSF"1* -# $MJFOU 8FCQSPYZ $.%# ϓϩΩγՄೳͳ ίϯςφ৘ใΛऔಘ ΫϥΠΞϯτ͔Β ϦΫΤετ
  5. DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS

    TUBUVTCPPUJOH IPTUDPNQVUF ίϯςφͷ৘ใ ϓϩδΣΫτ։࢝௚ޙ ΫϥΠΞϯτ͔Β ϦΫΤετ ίϯςφͷ*1౳Λ ϔομʹෛՙ͠ϓϩΩγ 8FCQSPYZ
  6. DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS

    TUBUVTCPPUJOH IPTUDPNQVUF ίϯςφͷ৘ใ 8FCQSPYZ ϓϩδΣΫτ։࢝௚ޙ ΫϥΠΞϯτ͔Β ϦΫΤετ ίϯςφͷ*1౳Λ ϔομʹෛՙ͠ϓϩΩγ ໨తͷίϯςφͷ*1͕ -*45&/ͯ͠ͳ͍
  7. DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPNQVUF OGT OGT ίϯςφͷ৘ใ

    8FCQSPYZ ϓϩδΣΫτ։࢝௚ޙ ΫϥΠΞϯτ͔Β ϦΫΤετ DPOUBJOFS ίϯςφىಈʂʂ DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF FOBCMFEՔಇத
  8. DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPNQVUF

    OGT OGT ίϯςφͷ৘ใ 8FCQSPYZ ϓϩδΣΫτ։࢝௚ޙ ΫϥΠΞϯτ͔Β ϦΫΤετ DPOUBJOFS ίϯςφىಈʂʂ FOBCMFEՔಇத
  9. DPNQVUF $.%# $PSF"1* -# $MJFOU EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS

    TUBUVTFOBCMFE IPTUDPNQVUF ίϯςφͷ৘ใ 8FCQSPYZ ϓϩδΣΫτ։࢝௚ޙ DPOUBJOFS ճ໨Ҏ߱ͷϦΫΤετ͸ ίϯςφىಈࡁΈͳͷͰߴ଎
  10. DPNQVUF $.%# $PSF"1* EBUBQPPM DPNQVUF OGT OGT DPOUBJOFS TUBUVTFOBCMFE IPTUDPNQVUF

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

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

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

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

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

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

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

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

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

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