- 博客(182)
- 资源 (4)
- 收藏
- 关注
原创 01高并发系统:通用设计方法
01高并发系统:通用设计方法1 应对大流量的方法1.1 横向扩展1.2 缓存1.3 异步处理1 应对大流量的方法1.1 横向扩展分而治之的思想,采用分布式部署的方式把流量分开,让每个服务器都承担一部分并发流量。如下图所示,server越多整个系统的处理能力就越强,在同一时刻能够处理的请求越多。(前提是server后端依赖的服务也是可以横向扩展来提高并发量的)1.2 缓存使用缓存来提高...
2019-11-07 23:43:04
1179
原创 muduo网络库Exception异常类
1 Exception类Exception类包括两个文件 :Exception.cc, Exception.h。1.1 Exception.h#ifndef MUDUO_BASE_EXCEPTION_H#define MUDUO_BASE_EXCEPTION_H#include <muduo/base/Types.h>#include <exception>...
2019-03-28 23:07:07
1289
原创 muduo网络库AtomicIntegerT原子整数类
1 原子性操作// 原子自增操作type __sync_fetch_and_add (type *ptr, type value)// 原子比较和交换(设置)操作type __sync_val_compare_and_swap (type *ptr, type oldval type newval)bool __sync_bool_compare_and_swap (type *ptr,...
2019-03-24 21:21:36
1070
1
原创 muduo网络库Timestamp类
1 Timestamp类主要的文件muduo/base/Timestamp.cc muduo/base/Timestamp.h muduo/base/copyable.hmuduo/base/Types.h其中Timestamp.cc和Timestamp.h 是类的文件。copyable.h文件中包括的空类是一个标识类,表示继承该类的所有类都是可复制的,是值语义。Types.h...
2019-03-24 20:49:48
1108
原创 muduo网络库编译安装
1 下载地址https://share.weiyun.com/5h0iIOX2 安装依赖$ sudo apt-get install cmake$ sudo apt-get install libboost-dev$ tar zxf muduo-0.9.1-beta.tar.gz$ cd muduo/$./build.shcentos系统使用yum install boost-d...
2019-03-24 13:42:09
1934
原创 VIM安装TagList插件显示文件函数列表
下载地址: https://zh.osdn.net/projects/sfnet_vim-taglist/downloads/vim-taglist/4.5/taglist_45.zip/分别将taglist目录下的doc和plugin中的文件拷贝到 ~/.vim目录下的doc和plugin中。
2017-10-16 21:33:31
6420
原创 VIM安装NERDTree插件显示工程目录
先下载,官网:http://www.vim.org/scripts/script.php?script_id=1658 将文件NERD_tree.zip中的内容全部解压到~/.vim目录下,如果没有.vim目录,则新建一个。
2017-10-16 09:38:42
1825
原创 Centos安装openssl
下载地址 https://www.openssl.org/source/openssl-1.1.0e.tar.gz依次解包,配置,编译,安装tar -zxvf openssl-1.0.0e.tar.gz cd openssl-1.0.0e ./config shared zlib make depend make make install
2017-10-15 15:51:20
2005
原创 readelf命令和ELF文件详解
ELF(Executable and Linking Format)是一个定义了目标文件内部信息如何组成和组织的文件格式。内核会根据这些信息加载可执行文件,内核根据这些信息可以知道从文件哪里获取代码,从哪里获取初始化数据,在哪里应该加载共享库,等信息。
2017-10-12 00:48:25
17451
1
原创 Webbench网站压测工具
Webbench是一个在Linux下使用的非常简单的网站压测工具。他本身是一个单进程,使用fork()模拟多个客户端同时访问我们设定的url,用来测试网站在压力下的性能。最多可以模拟3万个并发连接去测试网站的负载能力。
2017-10-01 20:32:04
1356
原创 MySql架构
MySql并不完美,但是足够灵活,能够适应高要求的环境,例如Web类应用。同时,MySql既可以嵌入到应用程序中,也可以支持数据仓库、内容索引和部署软件、高可用的冗余系统、在线事务处理系统(OLTP)等各种应用类型。
2017-03-21 19:43:49
1494
原创 InnoDB存储引擎——表
表是关于特定实体的数据集合,也是关系型数据库模型的核心。索引组织表InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表。
2017-03-18 19:56:42
1535
原创 InnoDB存储引擎——刷新邻接页、启动、关闭和恢复
刷新邻接页InnoDB存储引擎还提供了Flush Neighbor Page(刷新邻接页)的特性。其工作原理为:当刷新一个脏页时,InnoDB存储引擎会检测该页所在区(extent)的所有页,如果是脏页,那么一起进行刷新。
2017-03-14 16:47:36
2010
原创 InnoDB存储引擎——异步IO
为了提高磁盘操作性能,当前的数据库系统都采用异步IO(Asynchronous IO,AIO)的方式来处理磁盘操作。InnoDB存储引擎就是这样。
2017-03-14 15:59:20
4280
1
原创 InnoDB存储引擎——两次写
Insert Buffer给InnoDB存储引擎带来的是性能上的提升,doublewrite(两次写)给InnoDB存储引擎带来的是数据页的可靠性。当数据库发生宕机时,可能InnoDB存储引擎正在写入某个页表中,而这个页只写了一部分,比如16K的页,只写了前4K,之后就发生了宕机,这种情况被称为部分写失效。
2017-03-14 15:06:26
1219
原创 InnoDB存储引擎——插入缓冲
InnoDB存储引擎的关键特性包括:插入缓冲(Insert Buffer)两次写(Double Write)自适应哈希索引(Adaptive Hash Index)异步IO(Async IO)刷新邻接页(Flush Neighbor Page)
2017-03-13 17:27:31
1281
1
原创 InnoDB存储引擎——Master Thread工作方式
Master Thread是InnoDB存储引擎非常核心的一个后台线程,主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲、UNDO页的回收等。
2017-03-12 20:23:06
1727
原创 InnoDB存储引擎——Checkpoint技术
为什么需要Checkpoint技术InnoDB存储引擎中的缓存池的目的是协调CPU速度和磁盘速度的差别。数据库对数据页的操作首先都是在缓冲池中完成的。如果一条DML语句,如update和delete改变了页中的记录,那么该页变为了脏页,也就是说缓冲池中的页的内容比磁盘中的页要新。数据库需要将新版本的页从缓冲池刷新到磁盘。
2017-03-11 19:26:15
966
原创 Application failed to start because it could not find or load the QT platform plugin “windows”
The error is caused because the program can't find qwindows.dllqwindows.dll has to be in a folder named platforms so that the path from your executable to the dll is platforms/qwindows.dll
2016-11-06 16:38:32
994
grafana_node_modules_part2
2020-02-19
node_modules.zip
2020-02-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人