
性能改造
文章平均质量分 67
一些性能优化思路
ation_work
博观而约取,厚积而薄发csdnshoufei
展开
-
吞吐量(TPS)、QPS、并发数、响应时间(RT)
开发的原因,需要对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科,记录如下:1. 响应时间(RT) 响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有.原创 2021-02-20 17:21:20 · 423 阅读 · 0 评论 -
性能测试tps
TPS:Transactions Per Second,意思是每秒事务数,一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。每个事务包括了如下3个过程: a.用户请求服务器 b.服务器自己的内部处理(包含应用服务器、数据库服务器等) c.服务器返回给用户 如果每秒...原创 2020-04-15 12:06:31 · 683 阅读 · 0 评论 -
服务器优化
1.最终的TCP传输层本质上还是一个需要顺序交付验证的管道?你没搞明白HTTP/1.1 pipelining和HTTP/2 stream解决的问题是什么,本身它们两个解决的问题也不完全是同一个问题,更跟底层TCP的传输没有一丝一毫的关系。HTTP/1.1和HTTP/2都是基于TCP的协议,TCP模型是双向数据流,任何在一个TCP连接上处理超过一个请求的协议都需要解决这样两个问题:分片—...原创 2019-12-23 10:43:48 · 206 阅读 · 0 评论 -
浅谈tomcat优化(内存,并发,缓存,安全,网络,系统等)
一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数 JAVA_OPTS参数说明 -server 启用jdk 的 server 版 -Xms java虚拟机初始化时的最小内存 -Xmx java虚拟机可使用的最大内存 -XX: Per...原创 2019-12-31 17:20:50 · 186 阅读 · 0 评论 -
Android记录一些基础性的东西
一、 Android开发——如何完全退出Activity 在网上看了好多大牛关于完全退出Android应用程序Activity的处理方式,我总结出一下几个方法: 1、创建一个Activity的基类,重写startActivity()方法,在里面添加一句finish()。其他的Activity继承这个基类,这样在启动一个新的Acitivty之前就可以退出前一个Acitivity...原创 2019-10-02 15:35:25 · 172 阅读 · 0 评论 -
Android数据结构
两个引子:String的compareTo()方法返回值compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.例:String...原创 2019-03-08 16:49:19 · 152 阅读 · 1 评论 -
封装请求头
先祭大神https://blog.youkuaiyun.com/yeziliuyang/article/details/78643677用好okhttp拦截器 自动添加Token环境和项目情况大部分APP应用都用Retrofit + mvp +Rxjava来实现。其中Retrofit实际上用了Okhttp。有了okhttp自然而然想到了拦截器。说到拦截器,就是对每一个访问(Request)的拦...原创 2018-11-22 17:10:50 · 1719 阅读 · 0 评论 -
异步Rxjava
取数据先检查缓存的场景 取数据,首先检查内存是否有缓存, 然后检查文件缓存中是否有, 最后才从网络中取。 前面任何一个条件满足,就不会执行后面的final Observable<String> memory = Observable.create(new Observable.OnSubscribe<String>() { @Override public ...转载 2018-03-28 18:14:05 · 329 阅读 · 0 评论 -
多线程编程以及对上篇(多线程同步,多线程数据共享)的补充
显式创建线程 or 使用线程池线程--new Thread() or ThreadPool.QueueUserWorkItem()在多线程编程中,关于是使用自己创建的线程(Thread)还是使用线程池(ThreadPool)线程,一直很困惑,知道看了Jeffrey Richter的相关介绍才明白,记录如下: 当满足一下任何条件,就可以显式地创建自己的线程: 1、线程需要以非普通线程优...原创 2017-06-13 16:48:52 · 964 阅读 · 1 评论 -
多线程同步,多线程数据共享
一、扩展javalangThread类二、实现javalangRunnable接口三、Thread和Runnable的区别四、线程状态转换五、线程调度六、常用函数说明使用方式为什么要用join方法七、常见线程名词解释八、线程同步九、线程数据传递首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--...原创 2017-05-10 17:23:56 · 633 阅读 · 1 评论 -
Java 的内存管理、内存可见性(volatile)
《深入Java虚拟机 第二版》我们再来复习下进程与线程吧:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享...原创 2017-06-09 17:57:35 · 297 阅读 · 0 评论 -
算法排序
不稳定排序 “快些选堆”一些结论(1)时间复杂度,快速排序、希尔排序、归并排序、堆排序的平均时间为O(nlogn),其他的为O(n*n)。算法log大部分指log2(x)啦(2)快速排序、希尔排序、选择排序、堆排序不稳定,其他的稳定。(3)经过一趟排序能够保证一个元素到达最终位置的是冒泡排序、快速排序、选择排序、堆排序。(4)元素比较次数和原始序列无关的是选择排序、折半插入排序。(5...原创 2017-03-26 20:40:00 · 408 阅读 · 0 评论 -
内存优化之内存泄漏问题
什么是内存泄漏?大白话讲就是分配出去的内存,回收不回来。严重会导致内存不足OOM。Java采用GC进行内存管理。深入的JVM内存管理知识,推荐《深入理解Java虚拟机》。关于内存泄漏我们要知道,JVM内存分配的几种策略。静态的静态的存储区,内存在程序编译的时候就已经分配好了,这块内存在程序整个运行期间都一直存在,它主要存放静态数据、全局的static数据和一些常量。栈式的在执行...原创 2017-04-15 09:49:26 · 265 阅读 · 1 评论