服务器的大用户量的承载方案

SpringCloud2025+SpringBoot3.5.0+gateway+webflux子服务路由报503 本来昨天就应该也记录下,免得忘记的,但是有点晚了,酒没写,真的是被坑惨了。当然这也是追求最新的代价,也是对新技术、老知识点的重温。依赖更粒度让架构的知识面更高,需要非常清楚另外说不定是有新的负载均衡要出现了,就想当初loadbalancer取代Ribbon一样好了,真是坑了半夜,昨晚都没有写,今天才复盘,希望能帮到大家,让更多在坑里的技术人爬出来。 阅读详情
引用
--------                   ----------                       -------------                     ---------                     ------------
| 客户端 | ===> |负载均衡器| ===> |反向代理/缓存| ===> |WEB服务器| ===> |数据库服务器|
--------                  ----------                        -------------                     ---------                     ------------
                              Nginx                            Squid                    Apache,PHP                 MySQL
                                                                                          eAccelerator/memcache
准备工作:
引用
服务器: Intel(R) Xeon(TM) CPU 3.00GHz * 2, 2GB mem, SCISC 硬盘
操作系统:CentOs4.4,内核版本2.6.9-22.ELsmp,gcc版本3.4.4
软件:
Apache 2.2.3(能使用MPM模式)
PHP 5.2.0(选用该版本是因为5.2.0的引擎相对更高效)
eAccelerator 0.9.5(加速PHP引擎,同时也可以加密PHP源程序)
memcache 1.2.0(用于高速缓存常用数据)
libevent 1.2a(memcache工作机制所需)
MySQL 5.0.27(选用二进制版本,省去编译工作)
Nginx 0.5.4(用做负载均衡器)
squid-2.6.STABLE6(做反向代理的同时提供专业缓存功能)

 

 

 想要启用squid所需的改变想要更好的利用squid的cache功能,不是把它启用了就可以的,我们需要做以下几个调整:
