自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

flynetcn的专栏

记住,你能!

  • 博客(609)
  • 资源 (38)
  • 收藏
  • 关注

转载 CPU之战:ARM vs Intel

智能计算芯世界 6 days agoARM是移动互联网时代的芯片IP霸主。ARM公司在全球数字IC设计领域具有举足轻重地位,其IP在智能手机、可穿戴设备、网络基础设施等领域拥有极高的市场份额。在OS+CPU体系中,ARMdroid(ARM+Android)体系战胜了PC时代wintel(Windows+Intel)体系,成为移动互联网时代的霸主。手机芯片:ARM中止合作短期对华为影响可控。华为海思基于ARM授权研发了手机SoC芯片、基带芯片、服务器芯片、AI芯片等。华为目前拥有最新的AR..

2021-10-15 20:50:12 1213

转载 读懂Redis源码,我总结了这7点心得

用了这么久的 Redis,也翻了很多次源码,经常有人问我到底怎么读 Redis 源码。一提到读源码,很多人都会比较畏惧,认为读源码是高手才会做的事情。他们可能遇到问题时,会更倾向于去找别人分享的答案。但往往很多时候,自己查到的资料并不能解决所有问题,尤其是比较细节的问题。从我的实战经验来看,遇到这种情况,通常就需要去源码中寻找答案了,因为在源码面前,这些细节会变得「一览无余」。而且我认为,掌握读源码的能力,是从只懂得如何使用 Redis,到精通 Redis 实现原理的成长之路上,必须跨越的门槛。

2021-10-15 20:46:42 155

转载 CPU可以跑多快?地球到火星的距离告诉你!

我们在之前的文章中介绍了一张出自Google大神 Jeff Dean的图,这张图展示系统中各种关键操作的时延具体有多少。需要注意的是这张图上的数据自2012年后就没有再更新过了,统计自2020年的最新数据见这里:这张图中一个小的黑方块代表1纳秒,一个蓝色的方块代表100纳秒,一个绿色的方块代表10微秒,一个红色的方块代表1毫秒。尽管这种表示方法已经比第一张图形象很多了,但在我们(人类)看来对这些纳秒没太多概念,毕竟人类的反应时间仅仅0.2 -0.3秒,比这更短的时间人类是没有太多感.

2021-10-15 20:44:58 199

转载 图解网络|收到RST,就一定会断开TCP连接吗?

下面是这篇文章的目录。收到RST就一定会断开连接吗什么是RST我们都知道TCP正常情况下断开连接是用四次挥手,那是正常时候的优雅做法。但异常情况下,收发双方都不一定正常,连挥手这件事本身都可能做不到,所以就需要一个机制去强行关闭连接。RST 就是用于这种情况,一般用来异常地关闭一个连接。它是一个TCP包头中的标志位。正常情况下,不管是发出,还是收到置了这个标志位的数据包,相应的内存、端口等连接资源都会被释放。从效果上来看就是TCP连接被关闭了。而接收到 RST的一方,一般

2021-10-15 20:43:27 1356

转载 看一遍就理解:MVCC原理详解

前言MVCC 实现原理是一道非常高频的面试题,我们一起来聊聊。1. 相关数据库知识点回顾1.1 什么是数据库事务,为什么要有事务事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。假如A转账给B 100 元,先从A的账户里扣除 100 元,再在 B 的账户上加上 100 元。如果扣完A的100元后,还没来得及给B加上,银行系统异常了,最后导致A的余额减少了,B的余额却没有增加。所以就需要事务,将A的钱回滚回去,就是这么简单。

2021-10-15 20:41:05 269

转载 CPU加了缓存后,有人急了~

Hi,我是CPU一号车间的阿Q,还记得我吗,真是好久不见了~我所在的CPU是一个八核CPU,就有八个工作车间,那运行起来速度杠杆的~虚拟地址翻译一大早,我们一号车间MMU(内存管理单元)部门的小黑就来到领导办公室,恰好我也在。“领导,听说您同意了阿Q他们的方案,给每个车间都划拨了缓存建设预算?”“你这小子,消息还挺灵通的。没错,内存那家伙实在太慢了,加了缓存后,不用每次都从内存读取数据,能让咱们的性能提升不少”,领导说到。“那我们MMU部门也要申请一笔经费”,小黑说到。领导眉

2021-10-15 20:38:50 74

转载 一文读懂 | Linux 网络命名空间

1 前景回顾1.1 Linux网络Linux是因特网的产物, 这是无可争议的. 首先, 得感谢因特网通信, Linux的开发过程证明了一个很多人曾持有的观点是荒谬的 : 对分散在世界各地的一组程序员进行项目管理是不可能的. 第一个内核源代码版本是在十多年前通过FTP服务器提供的, 此后网络便成了数据交换的支柱, 无论是概念和代码的开发, 还是内核错误的消除, 都是如此.内核邮件列表是个活生生的例子, 它几乎没有改变过. 每个人都能够看到最新贡献的代码, 并为促进Linux的开发提出自己的意见,.

