本教程在个人网站、51cto博客上同步更新。手打不易请支持原创。Webbench为著名的网站压力测试工具,由Lionbrdge公司开发,能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。同样的还有loadruner等.这里使用Webbench.测试建议1.webbench做压力及性能测试时,软件自身也会消耗CPU和内存资源,为了测试准确,建议将webbench安装在其他的服务
分类:
Web程序 时间:
2018-04-20 18:02:08
阅读次数:
199
现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ...... OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Conten ...
分类:
Web程序 时间:
2018-03-31 15:11:49
阅读次数:
218
锁 锁是用来做并发的最简单的方式,其代价也是最高的,java 在JDK1.5之前都是通过synchronized关键字来保证同步的,他是一种独占锁,使用synchronized同步锁进行线程阻塞和唤醒切换以及用户态内核态间的切换操作额外浪费消耗cpu资源,锁还存在着其它一些缺点,当一个线程正在等待锁 ...
分类:
编程语言 时间:
2018-03-31 14:47:25
阅读次数:
236
nginx的worker_processes参数来源: http://bbs.linuxtone.org/thread-1062-1-1.html分享一:搜索到原作者的话:As a general rule you need the only worker with large number ofw ...
分类:
其他好文 时间:
2018-03-05 11:08:21
阅读次数:
169
1.现象 CPU利用率高. 应用缓慢或无法对外提供服务. 2.原因 1.死循环 2.JVM堆占用过大-高频率FULL-GC 3.排查方法 1.使用top命令找出CPU消耗最大的进程 2.使用top -Hp 进程(上一步得到的进程号),找出消耗CPU的线程. 3.使用[jstack 进程与jstat ...
分类:
编程语言 时间:
2018-02-23 10:53:53
阅读次数:
186
#找出cpu占用最高的进程top -H#再次确定进程ps aux|grep 17408 #查看进程的线程(tid) ps -mp 17408 -o THREAD,tid,time#将线程转换为十六进制printf "%x\n" 17418#打印出线程对应的堆栈信息/usr/share/java-1. ...
分类:
编程语言 时间:
2018-02-09 17:16:45
阅读次数:
141
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。 原理:线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量的线程,放入空闲队列中。这些线程都是处于睡眠状态,即均为启动,不消耗CPU,而只是占用较小的内存空间。当请求到来之后,缓冲池给这次 ...
分类:
编程语言 时间:
2018-02-06 22:53:56
阅读次数:
178
核心知识点: 1.fork操作 a.在RDB或AOF重写时,会执行fork操作创建子进程,fork操作是一个重量级操作。 b.改善fork操作耗时的手段:避免使用Xen、配置Redis实例最大使用内存、合理配置Liunx内存使用技术、降低fork操作的频率。 2.子进程开销监控与优化 1).CPU ...
分类:
其他好文 时间:
2018-02-03 13:18:54
阅读次数:
207
参考文档: (1)http://yaocoder.blog.51cto.com/2668309/888374 (2)http://www.cnblogs.com/syyong/p/6231326.html 1、基本原理 采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO ...
分类:
编程语言 时间:
2018-01-30 12:25:29
阅读次数:
185
集群的作用: 1.主从备份,防止主机宕机 2.读写分离,主服务器写,从服务器内容跟着主服务器,主服务器变他就变,读就从从服务器读。减轻主服务器的负担。 3.任务分离,比如消耗cpu和内存的操作,交给从服务器。 Redis功能强大操作简洁。主从集群的配置比mysql要简单很多。 ...
分类:
其他好文 时间:
2018-01-13 14:24:37
阅读次数:
125