自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 RocketMQ 同步发送、异步发送和单向发送,如何选择?

本文分析了 RocketMQ 同步发送、异步发送和单向发送三种方式的原理、优缺点以及使用场景,并且分析了每种方式涉及到的核心源码。通过上文的介绍可以知道同步发送方式可以保证消息发送时不丢,但是性能相对其他两种方式差一些。RocketMQ 是一款优秀的开源消息中间件,作为 Java程序员,建议多去阅读它的源码,吸收其中比较好的代码思维。

2024-11-15 13:23:09 675

原创 fiddler总结

主要是工具,可在options中设置fiddler的端口号、HTTPS请求、Connection等,也可以清除cache;URL:访问网址,请求服务器路径和文件名,包括GET参数。Protocol:协议类型(HTTP/HTTPS)中用的最多的是Tools-Options。调试BUG,断点拦截请求。Content-Type:请求响应的类型。更改端口号、抓取HTTPS请求。Host:请求地址的域名。Replay:重新请求。

2024-10-26 21:04:53 331

原创 APP弱网测试方法

通过Fiddler来模拟限速,因为Fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里面自定义一些逻辑。Fiddler的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。打开Network,点击No throttling下拉框,一样有很多的预设,可根据自己的需要选择,也支持自定义添加。•设置完成后,清空原有的log,并使用你的app进行弱网条件下的操作。

2024-10-14 14:33:15 510

原创 input标签的value和name属性详解

name 属性规定 input 元素的名称1、 name 属性用于对提交到服务器后的表单数据进行标识2、 name 属性在客户端通过 JavaScript 引用表单数据只有设置了 name 属性的表单元素才能在提交表单时传递它们的值如上面的例子:在后端他有个对象存在 两个属性为 fullname和 email 与两个input中的name属性相对应。这样我们就可以通过input 向后端传值。注: 必须要保障input中的name属性的值与后端对象的属性名要保持一致才可以进行传值。

2024-10-12 10:25:22 2206

原创 Jmeter自动重定向和跟随重定向

通过以结果树可以看出,一个200的请求,他只有一条结果数据,没有过程记录。当然这里你选跟随重定向它也只会有一条结果数据,200的请求没有过程路径。02、自动重定向只有一个最终的响应结果,不会有过程,跟随重定向会记录请求每一步的路径。01、3XX的请求一般要使用跟随重定向,200的请求任意都可以。通过以上3XX的请求,要用跟随重定向才能获取到最终结果。1、自动重定向和跟随重定向。

2024-10-09 11:30:32 399

原创 【总结分享】10种常用前后端鉴权方法,让你不再迷惘

扫码登录通常见于移动端 APP 中,很多 PC 端的网站都提供了扫码登录的功能,无需在网页上输入任何账号和密码,只需要让移动端 APP (如微信、淘宝、QQ等等) 中已登录用户主动扫描 二维码 ,再确认登录,以使 PC 端的同款应用得以快速登录的方式就是 扫码登录。但随着企业的发展,一个大型系统里可能包含 n 多子系统,用户在操作不同的系统时,需要多次登录,很麻烦,那么单点登录(SSO) 就可以很好的解决这个问题的,在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。那有没有更好的办法?

2024-10-09 11:29:46 1378

原创 分享 11 个常用的 Nginx 性能优化参数工作

分享 11 个常用的 Nginx 性能优化参数教程工作上,需要配置 Nginx,要投入生产使用,做了一点优化工作,加上以前也经常折腾 Nginx,故记下一些优化工作。

2024-08-27 09:40:29 1511

原创 Window 安装Gogs教程

