http://blog.csdn.net/aiai5251/article/details/50015745 Context Switches 上下文切换,有时也被称为进程切换(process switch)或任务切换.是一个重要的性能指标. CPU从一个线程切换到另外一个线程,需要保存当前任务的运行环境,恢复将要运行任务的运行环境,必然带来性能消耗. Context Switches 上下文切换简介 操作系统可以同时运行多个进程, 然而一颗CPU同时只能执行一项任务,操作系统利用时间片轮转的方…
最近简单看了下<嵌入式Linux性能详解>一书,对系统内存分布测试.程序运行.动态库等都很很好的解析. 作者史子旺,loughsky@sina.com. 有时间希望仔细通读,并验证.…
python3 线程 threading 最基础的线程的使用 import threading, time value = 0 lock = threading.Lock() def change(n): global value value += n value -= n def thread_fun(n): for i in range(1000): lock.acquire() try: change(n) finally: lock.release() t1 = threading.Th…
    分类: Linux INSERT 处理过程概述 首先让我们快速地看看插入一行时的处理步骤.这些步骤中的每一步都有优化的潜力,对此我们在后面会一一讨论. 在客户机准备 语句.对于动态 SQL,在语句执行前就要做这一步,此处的性能是很重要的:对于静态 SQL,这一步的性能实际上关系不大,因为语句的准备是事先完成的.在客户机,将要插入的行的各个 列值组装起来,发送到 DB2 服务器. DB2 服务器确定将这一行插入到哪一页中.DB2 在用于该页的缓冲池中预留一个位置.假如 DB2 选定的是个已…
