- 博客(20)
- 资源 (4)
- 收藏
- 关注
原创 Redis穿透、击穿、雪崩解决方案
一:缓存穿透1:描述:大规模的获取一个数据或者url,但是这个数据的key在Redis不存在,就会去数据库查找,数据库就可能被压垮。2:解决方案:2-1:对空值缓存:如果一个查询返回的数据为空,我们仍然把这个空结果(null)进行缓存,设置空结果的过期时间会很短,最长不超过五分钟2-2:设置可访问的白名单使用bitmaps类型定义一个可以访问的名单,名单id作为bitmaps的偏移量,每次访问和bitmap里面的id进行比较,如果访问id不在bitmaps里面,进行拦截,不允许访问。2-3
2022-04-20 14:37:24 5316 1
原创 线上系统TPS计算方法
一:常用的二八原则:指80%的业务量在20%的时间里完成,在任何一种事物中,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的。二:80%业务计算网站签到业务,如果注册用户1000w,日活跃用户大概是100w左右,那么最极端情况下,这100w人都会来签到,那么每天大概有100w次签到请求,80%的请求数就是:100w*0.8=80w。三:20%时间计算大多数系统是24小时对外提供服务的(也有一些系统,比如政府类的项目,是在一天的某个时间段提供服务的)。但是大多数系统在0点-6点之
2022-04-19 09:30:59 1561
原创 Docker安装Tomcat
1、查找tomcat镜像docker search tomcat2、拉取官方的镜像docker pull tomcat3、查看docker所有的镜像docker images4、启动tomcat镜像docker run -d -p 8080:8080 tomcat5、查看正在运行的容器docker ps6、浏览器输入:http://ip:8080端口即可查看tomcat主页:...
2022-04-15 16:19:51 1018
原创 Docker安装Redis
1拉取官方的最新版本的镜像:$ docker pull redis:latest2、查看镜像$ docker images3、运行镜像$ docker run -itd --name redis-test -p 6379:6379 redis参数说明:-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口4、查看容器的运行信息 $ docker ps 5、进入容器内部$ docker exec -it redis-test /bin/bash
2022-04-15 16:06:06 781
原创 Centos系统安装grafana+prometheus+node_exporter详细步骤
一:环境准备准备可用的两台centos7服务器:服务器一(看板服务器)ip:119.1.1.1服务器二(被监控的服务器)ip:119.1.1.2备注:也可只准备一台服务器,将看看板服务器和监控服务器放在一台服务器上二:grafana和prometheus登录地址:grafana登录地址:http://119.1.1.1:3000prometheus登录地址:http://119.1.1.1:9090/targets三:安装grafana(服务器ip:119.1.1.1)1:新建grafan
2022-04-13 11:28:42 8864
原创 Centos系统上nginx安装
创建nginx目录:[root@ecs-b612 ~]# mkdir nginx进入nginx目录下操作:一:安装nginx依赖:pcre1:下载pcre:wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz2:解压pcre:tar -xzpvf pcre-8.37.tar.gz3:进入 pcre-8.37 执行命令:./configure4:执行命令:mak
2022-03-24 11:41:51 23101 3
原创 细说测试~~
一:软件测试工程师的定位:软件测试工程师,指理解产品的功能要求,并对其进行测试,检查软件有没有缺陷,测试软件是否具有稳定性、安全性、易操作性等性能,写出相应的测试规范和测试用例的专门工作人员。二:别人眼中的测试:三:测试眼中的自己:四:我经历的上线流程:五:测试分类1:从编码能力分为:黑盒测试:不用看源码,只需熟悉需求,然后进行测试(无需编码知识)灰盒测试:看源码,熟悉需求,然后进行测试(需编码知识,能读源码逻辑)...
2020-11-04 14:15:51 210
原创 Jmeter跨线程获取变量方法
setUp线程组里面,登录接口通过正则获取全局Authorization,我们需要在新建用户接口使用该Authorization第一步:登录接口添加正则提取器,获取Authorization第二步:添加BeanShell 后置处理程序,参数:Authorization2:为全局变量的名称 ${Authorization}:为${正则的引用名称}------------------------------------------------------------...
2020-09-14 16:44:55 323
原创 最全Jmeter和Fiddler录制脚本
方式一:Jmeter录制脚本1:选中测试计划,右键,添加-非测试元件-http代理服务器2:设置端口号为8888,将目录控制器改为测试计划-线程组3:添加包含和排除 3-1:则添加包含: 被测服务器的域名为:www.mm.com,则添加包含模式:.*www\.mm\.com.* 被测服务器的ip为:.*192\.168\.1\.101.* 3-2:排除不需要的脚本: .*\jpg.* 或者 .*\png.*...
2020-09-10 14:30:33 1548
原创 第一节:性能测试指标
一:性能测试最终达到4点:多——并发数量大快——响应时间短好——稳定性好省——资源的使用率二:性能测试需环境初始化才能模拟真实场景,:1:网络延时模拟:Linux系统可注入网络延时2:数据库模拟:拷贝线上数据或者模拟线上数据3:cpu,内存,磁盘,网络可以先热机3-1:服务器运行一段时间3-2:模拟请求系统一段时间4:需模拟思考时间:用户进行操作时每个请求之间的时间间隔三:请求流程图四:响应时间:1:当用户单击一个按钮,发出一...
2020-09-09 13:56:35 349
原创 python使用pyinstaller打包exe简单命令
第1步:安装pyinstaller安装pyinstaller之前首先必须有pip,如果还没有安装,请先安装pip,使用pip安装pyinstaller的命令如下:pip install pyinstallerpip install pyinstaller检查安装版本:pyinstaller-v第2步:打包exe1、在CMD控制台使用CD进入py文件所在目录:命令:cd D:\code\demo2、生成exe文件(.py文件为AES.py)命令:pyin...
2020-09-08 11:09:49 669
原创 编译静态库.a文件步骤和引用静态库
编译静态库.a1 新建工程->Framework&Library->选择Coco Touch Static ->next->给项目命名建成项目2在项目的Products 文件下有个libxxxx.a文件,此时.a文件为红色,项目中包含一个和项目名称相同的xxxx.h和xxxx.m文件,我们可以在.h文件里面声明函数或者对象,在.m文件定义内容。3 编译工程,编译完工程后.a文件名称
2014-03-12 15:58:25 936
原创 iOS里CoreData的 增 删 改 查
最近学习了coredata的使用,不过发现真的比SQLite使用起来方便多了,自己做了一个小Demo,感谢IT-joy提供的简介分析,http://itjoy.org/?p=446IOS数据持久化–Core Data(一) 数据持久化中性能最好的应该属于Core Data 了,Core Data是一个Cocoa框架,用于为管理对象图提供基础实现,以及为多种文件格
2014-03-12 14:01:55 549
转载 iphone 线程总结— detachNewThreadSelector的使用
不管是iphone中还是其他的操作系统,多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。一、线程创建与启动线程创建主要有二种方式:(id)init; // designate
2013-12-25 15:47:20 510
原创 集合的操作:NSSet和NSMutableSet
之前不太明白集合的含义,今天看书才发现集合的主要作用,集合实际上就是可以剔除数组中得重复元素的一个类似数组。集合初始化为: NSSet *set=[NSSet setWithArray:array];NSSet *set=[[NSSet alloc]initWithObjects:.....nil];NSSet *set=[[NSSet alloc]initWithS
2013-12-23 14:20:57 922
原创 iOS数组常用的操作
最近在看数组,总结一下还是不错的数组初始化方法:+(id)array 返回一个空数组+(id)arrayWithArray:(NSArray*)anArray 从一个已有数组,类似复制另一个数组,可以把NSArray赋值给NSMutableArray+(id)arrayWithContentsofFile:(NSString*)aPath 读取文件,并根据文件内容创建数
2013-12-20 17:50:46 545
转载 iOS从info.plist 获取项目的名称及版本号
转载▼标签: 转载 正找获取版本号啦原文地址:获取项目的名称及版本号" style="text-decoration:none; color:rgb(119,78,167)">iOS从info.plist 获取项目的名称及版本号作者:西可韦NSString *executableFile = [[[NSBu
2013-12-20 16:54:12 737
原创 真机打包ipa程序
第一步:打开product里面的Archive,xcode会自动运行一次程序,运行完后弹出一个框第二步,在弹出框中选择的Distribute按钮第三步选择第二项第四部:选择next按钮再选择ExPort按钮最后选择save按钮这样你就会在你保存的路径里面看到.ipa打包文件。最后连上设备在应用程序里就可以安装。ipa了
2013-12-17 12:38:33 434
原创 成员对象的常用属性
以下为本人自我理解属性说明assign(默认类型)生产一个简单的setter的方法copy将对象复制到实例变量Nonatomic与程序的多线程开发有关,一般设置成关闭readonly指明类中的成员变量是只读的,不能执行写入操作readwirte(默认类型)类中的成员变量可读写reta
2013-12-17 11:33:11 448
原创 iOS 内存管理
常用手动内存管理机制为:+alloc:为对象分配内存空间并将引用计数器设置为1-autorelease:将接受者放入autorelease-dealloc:当对象的引用计数器为0时,从内存中消除该对象-release:引用计数器值减1-retain:引用计数器加1
2013-12-17 10:44:37 327
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人