Ste*_*anE 1 python apache sqlalchemy flask
我有一个相当简单的python Flask应用程序在Apache2下作为WSGI进程运行.应用程序有一个监听器,使用SQLAlchemy从数据库中检索几行数据并将其作为JSON发送回来
对于MySql连接,我确实有一个全局引擎被重用.
使用JMeter生成一些负载,Apache2进程每5秒就将RAM使用量增加0.5%,并且很快就会耗尽RAM.如果停止生成负载的JMeter,则内存不会被清除.
httpd.conf文件
<VirtualHost *:80>
ServerName xxxxxxxxxx.com
<Directory /var/www/xxxxxxxxxx>
Order allow,deny
Allow from all
</Directory>
WSGIDaemonProcess BiddingPractice user=www-data group=www-data threads=5
WSGIScriptAlias /flask /var/www/xxxxxxxx/xxxxxxxxxxx.wsgi
<Directory /var/www/BiddingPractice>
WSGIProcessGroup BiddingPractice
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
WSGI文件
import sys
sys.path.insert(0, '/home/stefan/Code/xxxxxx')
from BiddingPractice import app as application
Run Code Online (Sandbox Code Playgroud)
_ init.py _
# -*- coding: utf-8 *-*
from flask import Flask
from sqlalchemy import *
app = Flask(__name__)
db = create_engine('mysql://root:xxxxxx@localhost/xxxxxxx')
import BiddingPractice.main
Run Code Online (Sandbox Code Playgroud)
main.py
# -*- coding: utf-8 *-*
from flask import render_template
from flask import request
from flask import make_response
from flask import jsonify
from BiddingPractice import app, db
from Data.users import getUsers
import random
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
return render_template('temp.html', name=name)
@app.route('/getData')
def getData():
un, psw, gids = getUsers()
random.shuffle(un)
random.shuffle(gids)
usernames = ','.join(map(str, un))
passwords = ','.join(map(str, psw))
guids = ','.join(map(str, gids))
return jsonify(usernames=usernames, passwords=passwords, guids=guids)
Run Code Online (Sandbox Code Playgroud)
任何人都可以判断我是否遗漏了某些内容,或者给我一些关于如何解决内存使用问题的提示,例如我怎样才能看到填充Apache2进程的内容?
谢谢你的帮助!
归档时间: |
|
查看次数: |
2572 次 |
最近记录: |