Slide 1

Slide 1 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. Laravel Sail9から導入された Mailhogの後継Fake SMTP/mailpit を使ってみた 1 虎の穴ラボ Kengo Yoshida

Slide 2

Slide 2 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. アジェンダ 2 1. 自己紹介 2. なぜこのテーマにしたのか 3. 性能比較 4. そのほか試したこと 5. まとめ

Slide 3

Slide 3 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 自己紹介 3

Slide 4

Slide 4 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 4 1. 自己紹介 4 Kengo Yoshida ● 虎の穴ラボ / 通販チーム ● 入社理由 ○ スキルを高め合える勉強熱心な仲間が欲しい ○ 周りが つよつよエンジニア ばかりな状況で揉まれた い ○ 自分の大好きなオタクという文化になにかしらの形で 関わって、発展に貢献したい twitter: @samurai_se

Slide 5

Slide 5 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 5 補足 虎の穴ラボとは 5 クリエイター支援プラットフォーム 世界最大規模の同人EC

Slide 6

Slide 6 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 6 補足2 …というより宣伝 カジュアル面談 Connpass : blessing software 採用ページ

Slide 7

Slide 7 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. なぜこのテーマにしたのか? 7

Slide 8

Slide 8 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 気づけばLaravelが使っているFake SMTPが変わってた 8 Laravel Sail(8系)ではmailhogが使われている Laravel Sail(9系/10系)ではmailpitが使われている mailpitのREADMEを読むと… Why rewrite Mailhog? mailhogはAPIのパフォーマ ンスが悪いと言っている

Slide 9

Slide 9 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. mailpitがmailhogを作り直した理由の要約 9 ● MailHogは性能面で問題を抱えている ● モジュールが古く、最近は活発に開発されていない ● 大量メールや添付ファイルがあるメールを処理するとパ フォーマンスが良くない ● APIは余計なデータを送信している ● 以上を解消するにはソースを一から書き直す必要があっ た

Slide 10

Slide 10 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. そんなに? ということで性能比較 10

Slide 11

Slide 11 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 簡単に試してみる 11 1. メール送信の直前直後にログを仕込む 2. MailHog,mailpitそれぞれに対して1MBの添付ファ イルを付けてメール送信を行う 3. ログの時間から処理時間を計測

Slide 12

Slide 12 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. テストで1件メールを飛ばした時点で… 12 MailHog -> 約24秒 mailpit -> 約500ミリ秒 圧倒的!!

Slide 13

Slide 13 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. そのほか試したこと 13

Slide 14

Slide 14 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 試したこと 14 ● APIを使ったメール取得、削除 ● SMTPSの有効化 ● SMTP_AUTHの有効化 詳しくはこちらの記事に

Slide 15

Slide 15 text

Copyright (C) 2023 Toranoana Inc. All Rights Reserved. 15 ご静聴ありがとうございました!! Connpass : blessing software 採用ページ twitter: @samurai_se