性能调优
月轩居士
Archimedes said: give me a fulcrum,I will move the earth.Program ape said: give me a keyboard,I can change the world.
展开
-
Linux-Load Average解析
load Average 1.1:什么是Load?什么是Load Average? Load 就是对计算机干活多少的度量(WikiPedia:the system Load is a measure of the amount of work that a compute system is doing) 简单的说是进程队列的长度。Load Average 就是一段时间(1原创 2015-09-09 14:54:40 · 426 阅读 · 0 评论 -
OOM分析——错误使用Servlet API导致内存溢出
请先前往《Spring内存溢出问题》查看问题,大体问题就是突然间内存飙升,且CPU使用率非常高。 问题分析 通过内存dump分析发现内存中某个key会有几百万个,而且观察这些key会发现有时候是org.springframework.web.servlet.DispatcherServlet.LOCALE_RESOLVER,有时候又变成org.springframework.原创 2015-09-09 14:56:55 · 1467 阅读 · 2 评论 -
通过分区(Partition)提升MySQL性能
什么是数据库分区? 数据库分区是一种物理数据库设计技术,DBA和数据库建模人员对其相当熟悉。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。 分区主要有两种形式://这里一定要注意行和列的概念(row是行,column是列) 水平分区(Horizontal Partitioning) 这种形式分区是对表的行进行分区,通过这样的原创 2015-09-09 14:57:25 · 530 阅读 · 0 评论 -
java web服务器cpu占用过高的处理
平时项目中有时遇到cpu过高的情况,在此基于自己有限的经验写个分享,此处的服务器都是基于linux平台。 cpu的占有线程类型总的来说分为两种: us :用户空间占用CPU百分比 sy :内核空间占用CPU百分比 一般来讲CPU us高的解决方法: CPU us 高的原因主要是执行线程不需要任何挂起动作,且一直执行,导致CPU 没有机会去调度执行其他的线程。 CPU sy高的解原创 2015-09-09 14:54:14 · 4093 阅读 · 0 评论 -
CPU 占用过高 (查看Java堆)
1. 确定占用cpu高的线程id: 方法一: 直接使用 ps Hh -eo pid,tid,pcpu | sort -nk3 |tail 获取对于的进程号和线程号,然后跳转到3. 方法二: . 查看哪个进程线程占用cpu过高; top / ps -aux, 获得进程号 . 确定哪个线程占用cpu过高,进入进程号的目录:/proc/pid/task, 执行:grep SleepAVG *原创 2015-09-09 14:54:27 · 2507 阅读 · 0 评论 -
memcached命令
命令行查看Memcached运行状态 很多时候需要监控服务器上的Memcached运行情况,比如缓存的查询次数,命中率之类的。但找到的 那个memcached-tool是linux下用perl写的,我也没试过windows能不能用。后来发现个简单的办法 可以做到,就是使用Telnet。 首先登录到服务器,然后在cmd命令行中键入 telnet 127.0.0.1 11211 其中1原创 2015-09-09 14:54:55 · 434 阅读 · 0 评论 -
Memcached性能检测
Memcached作为一个内存key-value存储容器有非常优秀的性能,但是在上次的使用中确发现大量的数据丢失情况发生,导致cache的功能基本消失。具体的检测方式如下:检测命中率 检测命中率是一个最基本的、最宏观的方式,使用telnet连接到memcached服务器,然后执行stats命令就可以看到宏观的一些信息,如下图。 这个命令中比较关键的属性是get_hi原创 2015-09-09 14:58:01 · 521 阅读 · 0 评论 -
命中率问题:memcached server LRU 深入分析
Memcached,人所皆知的remote distribute cache(不知道的可以javaeye一下下,或者google一下下,或者baidu一下下,但是鉴于baidu的排名商业味道太浓(从最近得某某事件可以看出),所以还是建议javaeye一下下),使用起来也非常的简单,它被用在了很多网站上面,几乎很少有大型的网站不会使用memcached。 曾经我也看过很多剖析memcach原创 2015-09-09 14:55:08 · 564 阅读 · 0 评论 -
mysql的分区
mysql由5.1版本开始支持分区,虽然还是 not production-ready,但也是值得期待的一个新特性,关于分区,mysql的手册已经讲得比较详细,以下内容只是从手册的摘抄: 分区的一些优点: 1)与单个磁盘或文件系统分区相比,可以存储更多的数据。 2)对于那些已经失去保存意义的数据,通常可以通过删除与那些数据有关的分区,很容易地删除那些数据。相反地,在某些情况下,添原创 2015-09-09 14:57:13 · 418 阅读 · 0 评论