前提・実現したいこと
Google Cloud Platform(Compute Engine)上にPython(Flask)を使ってWebシステムを構築しようとしています。
システム内容は画像をアップロードしてその画像を表示するだけのシステムです。
(実現したいシステムから問題の箇所のみを切り出しています。)
ローカル環境であればすぐに画像が表示されるのですが、GCP上で実行すると画像が表示されるのに時間がかかってしまします。
原因や原因を調べる方法などわかる方いましたら、ご教授いただけますでしょうか。
よろしくお願いいたします。
発生している問題・エラーメッセージ
GCP上で実行すると800KB程度の画像を表示させるのに30秒程度かかってしまう。
マシンタイプは「e2-micro(vCPU x 2、メモリ 1 GB)」を使用しています。
app.py
python
1from flask import Flask 2from flask import render_template 3from flask import request 4 5app = Flask(__name__) 6app = Flask(__name__, static_folder="assets", template_folder="assets/html") 7 8@app.route("/") 9def index(): 10 return render_template('index.html') 11 12 13@app.route("/file-upload", methods=["POST"]) 14def fileUpload(): 15 imgFile = request.files['image-input'] 16 imgPath = 'assets/img/' + imgFile.filename 17 imgFile.save(imgPath) 18 return render_template('viewImage.html', imagePath="/" + imgPath) 19 20 21if __name__ == '__main__': 22 app.run(host="0.0.0.0", port=5000, debug=True) 23
assets/html/index.html
html
1<!doctype html> 2<html> 3<head><title>test</title></head> 4 5<body> 6 <h2>test</h2> 7 <form action="/file-upload" enctype="multipart/form-data" method="post"> 8 JPEG,PNG 9 <input type="file" name="image-input" accept="image/jpeg, image/png"> 10 <br> 11 <input type="submit" value="送信する"> 12 </form> 13</body> 14 15</html>
assets/html/viewImage.html
html
1<!doctype html> 2<html> 3<head><title>test</title></head> 4 5<body> 6 <h2>test</h2> 7 <img src={{ imagePath }}> 8</body> 9 10</html>
docker-compose.yml
version: '3' services: app: container_name: flask-test2 build: . ports: - "5000:5000" tty: true environment: TZ: Asia/Tokyo volumes: - .:/work
Dockerfile
FROM python:3.8.5 ARG project_dir=/work/ ADD requirements.txt $project_dir WORKDIR $project_dir RUN pip install --upgrade pip RUN pip install -r requirements.txt EXPOSE 5000
requirements.txt
flask
試したこと
ローカル環境ではすぐに画像が表示されるのですが、
GCP上では時間がかかってしまう。
補足情報(FW/ツールのバージョンなど)
Google Cloud Platform (Compute Engine), Docker, docker-compose, Python, Flask
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/05 10:22 編集