我用以下 views.py 创建了一个 django api
import datetime
import os
import traceback
from logging.handlers import TimedRotatingFileHandler
from logging import Formatter
from django.http import HttpResponse
import logging
# from . import models as m
import pandas as pd
import json
import psycopg2 as pg
# logger setup
def resp(status):
//returns status code
def index(request):
logger.info('request:' + str(request.GET))
obj = DAA()
if request.method == "GET":
// get values from url request
if (condition):
try:
connection = pg.connect(dbname="dbname", user="user", password="password")
cursor = connection.cursor()
response = obj.level1(arguments)
response = obj.level2(arguments)
try:
// check response
except Exception as e:
# add exception to log
except Exception as e:
# add exception to log
if response :
json_data = {
"responseCode": 200,
"version": "1.0.0",
"results":
[
// response
]
}
json_dump = json.dumps(json_data)
return HttpResponse(json_dump, content_type='application/json')
elif not response :
json_dump = resp(400)
使用上面的代码,我面临以下问题:
在 jmeter 上为 100 多个用户测试应用程序时,我收到错误“已经有太多客户端”,似乎是 postgres 数据库的问题,如 conf 文件 [max_connections = 100] 但增加连接没有似乎对我有用,所以请提出其他建议。
即使为少于 100 个用户运行该应用程序,我也收到此错误“RuntimeError:无法启动新线程”,因此请建议如何解决此问题?
注意:-请忽略编程错误,因为我只分享了我的代码的虚拟结构。
相关分类