いつもお世話になっております。
最近まで開発していたLaravelプロジェクトを検証サーバーにデプロイし動作検証をしています。
会員制のサービスで、新規登録をした後エンドユーザーさんは自分の商品画像を10枚までアップロードでき、
必要情報を記入した上で登録をする、メルカリとほぼ似たような仕組みのサービスになります。
画像アップロード部分は「Dropzone.js」というライブラリを使用しておりまして、
アップロードの処理自体は「laravel-medialibrary」というライブラリを使用しています。
https://docs.spatie.be/laravel-medialibrary/v7/introduction/
アップロードする際はフルサイズの画像の他に、リサイズした画像を3枚生成し合計4枚の画像をアップロードしております。
ローカルで作業している時は全く気にならなかったんですが、検証用サーバーでスマホで確認しているとアップロードの処理が非常に重いです。
通信速度なども含まれるのである程度重くなるのは仕方ないとは思うんですが、php側の処理や、サーバーのスペック?、設定?などこちら側でできる速度の向上方法があればご教示いただけないでしょうか。
検索で調べてもブラウザ表示のスピード向上などの記事ばかり出てきてしまいます。。
それと、画像のアップロードサイズの上限についてなのですが、基本的にはスマホで利用していただくWebサービスを想定しているため、
何枚か自分の所持しているスマホで撮影した画像サイズを確認すると3MBいかないくらい、
なので3MBを上限にしようと考えているのですが推奨サイズなどありましたらご教示いただけますと幸いです。
環境は以下になります。
サーバー: Amazon Linux
インスタンスタイプ: t2.micro
php: 7.3
S3: 画像はS3に保存します
mysql(RDS): 8.0
apache: 2.4
Laravel: 5.8
config/medialibrary.phpの設定
'image_driver' => 'gd'
参考仕様メモリ
total: 1007332
used: 549156
free: 108384
shared: 384
buff/cache: 349792
available: 276768
PCとスマホで両方確認してみました。
体感としてスマホの方が5〜10秒ほどかかる印象でした。
(PC/スマホで同様のサイズの画像を3枚選択しアップロードしてみました)
※検証サーバーのためAWSで無料利用枠を利用しての検証になります。
回答3件
あなたの回答
tips
プレビュー