2021-10-15 20:36:47 703

转载 Linux内核角度分析tcpdump原理(二)

上篇文章介绍了在内核角度tcpdump的抓包原理(1),主要流程如下: 应用层通过libpcap库:调用系统调用创建socket,sock_fd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));tcpdump在socket创建过程中创建packet_type(struct packet_type),并挂载到全局的ptype_all链表上。(同时在packet_type设置回调函数packet_rcv。 网络收包/发包时,会在各自的处理函数(收包

2021-10-15 20:34:24 749

转载 再谈Linux epoll惊群问题的原因和解决方案

缘起近期排查了一个问题,epoll惊群的问题,起初我并不认为这是惊群导致,因为从现象上看,只是体现了CPU不均衡。一共fork了20个Server进程,在请求负载中等的时候,有三四个Server进程呈现出比较高的CPU利用率,其余的Server进程的CPU利用率都是非常低。中断,软中断都是均衡的,网卡RSS和CPU之间进行了bind之后依然如故,既然系统层面查不出个所以然,只能从服务的角度来查了。自上而下的排查首先就想到了strace,没想到一下子就暴露了原形:acce...

2021-10-08 19:59:50 508

转载 Go 存储基础 | 怎么使用 direct io ?

Go 存储编程怎么使用 O_DIRECT 模式?今天就分享这个存储细节,之前提过很多次,操作系统的 IO 过文件系统的时候,默认是会使用到 page cache,并且采用的是 write back 的方式,系统异步刷盘的。由于是异步的,如果在数据还未刷盘之前,掉电的话就会导致数据丢失。如果想要明确数据写到磁盘有两种方式:要么就每次写完主动 sync 一把,要么就使用 direct io 的方式,指明每一笔 io 数据都要写到磁盘才返回。那么在 Go 里面怎么使用 direct io 呢?...

2021-10-08 19:50:49 767

转载 特斯拉遇上 CPU:程序员的心思你别猜

18世纪流水线的诞生带来了制造技术的变革,人类当今拥有琳琅满目物美价廉的商品和流水线技术的发明密不可分,因此当你喝着可乐、吹着空调、坐在特斯拉里拿着智能手机刷这篇文章时需要感谢流水线技术。一段有趣的代码有这样一段代码:for (int k = 0; k < 10000; k++){ for (int i = 0; i < arr.size(); i++) { if (arr[i] > 256) sum += arr[i]; }}这段代码非常简单,给定一个数组,计算所有大

2021-10-08 19:45:55 120

转载 Go:Context 和传播取消

context 包[1]在 Go 1.7 中引入,它为我们提供了一种在应用程序中处理 context 的方法。这些 context 可以为取消任务或定义超时提供帮助。通过 context 传播请求的值也很有用,但对于本文,我们将重点关注 context 的取消功能。本文是 Go语言中文网组织的 GCTT 翻译,发布在 Go语言中文网公众号,转载请联系我们授权。默认的 contextsGo 的 context 包基于 TODO 或者 Background 来构建 context。var(.

2021-10-08 19:43:03 571

转载 Linux内核角度分析tcpdump原理(一)

一、tcpdump的用途tcpdump是Linux系统抓包工具,tcpdump基于libpcap库,根据使用者的定义对网络上的数据包进行截获,tcpdump可以将网络中传送的数据包中的"头"完全截获下来提供分析,支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助去掉无用的信息。通过tcpdump可以分析很多网络行为,比如丢包重传、详细报文、tcp分组等,总之通过tcpdunp可以为各种网络问题进行排查,可以在服务器上将捕获的数据包信息以pcap文件保存下来,..

2021-10-08 19:40:34 3968

转载 一次限制进程的 CPU 用量的实操过程

给大家分享一个事情。背景是这样的,我们要测试某个第三方 SDK 运行性能,这是个 CPU 密集型的服务。我想评估一下它运行一遍到底有多吃 CPU,以便评估上线后我们需要部署多少台服务器。我们是在一台 16 物理核的机器上测试的,我们的想法是把它启动起来,然后执行一遍。用耗时乘以 16 核那就是总的 CPU 耗时开销。不过不巧的是我们发现这个货在并发上做的并不是特别好,运行的前半段里只能打满一个核,而后半段可以把整台机器上所有 16 核都打满。这样就没法准确估算它的 CPU 消耗了。最先我想到的方案是

2021-09-24 19:43:46 389

转载 Redis 核心篇:唯快不破的秘密

“天下武功,无坚不摧,唯快不破!”学习一个技术,通常只接触了零散的技术点,没有在脑海里建立一个完整的知识框架和架构体系,没有系统观。这样会很吃力,而且会出现一看好像自己会,过后就忘记,一脸懵逼。跟着「码哥字节」一起吃透 Redis,深层次的掌握 Redis 核心原理以及实战技巧。一起搭建一套完整的知识框架,学会全局观去整理整个知识体系。系统观其实是至关重要的,从某种程度上说,在解决问题时,拥有了系统观,就意味着你能有依据、有章法地定位和解决问题。Redis 全景图全景图可以围绕两个纬

2021-09-24 19:41:56 88

转载 为什么编程语言初创公司那么少?

作者 | Jean Yang.译者 | 王强策划| 晓旭. 来源 |InfoQ架构头条本文最初发布于 akitasoftware.com 网站,经原作者授权由 InfoQ 中文站翻译并分享。几周前我主持了一个小组讨论,会上有人问道:“为什么编程语言社区没那么多初创公司呢?”这个小组会议的主题是职业路径,是编程语言设计和实现(PLDI)会议的一个环节。那人问的是为什么我们没有看到很多一流的编程语言和软件分析技术走向商业化。程序员待解决的痛苦显然有很多。但为什么我们没有看到更多“深层”...

2021-09-24 19:37:50 85

转载 深入理解Kubernetes容器网络

在Kubernetes中要保证容器之间网络互通,网络至关重要。而Kubernetes本身并没有自己实现容器网络,而是通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则: Pod无论运行在任何节点都可以互相直接通信,而不需要借助NAT地址转换实现。 Node与Pod可以互相通信,在不限制的前提下,Pod可以访问任意网络。 Pod拥有独立的网络栈,Pod看到自己的地址和外部看见的地址应该是一样的,并且同个Pod内所有的容器共享同个网络栈。 容器网络...

2021-09-18 20:34:24 143

转载 Go 内存管理之三:CGO

之前在 povilasv.me[1] 上,我们一起探讨了 Go 内存管理 和 Go 内存管理之二。在上篇博文中,我们发现使用 cgo 会占用更多的虚拟内存。现在我们来深入研究一下 cgo。本文是 Go语言中文网组织的 GCTT 翻译,发布在 Go语言中文网公众号,转载请联系我们授权。CGO 揭秘正如之前所见,cgo 会使虚拟内存膨胀。此外,对于大部分用户而言,一旦他们导入了 net 包或者其子包(比如 http),就会自动的使用 cgo。我在标准库的代码里发现很多描述 cgo 调用工作机制的

2021-09-18 20:32:16 1695

转载 为什么 P8 程序员的代码你写不出来?零拷贝了解一下

计算机处理的任务大体可以分为两类:CPU密集型与IO密集型。当前流行的互联网应用更多的属于IO密集型,传统的IO标准接口都是基于数据拷贝的,这篇文章我们主要关注该怎样从数据拷贝的角度来优化IO性能,让你的程序在IO性能方面赶超P8。为什么IO接口要基于数据拷贝?为了让广大码农们更好的沉迷于自己的一亩三分地,防止ta们分心去关心计算机中的硬件资源分配问题,操作系统诞生了。操作系统本质上就是一个管家,目的就是更加公平合理的给各个进程分配硬件资源,在操作系统出现之前,程序员需要直面各类硬件,就像这

2021-09-18 20:30:58 114

转载 火山引擎 A/B 测试的思考与实践

本文整理自火山引擎开发者社区 Meetup 第四期同名演讲,主要为大家介绍了为什么要做 A/B 测试、火山引擎 A/B 测试系统架构及最佳实践。为什么要做 A/B 测试首先我们看一个案例。字节跳动有一款中视频产品叫西瓜视频,最早它叫做头条视频。为了提升产品的品牌辨识度,团队想给它起个更好的名字。经过一些内部调研和头脑风暴,征集到了西瓜视频、奇妙视频、筷子视频、阳光视频 4 个名字,于是团队就针对一共 5 个 APP 名称进行了 A/B 实验。这个实验中唯一改变的是应用市场里该产品的名称和对应的 .

2021-09-15 12:19:23 962

转载 计算机系的同学应该有更高的雄心壮志

前言:这篇文章之前已经发过,但很多人没有看到,9月份,很多大学已经开学了,把这篇文章送给计算机专业的同学,大学四年看起来很长,其实很短, 希望大家努力向上,有更高的雄心壮志,预祝大学旅途顺利。前些天有个计算机系的同学和我聊天,想在暑假做个人网站,博客之类的系统,我劝他说计算机系的学生(其实不止是计算机系,可以扩展到所有热爱编程的在校同学)应该有更高的雄心壮志,去挑战更有难度的东西。为什么这么说呢?因为我大学时吃过亏啊!我也是读计算机系,上学的时候迷迷糊糊的,把计算机系的基础课.

2021-09-10 19:50:40 134

转载 一文搞定 | 零拷贝技术

大家好,我是 Peter,内存拷贝是比较耗时操作,零拷贝是常用优化手段,今天分享的文章就是Linux系统零拷贝技术。DMA 与零拷贝技术注意事项:除了 Direct I/O,与磁盘相关的文件读写操作都有使用到 page cache 技术。1. 数据的四次拷贝与四次上下文切换很多应用程序在面临客户端请求时,可以等价为进行如下的系统调用: File.read(file, buf, len); Socket.send(socket, buf, len); 例如消息中

2021-09-10 19:48:38 126

转载 Redis的这些拓展方案

| 前言Redis大家都不陌生,就算是没用过,也都听说过了。作为最广泛使用的KV内存数据库之一,在当今的大流量时代,单机模式略显单薄,免不了要有一些拓展的方案。笔者下文会对各种方案进行介绍,并且给出场景,实现 等等概述,还会提到一些新手常见的误区。| 正文先从基础的拓展方式开始,这样更便于理解较高级的模式。ps: 本文背景是以笔者落笔时官网最新稳定版5.0.8为准,虽然还没写完就变成了6.0.1。分区> 概述分区(Partitioning)是一种最为简单的拓展方

2021-09-10 19:46:22 242

转载 LeetCode解题的常见模式套路

对很多开发者来说,编程工作的面试准备很容易让人焦虑。面试要涉及的东西实在太多,其中很多还往往与开发者的日常工作无关。这种现状导致了一个后果:现在的开发者往往需要花费数周时间在 LeetCode 等网站上了解综合数百个问题。这里将列出最常见的 14 种模式,它们可被用于解决任何常见编程面试问题。另外还会说明如何识别每种模式,并会为每种模式提供一些问题示例。这些内容都只是蜻蜓点水——我强烈建议你看看课程《Grokking the Coding Interview: Patterns for Coding Q

2021-09-10 19:44:44 245

转载 万字详解秒杀系统!!

大家好,我是捡田螺的小男孩~ 今天推荐冰河老哥一篇干货很多小伙伴反馈说,高并发专题学了那么久,但是,在真正做项目时,仍然不知道如何下手处理高并发业务场景!甚至很多小伙伴仍然停留在只是简单的提供接口(CRUD)阶段,不知道学习的并发知识如何运用到实际项目中,就更别提如何构建高并发系统了!究竟什么样的系统算是高并发系统?今天,我们就一起解密高并发业务场景下典型的秒杀系统的架构,结合高并发专题下的其他文章,学以致用。电商系统架构在电商领域,存在着典型的秒杀业务场景,那何谓秒杀场景呢。简单的来说就是

2021-09-10 19:42:16 2448 1

转载 深入理解 Linux 的 epoll 机制

坚持思考,就会很酷在 Linux 系统之中有一个核心武器:epoll 池,在高并发的,高吞吐的 IO 系统中常常见到 epoll 的身影。IO 多路复用在 Go 里最核心的是 Goroutine ,也就是所谓的协程,协程最妙的一个实现就是异步的代码长的跟同步代码一样。比如在 Go 中,网络 IO 的 read,write 看似都是同步代码,其实底下都是异步调用,一般流程是:write(/*IO参数*/)请求入队等待完成...

2021-09-10 19:38:37 160

转载 图解Go内存管理系列(1)

这篇博客是我在维尔纽斯的 Go Meetup[1] 演讲的总结。如果你在维尔纽斯并且喜欢 Go 语言,欢迎加入我们并考虑作演讲在这篇博文中我们将要探索 Go 语言的内存管理,首先让我们来思考以下的这个小程序:funcmain(){http.HandleFunc("/bar",func(whttp.ResponseWriter,r*http.Request){fmt.Fprintf(w,"Hello,%q",html.EscapeString(r.UR...

2021-09-10 19:36:12 277

转载 阿里面试官:为什么MySQL数据库索引选择使用B+树而不是跳表?

来源:https://www.cnblogs.com/andydao/p/12891690.html作者:andydaopeng在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使用B+树!学过数据结构的一般对最基础的树都有所认识,因此我们就从与我们主题更为相近的二叉查找树开始。# 二叉查找树(1)二叉树简介:...

2021-09-10 19:34:11 2256 3

转载 如何动手做出一个 CPU

低并发编程 - 战略上藐视技术,战术上重视技术纯手工打造一个 CPU 这个事儿。在电子专业的同学眼里,很容易。在计算机专业的同学眼里,稍稍有点复杂,有的专业课的实验课可能会带着同学做一个,或者用 Logisim 这样的仿真软件去模拟实现一个。在非计算机专业的同学眼里,就有点不敢想象了。我就属于第三种。纯手工做一个 CPU 有很多好处,做完了以后确实对计算机组成的原理有了更为深入且直观的理解,而且也能稍稍涉足到电子领域,产生兴趣。所以有那么几个月的时间,我就真正去实践了一下,做出来

2021-09-10 19:32:29 161

转载 使用 ebpf 深入分析容器网络 dup 包问题

| 导语我们日常工作中都会遇到内核网络相关问题,包括网络不通、丢包、重传、性能问题等等,排查和解决非常困难,而容器更加重了这种复杂度,涉及2、3层转发,iptable,ipvs,namespace等,即使是网络专家,面对如此复杂的环境也非常的头大的。我们基于eBPF开发了skbtracer工具,不用修改内核代码,不用编写内核模块而能够使Linux主机网络变成一个彻底的白盒,能够看到一个数据包从产生发出去的全部过程,包括不限于数据流、namespace、路由信息跟踪,丢包原因,netfilter处...

2021-09-10 19:26:31 709

转载 深入浅出cgroup

一、什么是cgroupCgroup是linux内核用来控制系统资源的机制,它将操作系统中的所有进程以组为单位划分,给这一组进程定义对某一类资源特定的访问权限。Cgroup用子系统(subsystem)来描述所能控制的系统资源,子系统具有多种类型,每个类型的子系统都代表一种系统资源,比如freezer、CPU、memory、IO等。以freezer子系统为例,这个子系统可以对一组线程批量冻结,使用下面命令将打开freezer子系统:mount cgroup none /dev/freezer fr

2021-09-03 20:02:55 764

转载 结合中断分析TCP/IP协议栈在Linux内核中的运行时序

今天分享一篇经典Linux协议栈文章,主要讲解Linux网络子系统,看完相信大家对协议栈又会加深不少,不光可以了解协议栈处理流程,方便定位问题,还可以学习一下怎么去设计一个可扩展的子系统,屏蔽不同层次的差异。目录1.Linux网络子系统的分层2.TCP/IP分层模型3.Linux网络协议栈4.Linux网卡收包时的中断处理问题5.Linux网络启动的准备工作6.Linux网络包:中断到网络层接收7.总结Linux网络子系统的分层Linux网络子系统实现需...

2021-09-02 19:28:00 399

转载 宋宝华:为了不忘却的纪念,评Linux 5.13内核

Linux 5.14于14小时之前发布了,而我5.13的总结还没有写出,我早觉得有写一点东西的必要了,这虽然于搬砖的码农毫不相干,但在追求进步的工程师那里,却大抵只能如此而已。为了不忘却的纪念,我们列出5.13内核的数个激动人心的新特性: Apple M1的初始 Misc cgroup Landlock安全模块 系统调用的堆栈随机化 printk无锁ringbuffer的进一步优化 BPF可调用内核函数 公共的IO PAGE Fault支持

2021-09-01 20:08:05 424

转载 “段寄存器”的故事

一、 段寄存器的产生段寄存器的产生源于Intel 8086 CPU体系结构中数据总线与地址总线的宽度不一致。数据总线的宽度,也即是ALU(算数逻辑单元)的宽度,平常说一个CPU是“16位”或者“32位”指的就是这个。8086CPU的数据总线是16位。地址总线的宽度不一定要与ALU的宽度相同。因为ALU的宽度是固定的,它受限于当时的工艺水平,当时只能制造出16位的ALU;但地址总线不一样,它可以设计得更宽。地址总线的宽度如果与ALU相同当然是不错的办法,这样CPU的结构比较均衡,寻址可以在

2021-09-01 20:05:10 436 1

转载 Kubernetes + Docker + DevOps 必看面试题

最近,各大互联网巨头在技术战略层面,都把云原生列为了主要发展方向。以阿里巴巴为例,他们技术老大说,云原生是云计算释放红利的最短路径,是企业数字化的最短路径。现在云原生工程师、Kubernetes 工程师工资都特别高,并且都是急聘。为啥呢?因为现在的人才少,看到趋势的人才少,这个赛道还没有十分拥挤,机会也在日益增多。云原生工程师要学哪些东西呢?大的点就是 Go 语言 + Kubernetes,而其中,Kubernetes、Docker、DevOps 又是重中之中,我知道的很多人,因为会使用 K

2021-09-01 20:03:24 360

转载 一个内核漏洞详解:容器逃逸

CVE-2021-22555:一个影响2006年(Linux kernel v2.6.19-rc1 发布)至今(Linux kernel v5.12-rc8)的所有Linux内核版本的漏洞,可导致本地提权与容器逃逸;该漏洞是个内核级漏洞,跟Linux的发行版本没有关系,也就是说只要Linux 内核版本在v2.6.19-rc1 ~v5.12-rc8 之间的内核,都存在被黑客利用该漏洞攻击的可能。该漏洞是由Andy Nguyen (theflow@)发现,于2021年07月16日发布。换句话说,该漏洞已

2021-09-01 20:00:59 1755

转载 面试题:在日常工作中怎么做MySQL优化的?

前言大家晚上好,我是捡田螺的小男孩。今天我们来聊聊MySQL常见的优化手段。MySQL常见的优化手段分为下面几个方面:SQL优化、设计优化,硬件优化等,其中每个大的方向中又包含多个小的优化点SQL优化此优化方案指的是通过优化 SQL 语句以及索引来提高 MySQL 数据库的运行效率,具体内容如下:分页优化例如:select*fromtablewheretype=2andlevel=9orderbyidasclimit190289,1...

2021-09-01 19:58:26 109

转载 1 分钟内对 Linux 进行性能诊断的10 个命令

链接:https://zhuanlan.zhihu.com/p/39893236当你发现 Linux 服务器上的系统性能问题,在最开始的 1 分钟时间里,你会查看哪些系统指标呢?Netflix 在 AWS 上有着大规模的 EC2 集群,以及各种各样的性能分析和监控工具。比如我们使用 Atlas 来监控整个平台,用 Vector 实时分析 EC2 实例的性能。这些工具已经能够帮助我们解决大部分的问题,但是有时候我们还是要登录进机器内部,用一些标准的 Linux 性能分析工具来定位问题。在这篇文.

2021-09-01 19:56:53 935

转载 GDB底层实现原理

在程序出现bug的时候,最好的解决办法就是通过GDB调试程序,然后找到程序出现问题的地方。比如程序出现段错误(内存地址不合法)时,就可以通过GDB找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍 GDB 的使用方式,而是大概介绍 GDB 的实现原理,当然 GDB 是一个庞大而复杂的项目,不可能只通过一篇文章就能解释清楚,所以本文主要是介绍 GDB 使用的核心的技术 -ptrace。ptrace系统调用ptrace()系统调用是 Linux 提供的一个调试进程的工具,ptra...

2021-09-01 19:53:37 496

转载 网易传媒云原生探索-容器篇

网易传媒经过了一年多的探索及建设,已经将所有核心业务部署在容器环境内了。本文将以笔者在网易传媒整个容器的规划、设计、实施为内容,分享传媒在整个容器建设过程中的经验和教训,希望能给正在容器建设道路上前行的朋友们提供一些指导和帮助,避免走一些弯路。1 什么是云原生前两章为云原生的介绍和传媒的基础架构介绍,如果读者对这两块内容不感兴趣,可以直接跳到第三章云原生的产生云原生英文为Cloud Native,这个概念是Pivotal公司在2013年的时候首次提出,2015年,Pivotal公司的

2021-09-01 19:48:28 343

MIPS处理器设计透视(中文版)(屈建勤译)

本书涵盖了有关mips处理器的发展历史、运行原理和编程等诸多内容。首先介绍了mips的发展历史;然后分别对mips处理器的体系结构、协处理器、cache、中断、内存管理、浮点运算、mips指令集、汇编语言编程、c语言编程、代码的可移植性等细节进行了详细深入的分析;最后列举了一些mips代码的例子。   本书不仅内容充实,而且语言通俗易懂,是mips体系结构领域中全面性和易读性结合的很好的一本书,适合学习mips体系结构的初学者;同时对于mips程序员和高级用户也极有参考价值。   本书既可用作计算机类、微电子类本科生及研究生教科书和参考书,也可作为从事mips软件开发、计算机体系结构研究和开发人员的参考资料。

2011-10-24

计算机组成原理教师用书(蒋本珊).pdf

蒋本珊,女,1955.2,北京理工大学计算机学院副教授 获奖情况(近五年): 1. 《计算机组成原理》一书评为北京市精品教材。 2. 首都侨界先进个人。 3. 获得校级优秀教学成果二等奖两次(第一获奖人)。 4. 校三育人先进个人。 5. 校师德先进个人。

2011-08-22

电子计算机组成原理(蒋本珊).pdf

蒋本珊,女,1955.2,北京理工大学计算机学院副教授 1984.7~至今 北京理工大学计算机系。

2011-08-21

Windows网络编程(第二版中文).pdf

* 原书名: Network Programming for Microsoft Windows * 原出版社: Microsoft Press * 作者: (美)Anthony Jones,Jim Ohlund [作译者介绍] * 译者: 杨合庆 * 丛书名: 微软.NET程序员系列 * 出版社:清华大学出版社 * ISBN:7302059470 * 出版日期:2002 年10月

2011-02-10

Effective C++_3rd(侯捷译).pdf

有人说C++程序员可以分成两类,读过Effective C++的和没读过的。世界顶级C++大师Scott Meyers成名之作的第三版的确当得起这样的评价。当您读过这本书之后,就获得了迅速提升自己C++功力的一个契机。    在国际上﹐本书所引起的反响﹐波及整个计算技术出版领域﹐余音至今未绝。几乎在所有C++书籍的推荐名单上﹐本书都会位于前三名。作者高超的技术把握力、独特的视角﹑诙谐轻松的写作风格﹑独具匠心的内容组织﹐都受到极大的推崇和仿效。这种奇特的现象﹐只能解释为人们对这本书衷心的赞美和推崇。

2010-11-17

深度探索C++对象模型.pdf

这本书探索“对象导向程序所支持的C++对象模型”下的程序行为。对于“对象导向性质之基础实现技术”以及“各种性质背后的隐含利益交换”提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。

2010-11-17

数据结构与算法综合资料库

数据结构与算法综合资料库 制作日期: 2003.7.28 制作单位: 阿蒙工作室 Harry Meng

2010-10-09

Perl语言编程.chm(第三版)

Perl语言编程 第三版 作者:Larry Wall, Tom Christiansen, and Jon Orwant 译者:何伟平

2010-09-18

高级Bash编程指南

这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中高级的水平. . . 所有这些只是UNIX®浩瀚知识的一小部分. 你可以把本书作为教材, 自学手册, 或者是关于shell脚本技术的文档. 书中的练习和样例脚本中的注释将会与读者进行更好的互动, 但是最关键的前提是: 想真正学习脚本编程的唯一途径就是亲自动手编写脚本.

2010-09-18

高级Bash脚本编程指南.chm

这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中高级的水平. . . 所有这些只是UNIX®浩瀚知识的一小部分. 你可以把本书作为教材, 自学手册, 或者是关于shell脚本技术的文档. 书中的练习和样例脚本中的注释将会与读者进行更好的互动, 但是最关键的前提是: 想真正学习脚本编程的唯一途径就是亲自动手编写脚本.

2010-09-17

NASM中文手册.pdf

NASM中文手册.pdf The Netwide Assembler

2010-08-06

LinuxSysCallsForHLA.pdf

linux高阶汇编系统调用接口 LinuxSysCallsForHLA.pdf

2010-08-06

UNIX编程艺术.pdf

unix编程艺术,程序员编码修养、软件设计理念、计算机文化。

2009-12-14

UNIX编程艺术.part1.pdf

unix编程艺术、程序员编码修养、软件设计理念。 part2怎末也上传不上去,每次传完,就告诉我“此文件你已经上传过!”,然后给删除了!!

2009-12-14

Linux.C.Api.chm

Linux C 函数 使用手册 --共收录278个函数 版权声明(COPYRIGHT) 本手册由Linhan整理,编写。版权所有者为Linhan。 Linhan不保证所整理的内容正确. 您可以免费的使用、分发本手册。但未经Linhan的授权许可不得擅自进行篡改、反编译,及将其全部或部分用于商业用途。 本手册受著作权法和国际公约的保护,作者保留对本手册及本声明的最终修改权。 本手册的内容参考网络文档制作,原著作权归原作者所有。 本手册使用Mainsoft(R)的HTML Help格式制作。 如果你对本手册 有好的建议和意见,请与Linhan联系,让我们共同来完善。

2008-12-27

Yahoo!的VIM-PHP课件.pdf

用世界上最前大编辑器编辑php程序<br>注:英文版

2007-10-25

ADO2.5中文参考手册(chm)

ado2.5<br>官方参考手册<br><br>看到网上尽些2.10的,传个2.5的。

2007-09-06

HTML在线编辑器.rar

简易的HTML在线编辑器

2007-07-28

go-echo-v3.1-中文文档

go-echo-v3.1-中文文档

2023-01-09

Etcd3.1官网文档中文版(2017)

Etcd3.1官网文档中文版(2017)

2023-01-09

Kubernetes1.13指南(KubernetesHandbook)(书栈网)(202005)

Kubernetes1.13指南(KubernetesHandbook)(书栈网)(202005)

2022-12-13

Tomcat权威指南(第二版)下载pdf 高清完整版

本书是一本万能工具,其主题涵盖了Apache Tomcat这一广受欢迎的开源servlet、JSP容器和高性能的web server。《Tomcat权威指南》对管理员和web站点管理员而言,具有较强的参考价值;对在开发或产品中要使用Tomcat作为web应用程序服务器的开发者而言,这是一本有用的指南书;对Tomcat感兴趣的人而言,这是一本的介绍工具。 本书是最新Tomcat版本的更新,这是第二版,提供了关于servlet容器安装、配置、维护和安全防护的完整指南。实际上,鉴于具有如此多的最新信息,这本书本质上是一本新书,而不是原书的简单翻版。通过本书,您会了解到在所有主要操作系统(Windows、Linux、OSX、S01aris和FreeBSD)上使用Tomcat的详细信息,包括关于Tomcat配置文件以及部署和运行web应用程序的交互建议的详细信息。 本书提供了以下完整信息: 安装和启动流程 配置Tomcat——讨论realm、角色、用户、servlet会话和JNDI资源,包括BC Data Source 部署web应用程序——个别servlet、JSP页和web应用程序归档文件 调校Tomcat并改善性能 整合Tomcat和Apache Web Server Tomcat安全防护 Tomcat配置文件——server.xml、web.xml更多文件 调试与疑难排解——诊断Tomcat或web应用程序的问题 从源代码编译自己的Tomcat 并行运行两个或更多Tomcat servlet容器

2017-03-02

The Way to Go

The Way to Go,A Thorough Introduction to the Go Programming Language. Copyright © 2012 by Ivo Balbaert

2016-12-06

Netty权威指南(第1版)

商品名称: Netty 权威指南 出版社: 电子工业出版社 出版时间:2014-06-01 作者:李林锋

2016-02-22

Hadoop实战 陆嘉恒 2011 第1版

《Hadoop实战》是一本系统且极具实践指导意义的hadoop工具书和参考书。内容全面,对hadoop整个技术体系进行了全面的讲解,不仅包括hdfs和mapreduce这两大核心内容,而且还包括hive、hbase、mahout、pig、zookeeper、avro、chukwa等与hadoop相关的子项目的内容。实战性强,为各个知识点精心设计了大量经典的小案例,易于理解,可操作性强。

2016-01-18

TheSingleUNIXSpecification(2013)

POSIX.1-2008 is simultaneously IEEE Std 1003.1™-2008 and The Open Group Technical Standard Base Specifications, Issue 7. This 2013 Edition includes IEEE Std 1003.1-2008/Cor 1-2013 incorporated into IEEE Std 1003.1-2008 (the base document). The 2013 edition incorporates Technical Corrigendum 1 addressing problems discovered since the approval of the 2008 edition.

2015-03-29

Yii框架文档(2010.7.18)

Yii 权威指南 此教程在 the Terms of Yii Documentation 下发布。 2008-2010 © Yii Software LLC.

2014-06-07

8086汇编帮助手册.CHM

8086指令集中文帮助文档,便于查询的chm格式。

2013-09-21

Quicksshd_V2.0.3.apk

Quicksshd是android平台上的一款SSH服务器软件,可能将你的Android手机打造成ssd服务器,支持ssh命令操控手机(支持shell命令),支持sftp登录管理手机文件,Quicksshd可以不使用root权限,如果有root权限的手机,会默认启用。

2013-04-06

MS-DOS.7.10.ISO

MS-DOS.7.10.ISO安装光盘,MS-DOS 7.10安装程序是图形/菜单界面,并采用向导式进行。

2012-12-06

Debugging.with.gdb.中文版.pdf

  The GNU Debugger allows you to see what is going on "inside" a program while it executes - or what a program was doing at the moment it crashed.   GDB supports C, C++, Java, Fortran and Assembly among other languages; it is also designed to work closely with the GNU Compiler Collection (GCC).

2012-05-23

多核程序设计技术-通过软件多线程提升性能(英文版)

软件开发人员不能再单靠提高时钟频率的方式来加速单线程应用程序的性能了,现在他们必须学会如何在多线程环境下设计应用程序,只有这样他们才能更具竞争力。多核体系结构在单个处理器内封装了两个或更多的处理器“执行核”(或者说计算引擎),只要软件设计合理,就能够支持多个软件线程的完全并行执行。超线程技术为在单个核上执行多个线程提供了途径。.   本书旨在帮助软件开发人员编写面向intel多核体系结构的高性能多线程代码,同时避免发生一些多线程应用程序中常见的并行程序设计问题。

2012-04-15

vs.php2.10_for_vs2010

VS.Php是Visual Studio 的PHP开发插件。通过安装这个插件,我们可以在Visual Studio这个市场中最流行的IDE中编译、编辑、配置PHP程序。

2012-04-13

Extending.and.Embedding.PHP.2006.chm

讲解如何进行php扩展开发,英文版 作者: Sara Golemon 出版社: Sams 出版年: 2006-05-30 页数: 409 定价: USD 49.99 装帧: Paperback ISBN: 9780672327049

2011-12-17

计算机系统结构:量化研究方法(第三版).pdf

《计算机体系结构量化研究方法》(英文版·第4版)系统地介绍了计算机系统的设计基础、指令集系统结构、流水线和指令集并行技术、层次化存储系统与存储设备、互连网络以及多处理器系统等重要内容。在这个最新版中,作者更新了单核处理器到多核处理器的历史发展过程的相关内容,同时依然使用他们广受好评的“量化研究方法”进行计算设计,并展示了多种可以实现并行性的技术,而这些技术可以看成是展现多处理器体系结构威力的关键!在介绍多处理器时,作者不但讲解了处理器的性能,还介绍了有关的设计要素,包括能力、可靠性、可用性和可信性。

2011-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除