- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 Postgres-XC
Postgres-XC 是读写可伸缩的同步多主 PostgreSQL 集群。 特性: 读/写 可伸缩 对称 (多主,同步) 集群 事物管理和一致性元组可视化 集群节点之间的并行事物执行 集群原理初级介绍 1、GTM (Global Transaction Manager) 2、Coordinator XC VS HS 个人理解,有点类似redis cluster 这个有点类似mysql的主从 XL 它与XC很相近,架构几乎是一样的,只是比XC多了一个MPP功能; 什么是MPP架构呢? 单条SQL提供了多数
2021-04-05 21:51:54
795
原创 PostgreSQL进程结构
进程结构 查看进程 [root@node201 13325]# ps -ef | grep postgres postgres 35292 1 0 20:48 ? 00:00:00 /usr/pgsql-9.6/bin/postmaster -D /var/lib/pgsql/9.6/data/ postgres 35294 35292 0 20:48 ? 00:00:00 postgres: logger process postgres 35296 3
2021-04-05 21:50:51
267
原创 字典 锁
查看锁的信息: postgres=# select * from pg_locks; locktype | database | relation | page | tuple | virtualxid | transactionid | classid | objid | objsubid | virtualtransaction | pid | mode | granted | fastpath ------------±---------±---------±-----±-
2021-04-05 21:50:12
180
原创 pgAdmin
psql使用 -bash-4.2$ psql --help psql is the PostgreSQL interactive terminal. Usage: psql [OPTION]… [DBNAME [USERNAME]] General options: -c, --command=COMMAND run only single command (SQL or internal) and exit -d, --dbname=DBNAME database name to conn
2021-04-05 21:49:07
2229
原创 PSQL的使用
psql使用 -bash-4.2$ psql --help psql is the PostgreSQL interactive terminal. Usage: psql [OPTION]… [DBNAME [USERNAME]] General options: -c, --command=COMMAND run only single command (SQL or internal) and exit -d, --dbname=DBNAME database name to conn
2021-04-05 21:46:38
654
原创 PostgreSQL安装
版本: 9.6 安装 https://www.postgresql.org/download/linux/redhat/ 参考:https://blog.youkuaiyun.com/weixin_43230682/article/details/108403642 Install PostgreSQL: sudo yum install -y postgresql96-server Optionally initialize the database and enable automatic start: sudo
2021-04-05 21:44:50
196
原创 time_wait
从图3-9来看,客户端连接在收到服务器的结束报文段(TCP报文段6)之后,并没有直接进入CLOSED状态,而是转移到TIME_WAIT状态。在这个状态,客户端连接要等待一段长为2MSL(Maximum Segment Life,报文段最大生存时间)的时间,才能完全关闭。MSL是TCP报文段在网络中的最大生存时间,标准文档RFC 1122的建议值是2min。 TIME_WAIT状态存在的原因有两点: 1.可靠地终止TCP连接。 2.保证让迟来的TCP报文段有足够的时间被识别并丢弃。 第一个原因很好理解。假设图
2021-04-01 22:22:00
299
原创 65536个连接”误解
经典的”服务器最多65536个连接”误解 C/C++语言编程, 网络编程 Views: 39740 | 9 Comments “因为TCP端口号是16位无符号整数, 最大65535, 所以一台服务器最多支持65536个TCP socket连接.” - 一个非常经典的误解! 即使是有多年网络编程经验的人, 也会持有这个错误结论. 要戳破这个错误结论, 可以从理论和实践两方面来. 理论 系统通过一个四元组来唯一标识一条TCP连接. 这个四元组的结构是{local_ip, local_port, remote_i
2021-04-01 22:14:58
444
原创 第五篇
百萬並發之 tcp_mem 在服務端,連接達到一定數量,諸如50W時,有些隱藏很深的問題,就不斷的拋出來。 通過查看dmesg命令查看,發現大量TCP: too many of orphaned sockets錯誤,也很正常,下面到了需要調整tcp socket參數的時候了。 第一個需要調整的是tcp_rmem,即TCP讀取緩沖區,單位為字節,查看默認值 cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 4161536 默認值為87380 byte ≈ 86K,最小為40
2021-04-01 22:14:11
171
原创 100第四篇
第四个遇到的问题:tcp_mem 在服务端,连接达到一定数量,诸如50W时,有些隐藏很深的问题,就不断的抛出来。 通过查看dmesg命令查看,发现大量TCP: too many of orphaned sockets错误,也很正常,下面到了需要调整tcp socket参数的时候了。 第一个需要调整的是tcp_rmem,即TCP读取缓冲区,单位为字节,查看默认值 cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 4161536 默认值为87380 byte ≈ 86K,最小
2021-04-01 22:13:02
92
原创 100第三篇
100万并发连接服务器笔记之测试端就绪 重新编写测试端程序 测试端程序需要增加绑定本机IP和本地端口的功能,以尽可能的向外发出更多的tcp请求。需要对client1.c重构,增加参数传递。 下面是client2.c的代码 若不指定端口,系统会随机挑选没有使用到的端口,可以节省些心力。 编译: gcc -o client2 client2.c -levent 参数解释 -h 要连接的服务器IP地址 -p 要连接的服务器端口 -m 本机IP地址需要绑定的随机端口数量 -o 本机所有可用的IP地址列表,注意所有I
2021-04-01 22:12:24
72
原创 100第二篇
第二个遇到的问题:端口数量受限 一般来说,单独对外提供请求的服务不用考虑端口数量问题,监听某一个端口即可。但是向提供代理服务器,就不得不考虑端口数量受限问题了。当前的1M并发连接测试,也需要在客户端突破6万可用端口的限制。 单机端口上限为65536 端口为16进制,那么2的16次方值为65536,在linux系统里面,1024以下端口都是超级管理员用户(如root)才可以使用,普通用户只能使用大于1024的端口值。 系统提供了默认的端口范围: cat /proc/sys/net/ipv4/ip_local_
2021-04-01 22:10:47
113
原创 100准备
100万并发连接服务器笔记之准备篇 前言 测试一个非常简单服务器如何达到100万(1M=1024K连接)的并发连接,并且这些连接一旦连接上服务器,就不会断开,一直连着。 环境受限,没有服务器,刚开始都是在自己的DELL笔记本上测试,凭借16G内存,和优秀的vmware workstation虚拟机配合,另外还得外借别人虚拟机使用,最终还得搭上两台2G内存的台式机(安装centos),最终才完成1M并发连接任务。 测试程序也很简陋,一个C语言所写服务器程序,没有任何业务存在,收到请求后发送一些头部,不断开连接
2021-04-01 22:07:28
87
RHCA教程-RHS333中文原版
2011-02-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人