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

Webサーバ拡張における排他制御のパフォーマンスチューニング /performance_tuning_of_exclusive_control in_web_server extension

Takuma Kume
November 08, 2017

Webサーバ拡張における排他制御のパフォーマンスチューニング /performance_tuning_of_exclusive_control in_web_server extension

第10回ペパボテックカンファレンス~インフラエンジニアがもっとおもしろくできる!~
https://pepabo.connpass.com/event/69866/

Takuma Kume

November 08, 2017
Tweet

More Decks by Takuma Kume

Other Decks in Technology

Transcript

  1. ϩϦϙοϓʂͷ8FCαʔόߏ੒ ϦόʔεϓϩΩγ 8FCαʔό  ʴ ngx_mruby ʴ mod_mruby ฐࣾͷ!NBUTVNPUPSZ͕։ൃ͍ͯ͠Δ OHJOY΍IUUQEΛNSVCZΛ࢖੍ͬͯޚͰ͖Δ

    NSVCZͱ͸ɿলϝϞϦͷ૊ΈࠐΈ޲͚ͷ3VCZ ௨ৗOHJOY΍IUUQEͷػೳ֦ுΛ͢Δ৔߹͸ $ݴޠͰϞδϡʔϧΛ։ൃ͢Δඞཁ͕͋ͬͨ ϓϩηεͷىಈ࣌΍ɺΞΫηεॲཧ࣌ͳͲɺ༷ʑ ͳλΠϛϯάͰNSVCZͷεΫϦϓτΛ࣮ߦ͢Δ ػೳ͕͋Δ ngx_mruby/mod_mruby
  2. ϩϦϙοϓʂͷ8FCαʔόߏ੒ 8FCαʔό  ʴ ngx_mruby ʴ mod_mruby ϦόʔεϓϩΩγ υϝΠϯʹԠͨ͡8FCαʔόͷબ୒ υϝΠϯʹԠͨ͡44-ূ໌ॻͷબ୒

    ߈ܸ͔Βͷ๷ޚ Webαʔό υϝΠϯΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ͷ੍ޚ DHSPVQʹΑΔಈతͳ$16੍ޚ
  3. ϩϦϙοϓʂͷ8FCαʔόߏ੒ 8FCαʔό  ʴ ngx_mruby ʴ mod_mruby ϦόʔεϓϩΩγ υϝΠϯʹԠͨ͡8FCαʔόͷબ୒ υϝΠϯʹԠͨ͡44-ূ໌ॻͷબ୒

    ߈ܸ͔Βͷ๷ޚ Webαʔό Ϧιʔε؅ཧ υϝΠϯຖͷಉ࣌઀ଓ਺ͷ੍ޚ DHSPVQʹΑΔಈతͳ$16੍ޚ ϖύϘͰ͸ɺ੝Μʹ8FCαʔόͷ ػೳ֦ு͕ߦΘΕ͍ͯΔʂ
  4. ,74 ΞΫηε ΞΫηε ΞΫηε Χ΢ϯτΞοϓॲཧ ,FZ 7BMVF DPVOUFS  XPSLFS

    XPSLFS XPSLFS  ͨͩɺΧ΢ϯτΞοϓ͢Δ͚ͩͰ͸ ਖ਼ৗͳ஋ʹ͸ͳΒͳ͍ɻ
  5. Χ΢ϯτΞοϓॲཧ ,74 ᶃݱࡏ஋Λऔಘ  ᶄݱࡏ஋ʴ̍  ,FZ 7BMVF DPVOUFS 

    ผͷ8PSLFS͔Β ॻ͖ࠐΈ͕ൃੜ   มߋͳ͠ XPSLFS XPSLFS  ᶅܭࢉ݁ՌΛॻ͖ࠐΈ
  6. Χ΢ϯτΞοϓॲཧ ,74 ᶃݱࡏ஋Λऔಘ  ᶄݱࡏ஋ʴ̍  ,FZ 7BMVF DPVOUFS 

    ผͷ8PSLFS͔Β ॻ͖ࠐΈ͕ൃੜ   ͜͜͸lzͰ͋Δ΂͖ʂ ᶅܭࢉ݁Ռͷ஋Λॻ͖ࠐΈ XPSLFS XPSLFS 
  7. Χ΢ϯτΞοϓॲཧ IUUQE XPSLFS ,74 ᶃݱࡏ஋Λऔಘ IUUQE XPSLFS  ᶄݱࡏ஋ʴ̍ 

    ,FZ 7BMVF DPVOUFS  ผͷ8PSLFS͔Β ॻ͖ࠐΈ͕ൃੜ   ͜͜͸lzͰ͋Δ΂͖ʂ ᶅܭࢉ݁Ռͷ஋Λॻ͖ࠐΈ ϨʔείϯσΟγϣϯ ʢڝ߹ঢ়ଶʣ 
  8. ϓϩηεؒͷഉଞ੍ޚख๏  w ϩοΫΛ֫ಘͰ͖Δ·Ͱ୯७ʹϧʔϓ͢Δ w $16ίετ͕ߴΊ w ഉଞ੍ޚॲཧ͕͘͝୹ظؒͳ৔߹ʹద͍ͯ͠Δ w ϩοΫΛ֫ಘͰ͖Δ·Ͱϧʔϓͨ͠Γ଴ػͨ͠Γ͢Δ

    w ϩοΫ ΞϯϩοΫͱ͍͏ͭͷঢ়ଶΛ࣋ͭ w ୯७ͳϓϩηεؒͷഉଞ੍ޚʹద͍ͯ͠Δ w ઈର஋Λ΋ͪɺ஋͕Ҏ্Ͱ͋Ε͹ϓϩηεΛϒϩοΫ͢Δ w.VUFYͷΑ͏ʹ஋Ͱදͤͳ͍ഉଞ੍ޚʹద͍ͯ͠Δ εϐϯϩοΫ .VUFY 4FNBQIPSF
  9. ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ ഉଞ੍ޚ XPSLFS XPSLFS ᶅղআ  ϩοΫ

    Χ΢ϯτΞοϓॲཧத͸ϩοΫ͢Δ͜ͱͰ ϨʔείϯσΟγϣϯΛ๷͍Ͱ͍Δ
  10. ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ ഉଞ੍ޚ XPSLFS XPSLFS  XPSLFS ϩοΫ͕

    औΕͳ͍ ଴͕ͪൃੜ͢Δ ഉଞ੍ޚΛߦ͏ͱ ฒྻ࣮ߦ͞ΕΔ΄Ͳॱ൪଴͕ͪൃੜ͢ΔͷͰ جຊతʹύϑΥʔϚϯε͕ྼԽ͢Δ
  11. ,74 .VUFY ᶃϩοΫ ϦτϥΠִؒ XPSLFS ϩοΫ͕ औΕͳ͍ XPSLFS Ұൠతʹ.VUFYΛ ࢖ͬͨϩοΫػߏͰ͸ɺ

    ϩοΫ͕औΕͳ͔ͬͨ ৔߹ϦτϥΠ͢ΔΑ͏ʹ ࣮૷͠·͢ɻ ϦτϥΠ͢Δִ͕ؒ୹͍΄͏͕ ϩοΫ͕औΓ΍͘͢ͳΔͷͰ͸ʁ 
  12. ಉ࣌઀ଓ਺ͱSFRVFTUTFDͷάϥϑ        ഉଞ੍ޚͳ͠ νϡʔχϯάޙ

    νϡʔχϯάલ ಉ࣌઀ଓ਺ SFRTFD ЖTFD ЖTFD ϦτϥΠִؒ
  13. ಉ࣌઀ଓ਺ͱSFRVFTUTFDͷάϥϑ        ഉଞ੍ޚͳ͠ νϡʔχϯάޙ

    νϡʔχϯάલ ಉ࣌઀ଓ਺ SFRTFD ЖTFD ЖTFD ϦτϥΠִؒ ϦτϥΠִؒΛνϡʔχϯά͢Δ͜ͱͰ ഉଞ੍ޚͷύϑΥʔϚϯεྼԽΛ େ෯ʹ཈͑Δ͜ͱ͕Ͱ͖ͨʂ 
  14. ಉ࣌઀ଓ਺ͱSFRVFTUTFDͷάϥϑ        ಉ࣌઀ଓ਺ SFRTFD

    ഉଞ੍ޚͳ͠ ЖTFD ϦτϥΠִؒ ЖTFD ϦτϥΠִؒ Χ΢ϯτΞοϓͷճ਺Λ⇛ʹ͢Δͱ ࠷దͳϦτϥΠ࣌ؒ͸⇛ЖTFDʹͳͬͨ
  15. ಉ࣌઀ଓ਺ͱSFRVFTUTFDͷάϥϑ        ಉ࣌઀ଓ਺ SFRTFD

    ഉଞ੍ޚͳ͠ ЖTFD ϦτϥΠִؒ ЖTFD ϦτϥΠִؒ Χ΢ϯτΞοϓͷճ਺Λ⇛ʹ͢Δͱ ࠷దͳϦτϥΠճ਺͸⇛ЖTFDʹͳͬͨ ࠷దͳϦτϥΠ࣌ؒ͸ ഉଞ੍ޚରॲͷॲཧ࣌ؒʹΑΔ͜ͱ͕ ෼͔ͬͨʂ 
  16. ϩϦϙοϓʂͰͷࣄྫ ,74 .VUFY XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ ,FZ 7BMVF )045@IPHFKQ 

    IPHFKQ QIQͳͲͷίϯςϯπΛॲཧ ΠϯΫϦϝϯτ σΫϦϝϯτ ϦτϥΠִؒΛద੾ʹνϡʔχϯά͢Δ͜ͱͰ ໿ఔ౓ύϑΥʔϚϯε͕޲্ͨ͠ʂ
  17. ϩϦϙοϓʂͰͷࣄྫ XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ ΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ IPHFKQ XPSLFS IPHFKQ XPSLFS GPPVTFSͷαΠτ υϝΠϯຖͷಉ࣌઀ଓ਺

    ,74 .VUFY ,FZ 7BMVF IPHFKQ  ,74 .VUFY ,FZ 7BMVF GVHBVTFS  ഉଞ੍ޚର৅Λ෼ׂ͢Δ͜ͱͰ ϩοΫΛ֫ಘͰ͖Δػձ͕૿͑ΔͨΊ ύϑΥʔϚϯε͕ߋʹ޲্͢Δ৔߹͕͋Δʂ