"控制面板" --> "系统和安全"--> "系统"--> "高级系统设置"--> "环境变量"--> "系统变量"-->"编辑系统变量"在scripts目录下找到install-as-service.bat,这个脚本,右键管理员身份运行,自动添加服务。在"Path"项目添加NSSM文件路径"X:\XXX\NSSM\win64"(记得在路径前添加半角";找到gogs目录下的scripts的mysql.sql执行语句新建一个数据库。在本地数据库或者其他目标数据库新建查询执行下列SQL语句。

2024-08-23 23:56:40 974

原创 gogs运行报“gogs“: cannot run executable found relative to current directory

【代码】gogs运行报“gogs“: cannot run executable found relative to current directory。

2024-08-23 23:26:37 242

原创 数据库中vip什么意思

是配置VIP的关键步骤。配置VIP地址时,需要确保VIP地址在网络中唯一,避免IP冲突。设置心跳信号用于监控节点状态,确保在节点故障时能够及时进行VIP切换。定义故障转移策略则决定了在节点故障时,VIP如何在其他节点间进行切换,确保服务的连续性。管理VIP时,还需要定期监控VIP的状态,检查网络连接的稳定性,确保VIP能够在需要时迅速切换。

2024-08-22 15:13:16 1704

原创 如何给两台机器集群设置VIP(虚拟IP)

出现这种问题是因为路由交换层禁用了ARP的广播限制,造成Keepalive主备协议无法通过广播的方式进行通信,造成主备两台服务器都强占HAVIP地址,出现同时两台服务器都有VIP地址的情况出现,必须通过配置来指定IP的两台服务器间进行通讯。我是在openstack上搭建的集群,建议大家将需要用到的IP都固定到端口上,不要绑定浮动的IP,以免会出现网络跳动,导致IP配置失败。如果不加入以上配置,可能在两台机器上可以同时看到VIP,这样就失去了我们设置集群VIP的意义。可以看到这时候,VIP绑定在了主节点上。

2024-08-22 15:03:20 1386

原创 Selenium 是如何操纵浏览器的(底层原理)

答:因为 WebDriver(客户端) 基于 Json Wire Protocol,该协议会对传输数据做一个格式规范,当不同语言的代码被编译器编译之后,代码中的数据封装进请求体中被 WebDriver(客户端)发往浏览器 driver(服务端),浏览器 driver(服务端)也会把响应数据做一定格式的封装进响应体中返回给 WebDriver(客户端),这样由于遵循了指定的协议做了格式规范,WebDriver(服务端)无需关注是何种语言。【WebDriver】将 http 请求传给【浏览器 driver】

2024-08-17 22:19:59 303

原创 java.lang.OutOfMemoryError 的8种典型案例

笔者在工作中碰到过各种各样的, 其中最常见的可以归为以下八种类型。本手册阐述了各种内存溢出错误的形成原因,并提供了可测试这种错误的示例代码,以及解决方案。内容都来源于笔者的一线开发和实践经验。

2024-08-14 18:11:33 1373

原创 pymysql报错:RuntimeError: ‘cryptography‘ package is ?

网上很多都是指的install cryptography ,其实不然,我之前运行都好好的,突然直接就报错了,什么都没有做。链接:https://www.zhihu.com/question/650170900/answer/3443472200。添加cursorclass=pymysql.cursors.DictCursor参数。你可以是手动链接MYSQL ,或者借助工具来链接, 不过我比较懒人的方法是用编写的。第二天又遇到了问题,我需要做一些补充,报错:RuntimeError: '

2024-08-02 20:11:38 616 1

原创 解决:SyntaxError: Non-UTF-8 code starting with ‘\xe6‘ in file

代码最上面加上编码格式#coding:utf-8

2024-07-15 15:19:53 337

原创 iperf3: error - unable to connect to server: No route to host

2.确认防火墙是否关闭。

2024-07-08 21:50:54 1565

原创 jmeter-server.bat启动报Server failed to start: java.rmi.server.ExportException: Listen failed on port:

原文链接:https://blog.youkuaiyun.com/weixin_42274149/article/details/90674175。在目录\apache-jmeter-5.0\bin下,用Notepad++编辑器打开名为jmeter.properties的文件。找到server.rmi.ssl.disable=false,改为true,并把前面的#去掉。保存配置调整,重新启动jmeter-server.bat即可恢复正常。在启动jmeter-server.bat时抛出了如下异常。

2024-07-04 14:47:44 625

原创 jar包和war包的区别

1、war包和项目的文件结构保持一致,jar包则不一样。2、jar包里没有静态资源的文件(index.jsp)

2024-07-01 18:14:27 692

原创 性能测试中的场景设计和测试执行

假设一个内部系统要求响应时间在 3s 以内,支持最大用户数为4万。根据二八原则,80%用户在20%时间使用系统(4w80%)/(24h20%)≈1.9点击/秒。并发数=TPS(运行时间+思考时间)=1.9(3+0.5+0.3+3+0.5+0.3+0.5+3)=21。注意:二八原则计算的结果并非是并发数,而是系统要达到的处理能力(吞吐量),初学者容易被误导,拿着这个数据就去设置并发数,这是错误的哦。

2024-07-01 17:28:18 844

原创 usermod: user xxx is currently used by process xxxx

命令, 进行修改用户主目录的时候, 出现user xxx is currently used by process xxxx, 表示删除的此用户有标识符进程 xxxx 在执行.关闭标识符为 xxxx 的进程就可以正常对此用户进行操作.usermod(或者userdel)在 Linux 系统上, 执行。

2024-06-30 14:09:45 1033

原创 mtu 1500 qdisc noop state DOWN group default qlen 1000问题的解决

出现了绿色的OK啦!

2024-06-28 19:47:00 2115

原创 Jmeter 性能测试如何设计混合场景

也许同时,有100个人在访问你的服务器,对你服务器发起了请求事件,但是他们的请求可能各不相同,有的是刷新页面,有的是登录,有的请求某个商品,有的在添加购物车,有的在付款...... 每个人的情况可能都不一样,没有一定的非是即非的关系,但是,在这个时间点,对于服务器来说,收到了用户的请求,就必须处理,就有计算压力。这样,就可以实现跨线程组传递参数了。你去百度jmeter混合场景设计,多数人的文章,都只会说到,在脚本中增加 if控制器,增加一层判断,让原本顺序执行的取样器,有了一个分支,就认为是混合场景了。

2024-06-28 17:30:08 1208

原创 性能测试混合业务场景

业务C执行一次接口1,需要执行4次接口3,故业务C需要用循环控制器,ABCDE5个业务加起来份额为:10+10+5+10+5=40,每个业务比例分别为25、25、12.5、25、12.5。只有接口4在A业务中,按照接口4的比例来分配,分配完成后,再继续按照业务B和业务C分配。接口5和接口6相对独立,可暂不考虑。

2024-06-27 17:45:08 301

原创 性能测试--理发店模型

​ 在新的场景中,我们假设这次理发店里一次来了9位顾客,根据我们上面的场景,相信你不难推断,这9位顾客中有3位的“响应时间”为1小时,有3位的“响应时间”为2小时(等待1小时+剪发1小时),还有3位的“响应时间”为3小时(等待2小时+剪发1小时)——已经到达用户所能忍受的极限。在这个模型中,需要理发的人员(即客户)向理发店(服务器)提出理发的请求,理发师的剪发时间为1小时,即服务器的处理时间,用户的响应时间为进入理发店的门到理发完毕的时间(等待时间+处理时间)。1小时后,这位顾客剪完头发出门走了。

2024-06-26 18:21:37 1095

原创 性能测试案例全过程方案九---------混合场景设计

两种支付方式:1.银联刷卡支付(线下支付)、2.微信扫码支付(线上支付),按照公司目前的交易订单来源,银联刷卡支付:微信扫码支付=3:2,所以在执行性能测试的时候,需要按照3:2的比例来测试,也就是说10条订单,6条是刷卡支付,4条是扫码支付。在jmeter工具执行性能测试时,可以用if控制器元件来实现,在条件中,添加上判断代码,判断代码是针对if控制器之下的每一个可运行测试元件单独评估的,要求所有的请求都要发到该控制器下,判断语句才能生效,如果是同级的元件,是没有作用的。很多网上的代码条件都是。

2024-06-26 16:32:52 1032

原创 Critical Section Controller (临界部分控制器) 到底该如何用?

我们再看看官方给的解释,它说的是,线程执行时,先根据‘锁名称’生成锁,串行,是因为锁名称相同,已经被占用,无法生成新的锁,所以只能等待锁的释放,哪我们是不是可以考虑让锁名称变成动态的呢?说直白点,就是并发请求(线程)这个控制器时,会先根据‘锁名称’生成一个‘锁’,锁定控制器下的所有子元素,等到所有子元素都执行完‘锁’才会释放,下一个请求(线程)才能执行,即,只是,需要学习的时候,再深入一点点,再细致一点点。是不是,看到结果也是你指定的顺序,执行的时间也和第一种相同,最后的汇总报告中,看到了一个事务总数据。

2024-06-26 16:03:02 1215

原创 count(1)、count(*)、count(列名)的含义、区别、执行效率

使用count函数,当要统计的数量比较大时,发现count(*)花费的时间比较多,相对来说count(1)花费的时间比较少。1、如果你的数据表没有主键,那么count(1)比count(*)快;如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快。2、如果你的表只有一个字段的话那count(*)就是最快的。3、如果count(1)是聚索引,id,那肯定是count(1)快,但是差的很小的。因为count(*),自动会优化指定到那一个字段。

2024-06-24 16:22:22 5205

原创 TCP/IP协议分层模型

传输层中,是TCP和UDP。传输的是TCP信息,包括,TCP头+信息。TCP头包含:源和目的主机的端口号,顺序号,确认号,校验字。网络层中,是IP协议。传输的是网络数据报,包括ip报头,TCP信息。ip报头包括:源和目的主机的IP地址,类型和生命期等。应用层中,像文件系统的FTP协议,邮件系统的POP3,SMTP. 远程登录的TELNET. 传输的是应用信息。网络接口层中,传输的是数据帧。包括帧头+IP数据报+帧尾。帧头中是源和目的MAC地址,类型。TCP/IP协议分为4层。osi分层是分成了7层。

2024-06-03 11:20:44 292 1

原创 Could not connect to Redis at 127.0.0.1:6379: Connection refused

经过ping服务,发现并没有网络问题,那么可能是redis本身的服务问题。原文链接:https://blog.youkuaiyun.com/weixin_43408020/article/details/110227783。昨天,装好了redis,准备启程redis。不过,今天在linux开启redis的时候出了一个小问题,解决了,跟大家分享一下。

2024-05-24 22:14:18 919 1

原创 Linux性能调优命令之free详解

当系统物理内存吃紧时,Linux 会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问 swap 上存储的内容时,再将 swap 上的数据加载到内存中,这就是常说的换出和换入。如果下次A或者其他C来取B的东西,ab直接就给A或C一个货真价实的赝品,然后把它通过a接口给了A或C,由于a的速率相对接近A的接口速率,所以A觉得不错为他省了时间,最终和ab的a成了好朋友。所以在这种工作模式下,怎么取得的东西是最新的也是我们需要考虑的,一般就是清cache。

2024-05-21 18:14:07 2268

原创 vmstat详解

一、解读内存二、解读CPU 1. 运行队列 2. CPU使用率 3. 上下文切换三、系统监控的实验 实例一,大量的算术运算 实例二,大量的系统调用 实例三,大量的io操作 实例四:大量的占用内存 实例五:又一个大量分配内存例子四、vmstat用法 1. 查看系统已经fork了多少次 2. 查看内存的active和inactive 3. 查看内存使用的

2024-05-21 11:27:11 5341

原创 Linux(CentOS)网络流量实时监控(iftop)安装教程——含yum命令安装失败方法

从其官网( http://www.ex-parrot.com/pdw/iftop/download/)上,选择一个最新版本(iftop-1.0pre4.tar.gz)# wget http://www.ex-parrot.com/pdw/iftop/download/iftop-1.0pre4.tar.gz //下载。原文链接:https://blog.youkuaiyun.com/gaojinshan/article/details/40781241。那么,就必须使用第二种安装方式,即下载,解压,配置,并编译安装。

2024-04-21 09:20:11 1817 1

原创 性能工具之网络工具iperf3简单介绍

的还是自己测试过,今天介绍一款常用测试网络工具iperf3,做性能测试一切用数据说话。iperf3是用来测量一个网络最大带宽的工具。它支持调节各种参数比如发送持续时间,发送/接收缓存,通信协议。每次测试,它都会报告网络带宽,丢包率和其他参数。以上是测试压力机与服务器之前的网络带宽简单方法,大家做性能测试是否也是这样确定网络带宽大小。从下图可看出本机与虚拟机是1000MBytes局域网。linux启动服务端 iper3 -s。Linux之centos7安装方法。在做性能测试网络带宽多大是听。

2024-04-20 18:05:16 483

原创 java sessionid由账号密码生成

2024-04-12 17:55:06 132

原创 Python多态的三种表现形式

需要注意的是,在Python中,函数重载是通过参数个数的不同来实现的,而不是通过参数类型的不同。当调用add函数时,根据传入的参数个数的不同,会选择相应的实现方式。需要注意的是,运算符重载是通过在类中定义特殊方法来实现的。函数重载是指在一个类中,对同一函数名有多种实现方式,根据参数类型和个数的不同,来决定选择哪个实现方式。方法重写是指在子类中重新定义父类中已有的方法,使得子类可以使用自己的实现方式来替代父类的实现方式。运算符重载是指通过对已有的运算符重新定义,使得运算符对不同类型的操作数可以有不同的行为。

2024-04-09 16:51:59 481

原创 搞定重复计数:Python 中的 Counter 模块

原文链接:搞定重复计数:Python 中的 Counter 模块_python counter-优快云博客

2024-03-30 14:32:47 208 1

原创 列表推导式与矩阵的行列转换

以下实例展示了3X4的矩阵列表:... ]以上实例也可以使用以下方法来实现:...另外一种实现方法:...

2024-03-29 13:29:52 191 1

原创 python 列表推导式

列表推导式用于使用其他列表创建一个新列表。一般形式:中括号内含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。[表达式 for 变量 in 列表 if 表达式]执行顺序:各语句之间是嵌套关系;左边第二个语句是最外层,往右为第二层,依此类推;而左边第一条语句是最后一层。例:第一层:左边第二个语句 for x in range(1,5);第二层: if x>2;第三层:for y in range(1,4);第四层:if y < 3;

2024-03-29 13:18:18 917 1

原创 python 迭代器只能执行一次

在代码中想查看map 函数执行结果的list,使用了如下的代码:``````在获得函数结果后,继续使用data这个迭代器,发现获得结果为空,如:结果为 []

2024-03-25 18:25:43 316 1

原创 cmd窗口远程连接mysql数据库命令

会显示Welcome to the MySQL monitor. Commands end with;比如:mysql -h 192.168.5.116 -P 3306 -u root -p。1、同时点击win+R,输入cmd之后点击回车,进入cmd窗口;4、输入用户对应的密码后,点击回车。此时就远程连接数据库成功了。3、点击回车,会出现需要输入密码的提示。2、直接在命令行中输入。

2024-03-22 13:33:50 2935 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除