Save 37% off PRO during our Black Friday Sale! »

失敗LT祭! 〜俺の話を聞いてくれ〜 メモリだいじに! / 20190220_hedgehogs_miss_lt

11b879ad001638b95dd62331eed65505?s=47 FORTE
February 20, 2019

失敗LT祭! 〜俺の話を聞いてくれ〜 メモリだいじに! / 20190220_hedgehogs_miss_lt

11b879ad001638b95dd62331eed65505?s=128

FORTE

February 20, 2019
Tweet

Transcript

  1. 失敗LT祭!〜俺の話を聞いてくれ〜 メモリだいじに! 2019/02/20 FORTE(@FORTEgp05)

  2. 自己紹介 FORTE (フォルテ) SIer → Web系 → スマホアプリ開発者。 2

  3. 今日話す内容 いのちメモリだいじに! Webシステム開発におけるメモリによる失敗話 3

  4.  メモリだいじに! ・SIer時代に新人でアサインされた案件。  2007年当時のお話。 ・業務向けのWebシステム開発に途中から参加。 ・イントラネットのみ公開のWebシステム。  200人ほどの部署向け。 4

  5. システム構成概要 5 IE6 HTML JavaScript Java Servlet Apache Tomcat PostgreSQL

    7.x
  6. 当時発生していたふたつの問題 6

  7. 当時の問題①データ取得が遅い 7 とある機能「機能A」でDBからデータ取得するのが遅い…。 原因はデータ量が多いため。 \ユックリ/

  8. 当時の問題②データ量が多すぎてIEが死ぬ 8 機能Aの検索条件によってはデータ量が多すぎてIE6が死ぬ。 (真っ白のままフリーズする) オオスギ

  9. 当時の問題 9 閃いた! DBが遅いなら、サーバーのメモリにデータを積めば 良いんじゃね!? 先輩

  10. 解決策 10 メモリ ServletContext.setAttribute()

  11. 解決策 11 取得が遅いデータは あらかじめメモリに積んでおく

  12. 解決策 12 DBから取得しないので早い! \ハヤーイ/

  13. やったー!解決した! 13

  14. やったー!解決した!んなわきゃない 14

  15. 失敗… 15 ・DBが遅いのはまずDBでチューニングすべき  当時は技術力不足で無理だった…。

  16. 失敗… 16 ・DBが遅いのはDBでチューニングすべき  当時は技術力不足で無理だった…。 ・メモリに対する影響を軽視しすぎ

  17. 失敗… 17 ・DBが遅いのはDBでチューニングすべき  当時は技術力不足で無理だった…。 ・メモリに対する影響を軽視しすぎ  4GBのサーバーに500MBほど保存していた…。 \メモリ4GB/

  18. 失敗… 18 ・IEが死ぬ問題は解決できてない  ことあるごとにお客さんに怒られてました…

  19. さらなる失敗 19

  20. さらなる失敗 20 機能Aと同じような仕様の機能が3つ増えた。

  21. さらなる失敗 21 機能Aと同じような仕様なので、 何も考えずに機能Aと同じような実装をした。

  22. さらなる失敗 22

  23. さらなる失敗 23

  24. さらなる失敗 24

  25. さらなる失敗 25 メモリ4GBのサーバーに、 500MB×4機能分の2GBのデータが常駐。

  26. さらなる失敗 26 アクセス負荷でよくサーバーが応答不能に… メモリナイ

  27. 当時の問題②データ量が多すぎてIEが死ぬ 27 機能Aの検索条件によってはデータ量が多すぎてIE6が死ぬ。 (真っ白のままフリーズする) 最初の問題2つ目も解決してない オオスギ

  28. お客さん「おれは怒ったぞー!!!!」 28

  29. 根本対策 29 機能Aに関しては全く新しい仕組みで実装し直した。 フロント、バック、DB、バッチ処理全てを一新。 これを半年で実施。

  30. 根本対策 30 機能Aに関しては全く新しい仕組みで実装し直した。 フロント、バック、DB、バッチ処理全てを一新。 これを半年で実施。 \デスマーチ/

  31. 失敗からの教訓 ・問題解決のためではなくユーザーのため  安易な手段に飛びつく前にちゃんと考える ・仮対策なら本対策するまで追い続ける ・メモリと性能は要注意  最近は技術の進歩でそこまででもないが、  少なくて早いに越したことはない 31

  32. 宣伝   Twitter:@FORTEgp05   Podcast:『aozora.fm』   お便り募集中!   技術書典6:「はじめる技術 つづける技術」を頒布予定!        サークル「おからぼ」さんにて委託。        詳しくは#はじめる技術つづける技術にて! 32

  33. おわり