1、启用apache的 mod_expires 模块,修改 httpd.conf,加入以下内容:
#expiresdefault "modification plus 2 weeks"expiresactive
onexpiresbytype text/html "access plus 10 minutes"expiresbytype
image/gif "modification plus 1 month"expiresbytype image/jpeg "modification
plus 1 month"expiresbytype image/png "modification plus 1
month"expiresbytype text/css "access plus 1 day"expiresbytype
application/x-shockwave-flash "access plus 3 day"
以上配置的作用是规定各种类型文件的cache规则,对那些图片/flash等静态文件总是cache起来,可根据各自的需要做适当调整。
2、修改 php.ini 配置,如下:
session.cache_limiter = nocache
以上配置的作用是默认取消php中的cache功能,避免不正常的cache产生。
3、修改应用程序例如,有一个php程序页面static.php,它存放着某些查询数据库后的结果,并且数据更新并不频繁,于是,我们就可以考虑对其cache。只需在static.php中加入类似如下代码:
header('Cache-Control: max-age=86400
,must-revalidate');header('Pragma:');header('Last-Modified: ' .
gmdate('D, d M Y H:i:s') . ' GMT' );header("Expires: " .gmdate ('D, d M Y
H:i:s', time() + '86400' ). ' GMT');
以上代码的意思是,输出一个http头部信息,让squid知道本页面默认缓存时长为一天。
二、)squidclient简要介绍
*取得squid运行状态信息: squidclient -p 80 mgr:info
*取得squid内存使用情况: squidclient -p 80 mgr:mem
*取得squid已经缓存的列表: squidclient -p 80 mgr:objects. use it carefully,it may crash
*取得squid的磁盘使用情况: squidclient -p 80 mgr:diskd
*强制更新某个url:squidclient -p 80 -m PURGE http://www.yejr.com/static.php
*更多的请查看:squidclient-h 或者 squidclient -p 80 mgr:

http://www.unixtech.cn/read.php?tid=1179  

【EMC专题】为什么芯片规格书ESD性能中看不到MM(机器放电模型) 器件级ESD包括三种类型,HBM人体放电模型、MM机械放电模型和CDM元件充电模型。但在芯片规格书中为什么只见到HBM模型与CDM模型,却没有看到MM模型的数据? 阅读详情

相关推荐

别再只盯着GPS了!手把手教你用Python仿真UWB定位,30厘米精度是怎么算出来的?

本文详细解析了UWB(超宽带)室内定位技术的原理与实现,通过Python代码演示如何从三边测量法到实现30厘米精度的定位。文章涵盖了UWB的核心数学模型、Python仿真环境搭建、误差分析及优化策略,为开发者提供了实用的技术指南和应用场景。

weixin_26873711的博客 252

队列和数组的区别 因为对数组比较熟悉,所以通过数组来了解队列 队列的实现

数组是java中最基本的一种数据结构,可以理解为一种容器——在数组中可以放其他东西;数组一旦定义,他的长度就是固定的。 队列其实就是一个数组一样有序的存放对象;但与数组最大的区别就是,他可以自动增长 队列没有固定长度,队列的插入通过两个数组的相互交换行成。 但是,数组与队列的输出都是一样的,都是通过循环来实现输出 队列 1.为什么要使用队列 数组不能随意的添加或者删除空间。 2.如何实现队列 借助于数组和引用传递。 自定义队列就是用类来操作数组,将所有的操作用类封装起来,在类外是无法看到具体的操作 http

dianqicyuyan的博客 3522

射频总集篇:(不断更新)

射频每一章涉及到的重点理论/设计方法 CHAPTER 1 传输线理论 输入阻抗Zin,负载阻抗ZL,驻波比ρ,反射系数 CHAPTER 2 波导 矩形波导,圆波导,同轴线 CHAPTER 3 微型带状传输线 微带线的参数设计,带状线的参数设计 CHAPTER 4 ...

jieyannn的博客 1920

5000用户并发大概多少_干货系列三:一台服务器能承载多少人同时访问?

有很多人都会问这个问题:服务器能承载多少人同时访问?这个问题其实是很难有一个非常准确的答案的,因为服务器能同时承载的在线人数是受到多方面因素共同影响的结果,比如带宽、服务器处理速度以及访问页面的大小等等因素。虽然很难有一个精确的答案,但是服务器大致的承受量却是可以估算出来的,数据湾分享: 服务器能承载多少人同时访问?接下来将要进行的计算基于如下假设:假定你的服务器带宽为1M。(如果你的带宽是N兆的...

weixin_39675679的博客 1万+

U8-固定资产月末结账报错:BOF或EOF中有一个是真

度了下,发现此问题一般是由于fa_Vtsobject表缺少对应月份的记录导致,补上即可,但是查看发现此表记录正常。 跟踪后发现定位到以下语句: select * from AccInformation where cSysID = N'FA' and cName =N'bVoucherApply'上述语句执行后没有任何记录显示,但是在正常的账套执行是有记录的,那有可能就是记录丢失导致,执行以下

guizhouakun的博客 5917

bcftools学习笔记(一)

欢迎关注"生信修炼手册"!本篇主要介绍index, view, query, sort, reheader这五个命令。1. indexindex命令用于对VCF文件建立索...

庐州月光的博客 6010

网站服务器配置-应该选择多大带宽-同时能承载多少用户的访问

前言随着网站流量运营的增长,每天有很多人来访问你的网站和应用,这个肯定是好事,但随之而来的就是,因为网站服务器配置过低,导致同一时刻如有几百,几千,几万人同时在线访问,会让服务器处理不过来,一个服务器创建的应用多了,若其中有一个应用访问非常大,那么服务器的cpu就很吃紧会导致服务器迭机,不仅当前应用无法提供服务,同时其他应用也是没办法使用显然选择合适的服务器配置,就变得非常重要了的很多站长初次选择...

itclanCoder 3364

基于STM32L4XX 、HAL库的TMP144YFFR数字温度传感器驱动应用C语言程序设计

define TMP144_ADDRESS 0x00 // 默认为全局地址,用于单器件或MDA命令。#define TMP144_CMD_READ_TEMP 0x00 // 读取温度寄存器命令。if (temp_raw & 0x800) { // 判断第11位(符号位)

PP_Cottage的博客 91

如何判断服务器能容纳多少人同时访问

假若服务器租用保证的最大带宽是5M (即5Mbit/s),相应服务器的数据最高传输速度应为5Mbit/s x 1024/8=640KB,假设毎个用户1分钟内始终占用10KB的流量,即该1分钟内支持占用这样的流量的同时。如果是文字网站,1M带宽带动日均5000IP,还勉强。综上所述,一台中低端服务器通常支持在线人数最高为2000人左右,而且只适合普通网站建设后的服务器和文字型论坛。不同型号品牌的服务器能够承受的流量是不同的,所以,这是影响同时在线访问数量的原因之。,不包括图片类、下载类、视频类等。

2301_78491269的博客 854

【Proteus仿真】51单片机+DAC0832+LM358放大电路波形发生器

【Proteus仿真】51单片机+DAC0832+LM358放大电路波形发生器

perseverance51博客 5786

基于 高斯过程回归(Gaussian Process Regression, GPR) 的 时间序列区间预测 的 MATLAB 示例代码

基于 高斯过程回归(Gaussian Process Regression, GPR) 的 时间序列区间预测 的 MATLAB 示例代码

算法如诗的博客 153

100M服务器能同时容纳多少人访问?

100M的服务器带宽能够同时容纳的用户访问量需要考虑以下几个关键因素:👉1.单个用户的平均访问流量大小这取决于网站内容,是否有多媒体等。一般文本类网站每用户每次访问在50-100KB。👉2.每个用户的平均访问页面通常每次访问会打开多个页面👉3.并发用户比例不是所有用户都在同一时刻访问,需要考虑高峰时段的并发用户数。👉4.服务器和网络的流量利用率理论带宽diffs,实际会有20%-30%的浪费。👉5.服务器自身处理能力计算和IO能力也会成为瓶颈。做一个粗略估算:每用户每次访问流量:100KB每用户访

Venus's Blog 5万+

第十六章:载板制造工艺大全

本文详细介绍了IC载板制造的完整工艺流程,主要包括开料、钻孔、孔金属化、图形形成、层压、表面处理、成型和电测8大工序。每个工序都列出了关键参数和质量控制要点,如开料尺寸精度±0.1mm、激光钻孔孔径50-150μm、孔金属化铜厚20-30μm、图形形成线宽15μm±2μm等。文中还特别说明了MSAP工艺和沉金等特殊工艺的详细流程,以及成型精度和电测标准等关键指标。全文通过流程图和参数表格直观展示了IC载板制造的核心工艺和质量要求。

Open 184

数组队列

章节目录: 一、队列 1.1 概述 二、数组顺序队列 2.1 实现思路 2.2 代码示例 2.3 问题分析及优化 三、数组环形队列 3.1 实现思路 3.2 代码示例

微信公众号:饺子泡牛奶 936

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【队列】c++使用数组实现队列

数组队列 基本概念 代码实现 1 数组队列的类 2 判断队列是否满 3 判断队列是否为空 4 向队列中添加元素 5 从队列中取出元素 6 获取队列元素个数 7 显示队列所有元素 8 显示队列头元素 9 数组队列全部代码 10 测试代码 结果与分析 1 操作结果 2 分析与待改进 基本概念 队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 使用数组来实现队列的示意图 .

yizhizainulii的博客 4454

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

队列——数组实现

队列是一种先进先出的思想。(First In First Out) 关于队列的定义就不叙述了,百度比我讲的详尽的多,在这里说一下用数组实现队列的思想,并附上代码。 我们身边的与队列相关实例很多,火车站排队买票或是买饭是排队,都是队列。因此我们很容易想到,队列是有一个头一个尾的,新来的总是在尾,最先来的总是最先买票或是吃饭,当然,像插队一类的我们不做考虑,相信我们都不会喜欢这些的。 队列的成员...

yangwenxiao123456的博客 1万+

数组模拟队列

(1)队列是一个有序列表,可以用数组或者是链表来实现; (2)遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的数据要后取。    因为队列的输出和输入是分别从头部和尾部来处理,因此借助两个变量front和tail分别记录队列前后端的下标,front会随着数据的输出而改变,而tail会随着数据的输入而改变,tail和front的初始值为-1,如下图所示为数组模拟队列存取过程。👇👇👇(1)将尾指针往后移:tail + 1,当front == tail 时队列为空; (2)若尾指针tail小于队...

Fish_Vast的博客 1551

Java数组实现队列

Java队列 Java队列的应用场景 ​ 银行排队叫号系统 队列介绍 ​ 队列是一个有序列表,可以用数组和链表来实现 ​ 队列有一个原则。即:先存入队列的数据要先取出。后存入的要后取出 数组模拟队列的思路分析 ​ 因为队列的输出、输入分别从前后端来处理,因此需要两个变量front及rear分别记录队列前后端的下标,front会随着输出而改变,而rear则是随着数据输入而改变。而MaxSize则是数组队列的大小。 ​ 创建一个数组队列的类,其中需要包含以下几个方法: ​ boolean isFull():判断

LZ_yuanhai的博客 1230

用数组模拟队列

定义 队列是一种特殊的线性表,它的特点是先进先出,即先入队列的先队列。队列的插入是在队列尾部(rear),队列的删除是在队列头部(front) 数组模拟队列 变量说明 maxSize:队列的最大容量 rear:记录队列尾部的下标,指向队尾元素,队尾元素为 arr[rear] front:记录队列头部的下标,指向队列头的前一个位置,即队列的第一个元素为 arr[front+1] 队列满的条件: rear=maxSize-1 队列空的条件: rear=front 代码实现 //使用数组模拟队列-编写一个Arr

自律即是最自由 470

数组实现队列

队列 先进先出。insert入队列,remove出队列。数组实现有队列空,队列满。 数组实现队列 数组实现简单队列有头和尾“指针”。插入元素,队尾rear指针上移加1。移除元素,队头指针上移加1。 环绕处理(循环队列) 为了避免队列不满却不能插入数据项的情况,可以让队头队尾指针绕回到数组开始的位置,这就是循环队列(有时也称为“缓存环”)。循环队列通过nItems数据项计数字段来记录队列内元素个数,判断队列空满状态。有数据项记录数的队列,会带来一个问题,当队头队尾取一定位置时,无法判断队列状态处于空还是满。如

Vonzhuxi的博客 1330

数组队列及循环队列

java数据结构之----数组队列及循环队列 数据结构与算法学习的第二篇 什么时候需要用到队列 队列在实际开发过程中运用的非常广泛,由于我也是学习基础,还没有开发过什么项目,所以用到时候就知道了 什么是队列 队列是一个有序列表,可以用数组或者链表来实现 队列遵守先入先出的原则 联系实际场景 可以把一个队列的存入,读取数据的过程看成在银行里面排队办理业务,进银行,取号,叫号,办理业务,出银行...

一个猿子的博客 670

数组模拟队列和数组模拟环形队列

队列 队列介绍: 1、队列是一个有序列表,可以用数组或是链表来实现。 2、遵循先进先出的原则。即:先存入队列的数据,要先取出。后存入的数据,后取出 数组模拟队列示意图: maxSize 是该队列的最大容量 存入数据时从 尾节点存入,尾节点移动,头节点不动 取出数据时从头节点取出,头节点移动,尾节点不动 加入数据的思路分析 当我们将数据存入队列时称为 ”addQueue“,addQueue 的处理需要有两个步骤 1、将尾指针往后移:rear+1,当front == rear 【队列为空】 2、若尾指针

CXY_C的博客 549

数组与队列

数组与队列 1、数组 1.1数组基本用法   数组是java中最基本的一种数据结构,数组可以理解为存储相同类型数据的一种容器,一个数组一旦定义,其长度与类型都已经固定。数组中的每一个值都有固定的索引值。   使用数组的过程中需要注意的是:数组的长度是固定的,数组是有序的,数组中的每个元素都有一个唯一的索引位置,这个索引值从0开始,最大为数组长度-1;如果数组长度为10,则最后一个元素的索引位置就是...

HNUTheMao的博客 2517

稀疏数组和队列-稀疏数组应用、数组模拟队列、数组模拟环形队列

1 稀疏数组 1.1 实际需求 二维数组的很多值是默认值 0 ,记录了很多没有意义的数据,可以将其转为稀疏数组进行存储。 1.2 稀疏数组应用实例 原始数组转换成稀疏数组(代码) //测试代码 class Demo{ public static void main(String[] args){ //创建一个11*11的二维数组 // 0: 表示没有棋子, 1 表示 黑子 2 表蓝子 int[][] array = new int[11][11]; array[1][2] = 1

qq_39497997的博客 513
上一篇: 面向高负载的架构Lighttpd+PHP(FastCGI)+Memcached+Squid
下一篇: XMLHTTPRequest简介
subnet
博客等级 码龄23年 9粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值