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

22522e2bc35255ab75308c399ff782f6?s=47 Takuma Kume
November 08, 2017

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

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

22522e2bc35255ab75308c399ff782f6?s=128

Takuma Kume

November 08, 2017
Tweet

Transcript

  1. ٱถ୓അ(.01&1"#0JOD ୈճϖύϘςοΫΧϯϑΝϨϯε 8FCαʔό֦ுʹ͓͚Δഉଞ੍ޚͷ ύϑΥʔϚϯενϡʔχϯά

  2. ٱถ୓അ!UBLVNBLVNF ෱Ԭࢧࣾ ϗεςΟϯάࣄۀ෦ΠϯϑϥΤϯδχΞ ߴଔʙ೥ؒΠϯλʔωοταʔϏεϓϩόΠμͰۈ຿ ɾ؆୯ͳωοτϫʔΫɺαʔόͷߏங ɾϓϦηʔϧεΤϯδχΞ ೥݄͔ΒϖύϘʹೖࣾ ɾΠϯϑϥΤϯδχΞ झຯɿڕ௼Γ

  3. ௼Γ෦͋ΔΑʂʂʂ

  4. None
  5. ֹ݄ԁ͔Βར༻Ͱ͖Δʂ ສαΠτҎ্ӡ༻தʂ ඵؒ໿ສઍϦΫΤετΛॲཧʂ

  6. ໨࣍ ɾϩϦϙοϓʂͷ8FCαʔόߏ੒ͱػೳ֦ுͷྫ ɾ8FCαʔόͷػೳ֦ுʹ͓͚Δഉଞ੍ޚͷඞཁੑ ɾഉଞ੍ޚͷύϑΥʔϚϯενϡʔχϯάͷϙΠϯτ ɾ·ͱΊ

  7. ϩϦϙοϓʂͷ 8FCαʔόߏ੒ͱػೳ֦ுͷྫ

  8. ϩϦϙοϓʂͷ8FCαʔόߏ੒ ϦόʔεϓϩΩγ 8FCαʔό 

  9. ϩϦϙοϓʂͷ8FCαʔόߏ੒ ϦόʔεϓϩΩγ 8FCαʔό  ʴ ngx_mruby ʴ mod_mruby

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

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

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

    ߈ܸ͔Βͷ๷ޚ Webαʔό Ϧιʔε؅ཧ υϝΠϯຖͷಉ࣌઀ଓ਺ͷ੍ޚ DHSPVQʹΑΔಈతͳ$16੍ޚ ϖύϘͰ͸ɺ੝Μʹ8FCαʔόͷ ػೳ֦ு͕ߦΘΕ͍ͯΔʂ
  13. 8FCαʔόػೳ֦ுʹ͓͚Δ ഉଞ੍ޚͷඞཁੑΛ ࣮૷ྫΛݩʹઆ໌͍͖ͯ͠·͢ʂ

  14. ʲྫʳ ΞΫηε਺Λ,74Λ࢖ͬͯ Χ΢ϯτ͢Δ࣮૷ 

  15. ,74 ΞΫηε ΞΫηε ΞΫηε Χ΢ϯτΞοϓॲཧ ,FZ 7BMVF DPVOUFS  XPSLFS

    XPSLFS XPSLFS 
  16. ,74 ΞΫηε ΞΫηε ΞΫηε Χ΢ϯτΞοϓॲཧ ,FZ 7BMVF DPVOUFS  XPSLFS

    XPSLFS XPSLFS  ͨͩɺΧ΢ϯτΞοϓ͢Δ͚ͩͰ͸ ਖ਼ৗͳ஋ʹ͸ͳΒͳ͍ɻ
  17. ϨʔείϯσΟγϣϯ ʢڝ߹ঢ়ଶʣ 

  18. ΞΫηε ΞΫηε ΞΫηε Χ΢ϯτΞοϓॲཧ ,FZ 7BMVF DPVOUFS  XPSLFS XPSLFS

    ,74 XPSLFS Χ΢ϯτΞοϓॲཧ 
  19. Χ΢ϯτΞοϓॲཧ ,FZ 7BMVF DPVOUFS  ,74 XPSLFS 

  20. Χ΢ϯτΞοϓॲཧ ,74 ᶃݱࡏ஋Λऔಘ XPSLFS ,FZ 7BMVF DPVOUFS  

  21. Χ΢ϯτΞοϓॲཧ ,74 ᶃݱࡏ஋Λऔಘ ᶄݱࡏ஋ʴ̍ XPSLFS ,FZ 7BMVF DPVOUFS  

  22. Χ΢ϯτΞοϓॲཧ ,74 ᶃݱࡏ஋Λऔಘ ᶅܭࢉ݁ՌΛॻ͖ࠐΈ ᶄݱࡏ஋ʴ̍ XPSLFS ,FZ 7BMVF DPVOUFS 

    
  23. Χ΢ϯτΞοϓॲཧ ,74 ᶃݱࡏ஋Λऔಘ ᶅܭࢉ݁ՌΛॻ͖ࠐΈ ᶄݱࡏ஋ʴ̍ XPSLFS ,FZ 7BMVF DPVOUFS 

     ฒྻ࣮ߦ͞Εͨ৔߹
  24. Χ΢ϯτΞοϓॲཧ ,74  ,FZ 7BMVF DPVOUFS  ᶃݱࡏ஋Λऔಘ XPSLFS 

  25. Χ΢ϯτΞοϓॲཧ ,74  ᶄݱࡏ஋ʴ̍ ,FZ 7BMVF DPVOUFS   ᶃݱࡏ஋Λऔಘ

    XPSLFS 
  26. Χ΢ϯτΞοϓॲཧ ,74 ᶃݱࡏ஋Λऔಘ  ᶄݱࡏ஋ʴ̍ ,FZ 7BMVF DPVOUFS  ผͷ8PSLFS͔Β

    ॻ͖ࠐΈ͕ൃੜ   XPSLFS XPSLFS 
  27. Χ΢ϯτΞοϓॲཧ ,74 ᶃݱࡏ஋Λऔಘ  ᶄݱࡏ஋ʴ̍  ,FZ 7BMVF DPVOUFS 

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

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

    ,FZ 7BMVF DPVOUFS  ผͷ8PSLFS͔Β ॻ͖ࠐΈ͕ൃੜ   ͜͜͸lzͰ͋Δ΂͖ʂ ᶅܭࢉ݁Ռͷ஋Λॻ͖ࠐΈ ϨʔείϯσΟγϣϯ ʢڝ߹ঢ়ଶʣ 
  30. ഉଞ੍ޚ 

  31. ෳ਺ͷϓϩηε͕ར༻ग़དྷΔڞ༗ࢿݯʹ ର͠ɺෳ਺ͷϓϩηε͔Βͷಉ࣌ΞΫη εʹΑΓڝ߹͕ൃੜ͢Δ৔߹ʹɺ͋Δϓ ϩηεʹࢿݯΛಠ઎తʹར༻͍ͤͯ͞Δ ؒ͸ɺଞͷϓϩηε͕ར༻Ͱ͖ͳ͍Α͏ ʹ͢ΔࣄͰ੔߹ੑΛอͭॲཧͷࣄ 8JLJQFEJB ഉଞ੍ޚ 

  32. ϓϩηεؒͷഉଞ੍ޚख๏  w ϩοΫΛ֫ಘͰ͖Δ·Ͱ୯७ʹϧʔϓ͢Δ w $16ίετ͕ߴΊ w ഉଞ੍ޚॲཧ͕͘͝୹ظؒͳ৔߹ʹద͍ͯ͠Δ w ϩοΫΛ֫ಘͰ͖Δ·Ͱϧʔϓͨ͠Γ଴ػͨ͠Γ͢Δ

    w ϩοΫ ΞϯϩοΫͱ͍͏ͭͷঢ়ଶΛ࣋ͭ w ୯७ͳϓϩηεؒͷഉଞ੍ޚʹద͍ͯ͠Δ w ઈର஋Λ΋ͪɺ஋͕Ҏ্Ͱ͋Ε͹ϓϩηεΛϒϩοΫ͢Δ w.VUFYͷΑ͏ʹ஋Ͱදͤͳ͍ഉଞ੍ޚʹద͍ͯ͠Δ εϐϯϩοΫ .VUFY 4FNBQIPSF
  33. ,74 .VUFY ഉଞ੍ޚ XPSLFS  ઌఔͷΧ΢ϯτΞοϓॲཧʹ .VUFYͷϩοΫػߏΛ࣮૷ͨ͠৔߹ͷ ಈ࡞ʹ͍ͭͯઆ໌͠·͢ɻ

  34. ,74 .VUFY ഉଞ੍ޚ XPSLFS  Χ΢ϯτΞοϓॲཧΛ͍ͨ͠

  35. ,74 .VUFY ᶃϩοΫ ഉଞ੍ޚ XPSLFS 

  36. ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ ഉଞ੍ޚ XPSLFS 

  37. ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ ഉଞ੍ޚ XPSLFS XPSLFS  ϩοΫ͕ औΕͳ͍

  38. ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ ഉଞ੍ޚ XPSLFS XPSLFS ᶅղআ  ϩοΫ

  39. ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ ഉଞ੍ޚ XPSLFS XPSLFS ᶅղআ  ϩοΫ

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

  41. ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ ഉଞ੍ޚ XPSLFS XPSLFS  XPSLFS ϩοΫ͕

    औΕͳ͍
  42. ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ ഉଞ੍ޚ XPSLFS XPSLFS  XPSLFS ϩοΫ͕

    औΕͳ͍ ଴͕ͪൃੜ͢Δ
  43. ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ ഉଞ੍ޚ XPSLFS XPSLFS  XPSLFS ϩοΫ͕

    औΕͳ͍ ଴͕ͪൃੜ͢Δ ഉଞ੍ޚΛߦ͏ͱ ฒྻ࣮ߦ͞ΕΔ΄Ͳॱ൪଴͕ͪൃੜ͢ΔͷͰ جຊతʹύϑΥʔϚϯε͕ྼԽ͢Δ
  44. ಉ࣌઀ଓ਺ SFRTFD ഉଞ੍ޚͳ͠ ഉଞ੍ޚ͋Γ େ෯ʹύϑΥʔϚϯε͕ྼԽ ಉ࣌઀ଓ਺ͱSFRVFTUTFDͷάϥϑ

  45. ಉ࣌઀ଓ਺ SFRTFD ಉ࣌઀ଓ਺ͱSFRVFTUTFDͷάϥϑ ഉଞ੍ޚͷύϑΥʔϚϯεྼԽΛ ࠷খݶʹ཈͍͑ͨʂ

  46. ύϑΥʔϚϯεྼԽΛ ࠷খݶʹ཈͑ΔͨΊͷ νϡʔχϯάϙΠϯτΛ ঺հ͍͖ͯ͠·͢ʂ

  47. ϦτϥΠִؒ 

  48. ,74 .VUFY ᶃϩοΫ ϦτϥΠִؒ XPSLFS ϩοΫ͕ औΕͳ͍ XPSLFS  ϘτϧωοΫ

  49. ,74 .VUFY ᶃϩοΫ ϦτϥΠִؒ XPSLFS ϩοΫ͕ औΕͳ͍ XPSLFS Ұൠతʹ.VUFYΛ ࢖ͬͨϩοΫػߏͰ͸ɺ

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

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

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

  53. ഉଞ੍ޚର৅ͷॲཧ࣌ؒΛ௕͘͢Δ XPSLFS ,74 .VUFY ᶄΧ΢ϯτΞοϓ ᶃϩοΫ XPSLFS ᶅղআ  

  54. ಉ࣌઀ଓ਺ͱSFRVFTUTFDͷάϥϑ        ಉ࣌઀ଓ਺ SFRTFD

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

    ഉଞ੍ޚͳ͠ ЖTFD ϦτϥΠִؒ ЖTFD ϦτϥΠִؒ Χ΢ϯτΞοϓͷճ਺Λ⇛ʹ͢Δͱ ࠷దͳϦτϥΠճ਺͸⇛ЖTFDʹͳͬͨ ࠷దͳϦτϥΠ࣌ؒ͸ ഉଞ੍ޚରॲͷॲཧ࣌ؒʹΑΔ͜ͱ͕ ෼͔ͬͨʂ 
  56. ϩϦϙοϓʂͰ΋ɺ ͜ΕΒͷνϡʔχϯάʹΑͬͯ ύϑΥʔϚϯε͕޲্͍ͯ͠·͢ʂ

  57. ϩϦϙοϓʂͰͷࣄྫ ,74 .VUFY XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ ,FZ 7BMVF

  58. ϩϦϙοϓʂͰͷࣄྫ ,74 .VUFY XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ ,FZ 7BMVF IPHFKQ

  59. ϩϦϙοϓʂͰͷࣄྫ ,74 .VUFY XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ ,FZ 7BMVF )045@IPHFKQ 

    IPHFKQ ΠϯΫϦϝϯτ
  60. ϩϦϙοϓʂͰͷࣄྫ ,74 .VUFY XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ ,FZ 7BMVF )045@IPHFKQ 

    IPHFKQ QIQͳͲͷίϯςϯπΛॲཧ ΠϯΫϦϝϯτ
  61. ϩϦϙοϓʂͰͷࣄྫ ,74 .VUFY XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ ,FZ 7BMVF )045@IPHFKQ 

    IPHFKQ QIQͳͲͷίϯςϯπΛॲཧ ΠϯΫϦϝϯτ σΫϦϝϯτ
  62. ϩϦϙοϓʂͰͷࣄྫ ,74 .VUFY XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ ,FZ 7BMVF )045@IPHFKQ 

    IPHFKQ QIQͳͲͷίϯςϯπΛॲཧ ΠϯΫϦϝϯτ σΫϦϝϯτ ϦτϥΠִؒΛద੾ʹνϡʔχϯά͢Δ͜ͱͰ ໿ఔ౓ύϑΥʔϚϯε͕޲্ͨ͠ʂ
  63. ߋʹ

  64. ϩϦϙοϓʂͰͷࣄྫ ,74 .VUFY XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ ,FZ 7BMVF )045@IPHFKQ 

    64&3@GVHBVTFS  IPHFKQ XPSLFS IPHFKQ XPSLFS GVHBVTFSͷαΠτ
  65. ϩϦϙοϓʂͰͷࣄྫ XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ ΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ IPHFKQ XPSLFS IPHFKQ XPSLFS GPPVTFSͷαΠτ υϝΠϯຖͷಉ࣌઀ଓ਺

    ,74 .VUFY ,FZ 7BMVF IPHFKQ  ,74 .VUFY ,FZ 7BMVF GVHBVTFS 
  66. ϩϦϙοϓʂͰͷࣄྫ XPSLFS υϝΠϯɾΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ΛΧ΢ϯτ͢Δ࣮૷ ΞΧ΢ϯτຖͷಉ࣌઀ଓ਺ IPHFKQ XPSLFS IPHFKQ XPSLFS GPPVTFSͷαΠτ υϝΠϯຖͷಉ࣌઀ଓ਺

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

  68. ·ͱΊ ϨʔείϯσΟγϣϯΛ๷͙ͨΊʹഉଞ੍ޚ͕ඞཁͳ࣮૷͕͋Δɻ ഉଞ੍ޚ͸جຊతʹύϑΥʔϚϯε͕ྼԽ͢Δɻ ഉଞ੍ޚͷύϑΥʔϚϯε޲্ͷϙΠϯτΛͭ঺հͨ͠ɻ ϩοΫऔಘͷϦτϥΠִؒΛνϡʔχϯά͢Δɻ  ࠷దͳϦτϥΠִؒ͸ഉଞ੍ޚର৅ͷॲཧ࣌ؒʹΑΔɻ ഉଞ੍ޚର৅ΛͰ͖Δ͚ͩ෼ׂ͢Δɻ

  69. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