前两天硬着头皮在部门内部做了一次技术分享,主题如题。索性整理成文章留个纪念! 要了解异步实现,首先我们得先了解: 同步 & 异步 同步:会逐行执行代码,会对后续代码造成阻塞,直至代码接收到预期的结果之后,才会继续向下执行任务。 异步:调用之后先不管结果,继续向下执行任务。 网上各种文章对同步和异步的 ...
分类:
编程语言 时间:
2020-05-16 16:54:15
阅读次数:
97
"toc" A.检查表空间使用情况 B.检查是否有 offline 状态的表空间 C.在线日志是否存在小于 50M 的及状态不正常 D.检查锁阻塞 E.查看是否有僵死进程 F.检查是否有失效索引 G.检查不起作用的约束 H.缓冲区命中率 I.数据字典命中率 J.库缓存命中率 K.内存中的排序 L.磁 ...
分类:
数据库 时间:
2020-05-16 16:46:12
阅读次数:
86
应该从不同角度看libevent的同步/异步、阻塞/非阻塞: IO数量的角度:select出来之前,会阻塞在一个io上,处理完成后再阻塞在下一个io上;之后就是把所有的io fd拿过来,都不阻塞,一个一个fd去询问是否可读,每次询问完后把可读的io fds返回;所以说:libevent是非阻塞的; ...
分类:
其他好文 时间:
2020-05-16 12:46:00
阅读次数:
99
1. 简单了解一下node, node不是一个框架是一个库,官方是这样说的 Node是一个基于Chrome JavaScript 运行在服务端的一个平台,当线程的非阻塞的i/o事件驱动 。 2.会了Node.js 你就可以自己开发项目了 ,例如 服务端渲染的项目 ,也可以是 至于 Vue + Nod ...
分类:
Web程序 时间:
2020-05-15 13:57:31
阅读次数:
62
1 如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 2 3 4 5 看懂执行计划也就成了SQL优化的先决条件。 这里的SQ ...
分类:
数据库 时间:
2020-05-15 13:33:51
阅读次数:
64
根据该文章整理 https://blog.csdn.net/myxmu/article/details/80350251 解决的问题内存屏障主要解决了单处理器下的乱序问题和多处理器下的内存同步问题。2 为什么会乱序现在的CPU一般采用流水线来执行指令。一个指令的执行被分成:取指、译码、访存、执行、写 ...
分类:
系统相关 时间:
2020-05-14 19:20:42
阅读次数:
75
OpenResty搭建高性能服务端 Socket编程 Linux Socket编程领域为了处理大量连接请求场景,需要使用非阻塞I/O和复用,select、poll、epoll是Linux API提供的I/O复用方式,自从Linux2.6中加入了epoll之后,高性能服务器领域得到广泛的应用,Nign ...
分类:
其他好文 时间:
2020-05-14 15:20:05
阅读次数:
86
例子: 生产者,消费者问题;消费者先进入临界区,条件变量未满足条件,阻塞等待;生产者无法进入临界区,从而无法修改条件变量,也就产生死锁; 解决方法:如果遇到条件变量未满足条件,消费者先释放锁,进入阻塞,等待条件变量得到满足;然后生产者可以进入临界区,修改条件变量,修改后通知消费者进入临界区,生产者释 ...
分类:
系统相关 时间:
2020-05-14 01:36:41
阅读次数:
76
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种 ...
分类:
其他好文 时间:
2020-05-13 23:11:12
阅读次数:
76
1.多进程和多线程实现并发编程各自的优劣势是什么? 切换成本不一样,多进程的优势是一个进程挂了不会影响其他的进程,因为内存地址不一样,劣势是独立的地址空间通信比较复杂,一般使用socket编程,而多线程直接在内存中通信 2.协程为什么能实现更高的并发? 切换速度快,进程和线程上下文切换需要进入内核态 ...
分类:
其他好文 时间:
2020-05-13 23:02:06
阅读次数:
107