缘起 libco 协程库在单个线程中实现了多个协程的创建和切换.按照我们通常的编程思路,单个线程中的程序执行流程通常是顺序的,调用函数同样也是 “调用——返回”,每次都是从函数的入口处开始执行.而libco 中的协程却实现了函数执行到一半时,切出此协程,之后可以回到函数切出的位置继续执行,即函数的执行可以被“拦腰斩断”,这种在函数任意位置 “切出——恢复” 的功能是如何实现的呢? 本文从libco 代码层面对协程的切换进行了剖析,希望能让初次接触 libco 的同学能快速了解其背后的运行机理.…
Hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍. 比如: view plaincopy to clipboardprint? public class TeacherTest { @Test public void update(){ Session session = HibernateUitl.getSessionFactory().getCurrentSession(); session.beginTransactio…
前言 前几篇文章我们讲了什么是 MySQL 索引,explain分析SQL语句是否用到索引,以及索引的优化等一系列的文章,今天我们来讲讲Show profiles,看看SQL耗时到底出现在哪个环节. Show profiles 是什么 是MySQL提供可以用来分析当前会话中SQL语句执行的资源消耗情况.可以用于SQL的调优测量.默认情况下,参数处于关闭状态,并保存最近 15 次的运行结果 开启 profiles 查看是否开启 show variables like "%profiling%&qu…
MySQL存储引擎简介 查看命令 a. 查看所使用的MySQL现在已提供什么存储引擎: mysql> show engines; b. 查看所使用的MySQL当前默认的存储引擎: mysql> show variables like '%storage_engine%'; MyISAM和InnoDB两种存储引擎的区别 对比项 MyISAM InnoDB 主外键 不支持 支持 事务 不支持 支持 行表锁 表锁,即使操纵一条记录也会锁住整个表,不适合高并发的操作 行锁,操作时只锁某一行,不对其他行…
show profile默认情况下,参数处于关闭状态,并保存最近15次的运行结果查看profile是否开启 show variables like '%profi%';开启profile记录功能 set profiling=on; #永久生效需要在配置文件my.cnf修改查看执行了哪些命令 show profiles;根据上一条命令结果的Query_ID查看某条query的执行过程 show profile cup,block io for query 11 #11 是Query_ID show…
做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维基础篇,发现对很多人收益挺大,接下来也写下关于这 4 年多的运维实践经验,从事了 2 年多游戏运维,1 年多安全运维,1 年大数据运维,相关行业信息不能算非常精通,但是熟悉和熟练还是相对可以的. 初…
运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维基础篇,发现对很多人收益挺大,接下来也写下关于这 4 年多的运维实践经验,从事了 2 年多游戏运维,1 年多安全运维,1 年大数据运维,相关行业信息不能算非常精通,但是熟悉和熟练还是相对可以的. 初级篇 8 张 Linux 知识图谱,帮你读懂相关技术和性能 详解Linux运维工程师入门级必备技能:h…
1 前景回顾 1.1 Linux的调度器组成 2个调度器 可以用两种方法来激活调度 一种是直接的, 比如进程打算睡眠或出于其他原因放弃CPU 另一种是通过周期性的机制, 以固定的频率运行, 不时的检测是否有必要 因此当前linux的调度程序由两个调度器组成:主调度器,周期性调度器(两者又统称为通用调度器(generic scheduler)或核心调度器(core scheduler)) 并且每个调度器包括两个内容:调度框架(其实质就是两个函数框架)及调度器类 6种调度策略 linux内核目前实现…
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存 交换情况,IO读写情况.相比top,通过vmstat可以看到整个机器的 CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率. 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如: root@vm-199:~# vmstat 2 1 procs ---------…
目录 一 server.xml 1.1 server 配置 1.2 service 配置 1.3 Executor 1.4 Connector 配置 1.5 Engine 其他tocmat 文章 一 server.xml server.xml 是tomcat 的核心配置文件,位于./conf/ 下.具有server,connector Hosts 等元素模块.接下来我们看看吧.(导游介绍词).本文内容基于tomcat 8.5 不同版本配置或有差异性. tomcat 8.5是基于Servlet 3…
CPU上下文切换详解 原文地址,译文地址,译者: 董明鑫,校对:郑旭东 上下文切换(有时也称做进程切换或任务切换)是指CPU 从一个进程或线程切换到另一个进程或线程.进程(有时候也称做任务)是指一个程序运行的实例.在 Linux 系统中,线程就是能并行运行并且与他们的父进程(创建他们的进程)共享同一地址空间(一段内存区域)和其他资源的轻量级的进程.上下文是指某一时间点 CPU 寄存器和程序计数器的内容.寄存器是 CPU 内部的数量较少但是速度很快的内存(与之对应的是 CPU 外部相对较慢的 RA…
一.Vmstat说明 vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.vmstat 工具提供了一种低开销的系统性能观察方式.因为 vmstat 本身就是低开销工具,在非常高负荷的服务器上,你需要查看并监控系统的健康情况,在控制窗口还是能够使用vmstat 输出结果.在此之前,我们需要先了解下Linux系统的物理内存和虚拟内存的概念. 二.物理内存和虚拟内存 一般来说,物理内存的读写速度比磁盘的快很多,当然…
实现一个小目标 很开心的一件事,学习了一个月的后端拿到一个13k的offer,今年年底目标拿到一个30k的go方向offer. 好了回归正文,这篇文章是回答交流时一个老哥的问题,跟go的context相关内容,上一篇(https://www.cnblogs.com/dojo-lzz/p/16183006.html)讲了一些基础知识,这一篇继续在并发处理上进行研究.主要是Go Context的使用.原理.因为时间和精力有限,所以文章中大量引用相关资料中的内容以及图片,再此致敬.   Go Cont…
在上期<直播推流端弱网优化策略 >中,我们介绍了直播推流端是如何优化的.本期,将介绍手游直播中录屏的实现方式. 直播经过一年左右的快速发展,衍生出越来越丰富的业务形式,也覆盖越来越广的应用领域.手游直播就是现在常见的一种新兴应用场景.手游直播与一般直播最大的不同点,同时也是它的技术难点,在于录屏技术.游戏玩家录屏功能,实时地把自己玩游戏的场景分享展示给其他观众.录屏给很多游戏制作平台和直播内容平台提供了一种新的产品思路. 录屏实现的四个步骤: 采集:获取屏幕采集的视频数据.麦克风采集的音频数据…
之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方信息的翻译开始做起. 此系列系小九的学堂原创翻译,翻译自微软官方开发向导,一共分为六个主题.第一个主题是:<.NET Native安装和配置> 本文是第二个主题:.NET Native开发流程详解. 向导文链接:<C++的性能C#的产能?! - .Net Native 系列:开发向导>…
MYSQL服务器my.cnf配置文档详解硬件:内存16G [client]port = 3306socket = /data/3306/mysql.sock [mysql]no-auto-rehash [mysqld]user = mysqlport = 3306socket = /data/3306/mysql.sockbasedir = /usr/local/mysqldatadir = /data/3306/dataopen_files_limit = 10240 back_log = 6…
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网站访问压力测试. ApacheBench命令原理: ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp.tomcat.IIS等其它Web服务器的压力. ab命令…
CSS的可视化格式模型中具有一个非常重要地位的概念——定位方案.定位方案用以控制元素的布局,在CSS2.1中,有三种定位方案——普通流.浮动和绝对定位: 普通流:元素按照先后位置自上而下布局,inline元素水平排列,直到行被占满后换行,block元素则被渲染为完整的一行,除非指定,所有元素默认为普通流定位. 浮动:浮动布局中,元素首先按照普通流位置出现,然后根据浮动方向尽可能向左或右偏移,效果与文本环绕相似. 绝对定位:元素会脱离普通流,因此绝对定位元素不会对其兄弟元素产生影响(与float不…
[推荐]T- SQL性能优化详解 博客园上一篇好文,T-sql性能优化的 http://www.cnblogs.com/Shaina/archive/2012/04/22/2464576.html…
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网站访问压力测试. ApacheBench命令原理: ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp.tomcat.IIS等其它Web服务器的压力. ab命令…
下载安装地址: http://httpd.apache.org/download.cgi yum install httpd-tools http://www.apachelounge.com/download/ 下载 http://files.cnblogs.com/files/chen110xi/ab.7z PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型…
转自:http://blog.csdn.net/qinjuning/article/details/7310620Android中Context详解 ---- 你所不知道的Context 大家好,  今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中 时刻的在与它打交道,例如:Service.BroadcastReceiver.Activity等都会利用到Context的相关方法 : 说它陌生,完全是 因为我们真正的不懂Context的原…
先说结果: 加了缓存的结果与C#原生代码差异不大了 我对三种方式进行了测试: 第一种,每次调用均动态编译 第二种,缓存编译好的对象 第三种,直接调用原生C#代码 .net dll保护系列 -------------------------------------------------------------------------------------------- .NET DLL 保护措施详解(一)(非混淆加密加壳) .NET DLL 保护措施详解(二)关于性能的测试 .NET DLL…
PS:Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力.可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行.siege可以从您选择的预置列表中请求随机的URL.所以siege可用于仿真用户请求负载,而ab则不能.但不要使用siege来执行最高性能基准调校测试,这方面ab就准确很多. Siege官网:http://www.joedog.org/Siege下载:wget http://www.joedog…
Oracle Statspack报告中各项指标含义详解~~学习性能必看!!! Data Buffer Hit Ratio#<#90# 数据块在数据缓冲区中的命中率,通常应该在90%以上,否则考虑加大 db_block_buffers(9i 以上可是db_cache_size) Buffer Nowait Ratio#<#99# 在缓冲区中获取buffer 的未等待比率 Library Hit Ratio#<#98# 主要代表着sql在共享区的命中率,通常在98%以上 In Memory…
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网站访问压力测试. ApacheBench命令原理: ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp.tomcat.IIS等其它Web服务器的压力. ab命令…