首页
学习
活动
专区
工具
TVP
发布

EffectiveCoding

专栏作者
113
文章
97446
阅读量
28
订阅数
性能分析 -- 各种毛刺
大家在观察压测&日常线上请求的平响、cpu使用时通常都能见到n多的毛刺,有的毛刺凸显并且有规律可循,有的杂乱无章,这些毛刺到底是因为什么产生的,对应的解决解决套路是怎么样的?
邹志全
2021-01-06
2.2K0
网络IO模型
recvfrom -> [syscall -> wait -> copy ->] return OK!
邹志全
2019-10-08
5160
select /poll/ epoll 对比
poll使用链表保存文件描述符,因此没有了监视文件数量的限制,但其他三个缺点依然存在。
邹志全
2019-08-31
6130
shell -- AWK&文本处理 浅析
markdown 编辑,来写awk真是麻烦 awk 入门: awk 是格式化文本处理最常用的工具,日常捞数据、切数据最常用的,当然了不用awk 也有其他的工具能解决问题,但是经过检验 awk可以说是最好用的。说实话对于新手来说 awk上手可能会慢一些,但是用习惯了即将溜的飞起。 下面从我工作时常用的一些方式来阐述这个命令(网上也有很多的资料可以对比参考): 假设1.demo 文件内容如下: 1 2 3 4 abc 1 2 3 4 abcdce awk '{print
邹志全
2019-07-31
6040
shell -- 基础网络相关命令 浅析
大家接触到的第一个命令可能是ping,来测试接口通不通,但是网络相关的命令可远不止ping:
邹志全
2019-07-31
5360
shell -- 进程管理系列命令浅析
linux 常用的命令工具非常多,除了cd、ls、mkdir、cp、mv这些非常常用和简单的命令,这里对于开发和排查问题过程中进程相关常用的几个命令进行介绍
邹志全
2019-07-31
5610
shell -- 基础
最主要的是对虚拟内存的管理、当然也会对实际的物理内存进行管理。尤其是对交换空间(磁盘与主存抽象出来的一区域,比如实际使用的内存比主存要大,就是因为抽象的虚拟内存要大,一部分存在于硬盘中,换进换出即可)的管理
邹志全
2019-07-31
4520
高并发 Nginx + lua是如何抗住的
提到高并发或者抗压力,有这种高qps经验的同学第一反应大都是Nginx + lua + Redis,网上也满天非那种高并发架构方案大都是这种,但是Nginx + lua 来做接入层到底是怎么抗住压力的呢?
邹志全
2019-07-31
1.2K1
高并发 -- 操作系统基础
相对于传统软件行业,互联网行业存在的最大技术挑战之一应该就是高并发了。最初我对高并发的理解,就是服务器存在压力,然后堆机器,很low,但是没准很有效,当然也存在一些问题。
邹志全
2019-07-31
4720
Redis的事件模型(文件描述符号&polling 机制 基础)
Redis的高性能和他的事件模型是密不可分的,最大程度上利用了单线程、非阻塞IO模型来快速的处理请求(单线程处理多链接)。这里存在一个问题,其实严格意义上来讲,Redis 是单线程对外提供服务,redis内部并不单线程的,还存在一些关于数据持久化的线程。
邹志全
2019-07-31
1.2K0
Go 并发实战--协程浅析 一
在说go协程之前,先对比看一下进程&线程&协程这几个基础的概念。 进程是指一段程序的执行过程,具有自己的地址空间(包括文本区域(text region)、数据区域(data region)和堆栈(stack region)),并且进程由cpu直接负责调度控制。 线程是CPU调度的最小单位,线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间。同样是由cpu直接负责调度控制的。 协程可以理解为是用户级线程,对于协程来说对内核透明的,也就是系统并不知道有协程的存在,是完全由用户自己的程序进行调度的,cpu对于我们的协程无感知。 goroutine实际上就是协程,为什么叫做go协程呢,因为go在runtime、系统调用方面对goroutine调度进行了封装和处理,也就是说go在语言层面实现对于go协程的支持:使用go 关键字就可以了。 内存消耗方面: 每个 goroutine (协程) 默认占用内存远比 Java 、C 的线程少。 goroutine:2KB 线程:8MB 线程和 goroutine 切换调度开销方面: 线程/goroutine 切换开销方面,goroutine 远比线程小 线程:涉及模式切换(从用户态切换到内核态)、16个寄存器、PC、SP...等寄存器的刷新等。 goroutine:只有三个寄存器的值修改 - PC / SP / DX. 最主要的是不担心协程间切换、或者协程打满或者夯死。 关于协程协程这类知识,感觉先说原理再说使用会比较理解,后面就先来看下go协程的实现原理。
邹志全
2019-07-31
7090
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档