Linux系统编程
文章平均质量分 92
dosthing
do something useful
展开
-
Mysql 性能优化分析
文章目录Mysql 性能优化分析思考1.硬件操作系统层面2.Mysql调优2.1性能瓶颈分析与优化2.2日志分析优化2.3查询优化 [连接](https://juejin.cn/post/6844903750839058446#heading-106)2.4建表优化2.5架构优化Mysql 性能优化分析思考性能分析主要是从硬件操作系统和应用软件方面着手:1.硬件操作系统层面硬件操作系统调优对其他应用软件也是一样的,主要从网络传输,运算速度、存储性能方面入手,涉及网卡带宽吞吐效率、CPU性能、内存容量原创 2021-03-13 17:36:50 · 307 阅读 · 1 评论 -
docker常用命令
docker常用命令技巧镜像与容器:镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。按照 Docker 最佳实践的要求,容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用 数据卷(Volume)、或者 绑定宿原创 2020-12-31 15:13:22 · 266 阅读 · 0 评论 -
docker mysql 主从数据库环境搭建
随着应用业务数据不断的增大,数据库性能压力越来越大。此时,我们可以将数据库扩展成 主从复制模式,将 读操作和 写操作 分离开来,多台数据库 分摊请求,从而 减少单库 的 访问压力,进而应用得到优化。MySQL 5.6 开始主从复制有两种方式:基于日志(binlog)和 基于 GTID(全局事务标示符)。这里只涉及基于日志 binlog 的 主从配置。优点负载均衡–主服务器负责对数据进行 更新、删除 和 新建 等操作,而将 查询 工作落到 从库 头上异地容灾备份–可以将主服务器上的数据同步到 异地从原创 2020-09-29 10:52:10 · 274 阅读 · 1 评论 -
HTTP协议与负载均衡技术
Web起源1945年Vannevar Bush在经典论文“As we may think”中提出一种通过机械扩展人类的记忆方法:Memex**人类记忆弱点:**人类因记忆能力不足而不能记忆大容量知识**想不起来:**人类在记忆过程中常因为各种知识间缺乏必要的联系,而经常无法记忆起来已记忆了的知识。“恍然大悟”即是这种情况的最好写照。HTTP协议Http消息的请求与响应http消息主要分...原创 2020-02-01 23:03:33 · 1319 阅读 · 0 评论 -
cent os 安装使用postgresql
下载yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat11-11-2.noarch.rpm -y安装yum -y install postgresql11 postgresql11-server postgresql11-libs初始化数据库/...原创 2020-02-01 22:40:23 · 1025 阅读 · 0 评论 -
centos一键安装nginx
文章目录前言一键安装普通安装常用的命令nginx配置总结前言Nginx是一款高性能的Web服务器,它的内存占用少,启动极快,高并发能力强。常作为负载均衡、反向代理服务器使用。反向代理可以很好隐藏服务器的信息,方向代理示意如图: 一键安装由于经常有在centos上安装部署Nginx的需求,这里总结了一个一键安装脚本,采用默认安装配置,省去烦人的环境依赖的安装配置。#下载脚本wget ...原创 2019-09-26 23:55:09 · 11202 阅读 · 0 评论 -
Redis知识整理(不定期更新总结)
为什么用redisRedis是一个开源的使用C语言编写、支持数据持久性、Key-Value数据库,并提供多种语言的API的高速缓存框架。优势特点Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis原子 – Re...原创 2019-03-27 15:12:14 · 8785 阅读 · 0 评论 -
hostent实例详解
前言: 网络编程是程序连接网络拓展的基础,尤其是在物联网、互联网加等概念火热的当下,网络编程能力体现了一个程序员能否具有大型程序的开发能力。这里通过详细例子解析hostent结构体,hostent是C语言标准库函数gethostbyname的返回值,gethostbyname是用来解析域名的重要函数,在程序的网络应用中经常需要将域名转换为IP地址,然后建立Socket与服务器进行数据交互。...原创 2018-05-20 17:48:53 · 15328 阅读 · 0 评论 -
ifreq socketaddr sockaddr_in实例详解
前言 网络编程是程序连接网络拓展的基础,尤其是在物联网、互联网加等概念火热的当下,网络编程能力体现了一个程序员能否具有大型程序的开发能力。这里通过详细例子解析structifreq和structsockaddr_in结构体,这两个结构体通常是配合使用,建立socket连接然后把ifeq作为数据源调用ioctl函数与内核交互,通过数据类型转换,将ifeq数据内容赋值给sockaddr_in,进...原创 2018-05-20 00:00:13 · 4602 阅读 · 1 评论 -
proc/net/dev实时网速统计实例
前言 网络编程是程序连接网络拓展的基础,尤其是在物联网、互联网加等概念火热的当下,网络编程能力体现了一个程序员能否具有大型程序的开发能力。在实际应用中,往往需要显示目前系统的实时网速等信息,当然获取网速等信息的软件方法很多,但是用小几行代码,并可移植性好的方法却不多,这里介绍如何通过Linux的proc文件系统进行实时获取网卡收发速率。原理简介 Linux提供的LKM机制...原创 2018-05-20 19:05:59 · 10739 阅读 · 3 评论 -
大端与小端字节数据详解
前言 计算机的数据以01构成的字节存储,这就涉及数据大小端的问题。计算机是大端数据模式还是小端数据模式对于普通的应用程序没有什么影响,但是在诸如网络编程、芯片寄存器操作的时候就有必要区分一下了,要不然会遇到程序的逻辑设计完全没问题,但得到的数据总是错误的尴尬。这里详细介绍一下这两种数据模式的差异,以及结合实际应用例子来检验我们主机的字节顺序模式。字节顺序模式 计算机的字节顺序模式分...原创 2018-06-10 14:55:03 · 29515 阅读 · 6 评论 -
操作系统位长判断源码
前言在计算机的发展中,经历了8位机到64位机的历程,在不久的将来还会有更高位长的计算机出现,它们的每一次升级都是技术的一次大进步,正是如此才构造如此纷繁多样的数字电子世界。尽管高性能计算机不断涌现,但是诸如低端的8位机也并没有退出人们的视野,比如常见的51及STM8系列的8位机仍然用在一些实时控制终端领域。如何识别操作系统的位长,这是一个程序员面试常考题,这里用C语言剖析如何实现操作系统位长的...原创 2018-07-28 21:43:57 · 3191 阅读 · 0 评论 -
/proc/mounts获取挂载设备mntent信息
前言/proc文件系统是一个伪文件系统,在系统运行时通过访问内核数据结构、改变内核设置的机制,实现以文件系统的方式与内核数据交互。应用程序可以通过proc文件系统获取系统的信息,利用此功能在一些嵌入式应用中也用来调试检验程序运行状态。/proc/mounts则实时记录了系统设备的挂载情况,基于此,上层应用程序可以对/proc/mounts目录进行查询获取设备的挂载目录,最常见的就是对于U盘之类...原创 2018-07-29 22:10:59 · 9022 阅读 · 0 评论 -
NTP协议详解
前言NTP(Network Time Protocol)网络时间协议基于UDP,用于网络时间同步的协议,使网络中的计算机时钟同步到UTC,再配合各个时区的偏移调整就能实现精准同步对时功能。提供NTP对时的服务器有很多,比如微软的NTP对时服务器,利用NTP服务器提供的对时功能,可以使我们的设备时钟系统能够正确运行。NTP报文格式NTP报文格式如上图所示,它的字段含义参考如下:L...原创 2018-08-11 16:51:03 · 81500 阅读 · 13 评论 -
USB热拔插事件
前言USB(Universal Serial Bus)通用串行总线的缩写,是一个外部总线标准,用于规范主机与外围设备的连接以及通讯,目前使用较多的版本有USB1.1、USB2.0、USB3.0等。USB接口常用在诸如USB串行设备驱动(3G/4G上网卡、蓝牙设备、串口设备)、USB大容量磁盘驱动(U盘、移动硬盘)、USB主机控制器驱动(嵌入式otg,dwc_otg)、USB键盘鼠标等,这一些的...原创 2018-08-26 11:35:41 · 20318 阅读 · 0 评论 -
网卡设备信息获取
前言:网卡工作在OSI七层协议中的链路层,是主机与网络对接的重要接口,它完成了网络连接的物理和电信号之间的转换,同时还对网络数据包帧进行发送、接收、校验等,是上层网络应用的基石。在计算机架构中,通常是CPU通过内部总线(AHB BUS 或者 PCI BUS)与MAC控制单元通信,然后由MAC控制单元通过MII接口协议与PHY设备进行数据交互,PHY设备则负责与外部网络通信(RJ45网络接口)。...原创 2018-08-26 14:50:13 · 7398 阅读 · 1 评论 -
C语言日志分级设计
前言C语言是一门面向过程的编程语言,其程序的设计流程就是根据上层的业务需求编写一系列函数,中间辅以if、for、while、switch等流程控制语句来实现各种数据的处理。从程序可靠运行方面考虑,我们希望程序的执行过程可以被程序员可控了解,这在程序开发过程中以及程序的后期维护都至关重要。能实现这种功能的最好方法就是在程序运行的关键节点添加日志打印追踪了。一个良好的日志打印输出设计可以使程序员无...原创 2018-09-24 14:19:30 · 9888 阅读 · 0 评论