浅谈beego默认处理静态文件性能低下的问题
作者:jingxian 发布时间:2024-04-25 13:21:19
标签:beego,静态文件,性能低下
今天使用ab(apacheBench)测试了一下beego的性能。
3Kbytes动态文件,在i3上可以达到每秒1W次响应的性能。
但是在测试静态文件时,beego出现了问题。
ab测试参数:100次请求,并发数5。
问题表现:70%的请求直接失败,连接断开。
按道理来说,一个web server框架,静态文件的性能,应该是高于动态文件性能的。
在动态文件性能达到1W/s的情况下,没理由静态文件性能这么低下。
然后查看了一下beego的源代码。发现beego在处理动态文件请求时,有缓存。而处理静态文件时,没有缓存。
简图:
beego----动态文件----缓存-----文件系统
beego----静态文件-------------文件系统
处理静态文件时,是直接使用文件系统。一般的文件系统的并发量当然很低。
这就是beego的静态文件处理性能低下的原因。
所以在进行网站部署时,需要将相应的静态文件,放置到nginx上进行处理(相同的文件,nginx的静态文件处理可以达到每秒1.5W次响应。
beego与nginx通过反向代理连接。这样才能最大限度地保证网站性能。


猜你喜欢
- pyquery的使用一、pyquery的介绍使用pyquery需要在Web和了解jQuery的基础上,使用该CSS选择器。二、pyquery
- SQL SERVER支持的字符串函数内容:LEN(string)函数LOWER(string)函数UPPER (string)函数LTRIM
- 用DIV+CSS可以作出很多不同形状的角形;以下我只写了几个;CSS没有优化;是为了让大家看得更清一些;以下是一些小三角的形状:这是第一个小
- Vuex 中有以下几个核心概念:State:应用程序的状态存储在单一的状态树中,即 State。State 可以通过 store.state
- 一、功能需求1.根据输入内容进行模糊查询,选择地址后在地图上插上标记,并更新经纬度坐标显示2.在地图点击后,根据回传的左边更新地址信息和坐标
- 用python给自己做个练习系统刷题吧!实现效果实现代码选择题def xuanze(): global flag2
- 本文介绍了SpringBoot 中使用JSP的方法示例,分享给大家,具体如下:依赖: <parent>
- Data Points Archive 有时, 为了让应用程序运行得更快,所做的全部工作就是在这里或那里做一些很小调整。啊,但关键在于确定如
- 如何获取指定的标签的内容是解析网页爬取数据的必要手段,比如想获取<div class='xxx'> ...<
- 基本概念上一节提到,代码完成的标准之一还包含了单元测试,这部分也是很多开发流程中不规范的地方。写过单元测试的开发人员应该理解,单元测试最核心
- set是什么?数学上,把set称做由不同的元素组成的集合,集合(set)的成员通常被称做集合元素(set elements)。Python把
- 通常的情况是,我们一般会载入一个模板文件,然后用 Context渲染它,最后返回这个处理好的HttpResponse对象给用户。 我们已经优
- 本文分析了python3新特性函数注释Function Annotations用法。分享给大家供大家参考,具体如下:Python 3.X新增
- python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。or也是从左到有计算表达式,返回第一
- 实现代码# -*- coding: cp936 -*-import re s1 = 'adkkdk's2 = 'ab
- js中用import导入模块和用require导入模块的区别JavaScript中,模块是一种可重用的代码块,它将一些代码打包成一个单独的单
- JavaScript中没有Trim函数,VBScript语言中才有这个函数,就是去掉字符串头和尾的空格。您可以访问这篇文章:《增加 java
- 本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法。虽然我本人专注于Python的Flask微框架,但本文
- 一、直接连接,不封装到工具类中,主要步骤:先导包:mysql-connector-java-5.0.8-bin.jar(点击跳转到下载界面)
- 代码很简单,这里就不多废话了,直接奉上:$(function(){ var w=