一直在python中阅读flask文档并构建一个本地网站.
只是在我的网站上部署openshift使用这个工具进行了速度测试在这里: -
分析报告说我的网站没有缓存静态资源.谷歌搜索了我的所有价值后,我收集到: -
我的问题
我要在html部分中包含过期和标签吗?或者在HTTP标题部分?
如果在HTTP标题部分,我该怎么做?
如果我遗漏了文档中的内容,请告诉我.
我有一个网络服务器,大致如下:
async def websocket_handler(request):
ws = web.WebSocketResponse()
await ws.prepare(request)
# ==========================================
cards = []
async for msg in ws:
if msg.type == aiohttp.WSMsgType.TEXT:
Q = json.loads(msg.data)
if "q" in Q:
async with aiohttp.ClientSession(cookies=request.cookies) as session:
async with session.get(f"{SEARCH_ROOT}/s", params=Q) as resp:
doc_order = await resp.json()
cards = [
*doc_order["results"],
{"done": True},
]
if len(cards) > 0:
card = cards.pop(0)
await ws.send_json(card)
else:
ws.close()
return ws
Run Code Online (Sandbox Code Playgroud)
问题是,这工作得很好,但在大约 13-15 个新的 websocket 连接之后,我开始看到声称could not start a new thread.
文档提到客户端会话应该在每个服务器实例中存在一次,但我无法弄清楚如何做到这一点。我有一些想法: …
我运行了代码
a = True
b = False
c = False
d = False
e = False
import time
iterations = int(1e6)
start = time.time()
for _ in range(iterations):
a or b or c or d or e
print(time.time() - start)
start = time.time()
for _ in range(iterations):
b or c or d or e or a
print(time.time() - start)
Run Code Online (Sandbox Code Playgroud)
结果
0.10876178741455078
0.26296424865722656
Run Code Online (Sandbox Code Playgroud)