![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 83
LyndonZheng
字节跳动某小游戏工作室后端程序
墨麟龙骑战歌服务端程序员
展开
-
安装nginx
yum install nginxgroupadd wwwuseradd -m www -g www -s /bin/bash -d /home/www原创 2019-10-30 16:06:18 · 115 阅读 · 0 评论 -
安装php-redis
wget https://pecl.php.net/get/redis-2.2.4.tgz/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make install在php.ini中添加Redis扩展 首先配置extensio...原创 2019-10-30 15:32:53 · 141 阅读 · 0 评论 -
debian安装php-5.6.18
根据网上资料,发现debian9.9自带的这个openssl版本,php5.6不支持。所以手动安装1.0.2的opensslhttps://www.openssl.org/source/openssl-1.0.2k.tar.gz解压后进入文件夹./configmakemake installmv /usr/local/bin/openssl /usr/local/bin/openssl...原创 2019-10-30 13:59:55 · 778 阅读 · 0 评论 -
centos安装php-5.6.18
1、从PHP官网下载最新的PHP源代码wget http://museum.php.net/php5/php-5.6.18.tar.gz2、使用tar命令进行解压,添加www用户和组tar zxvf php-5.6.18.tar.gzcd php-5.6.18groupadd wwwuseradd -c php-fpm-user -g www -M php-fpmyum ...原创 2019-10-30 13:49:13 · 360 阅读 · 0 评论 -
Linux性能优化实战 33-34:网络模型,性能指标,配置说明,性能检测
原标题:关于 Linux 网络,你必须知道这些一、网络模型1. 国际标准化组织定义了一个七层的 OSI 网络模型,但是这个模型过于复杂。2.实际工作中的事实标准,是更为实用的 TCP/IP 模型TCP/IP 模型,把网络互联的框架分为应用层、传输层、网络层、网络接口层等四层(1)应用层,负责向用户提供一组应用程序,比如 HTTP、FTP、DNS 等。(2)传输层,负...转载 2019-02-26 17:20:54 · 613 阅读 · 0 评论 -
Linux性能优化实战 21:内存性能指标
一、IO性能指标二、IO性能工具三、基本思路1. 先用 iostat 发现磁盘 I/O 性能瓶颈;2. 再借助 pidstat ,定位出导致瓶颈的进程;3. 分析进程的 I/O 行为;4. 结合应用程序的原理,分析这些 I/O 的来源。...转载 2019-02-26 16:58:53 · 455 阅读 · 0 评论 -
Linux性能优化实战 28-29:sql 和 redis 导致磁盘I/O故障的两个例子
例子一、调用查询sql处理时, iowait 超过了 60%1. top命令查询状态 发现CPU0的 wa (iowait)很大,但CPU很小,属于异常。2. iostat 查询磁盘状态磁盘 sda 每秒的读数据为 32 MB, 而 I/O 使用率高达 97%,这说明磁盘sda遇到了性能瓶颈。3. pidstat 查询进程状态找到了磁盘 I/O 瓶颈的根源,...转载 2019-02-26 14:54:17 · 822 阅读 · 0 评论 -
Linux性能优化实战 43 网络性能指标
一、网络性能工具二、套接字套接字可以屏蔽掉 Linux 内核中不同协议的差异,为应用程序提供统一的访问接口。除此之外,套接字接口还提供了一些配置选项,用来修改网络连接的行为。1.为 TCP 连接设置 TCP_NODELAY 后,就可以禁用 Nagle 算法;2.为 TCP 连接开启 TCP_CORK 后,可以让小包聚合成大包后再发送(注意会阻塞小包的发送)...转载 2019-03-01 18:30:01 · 274 阅读 · 0 评论 -
Linux性能优化实战 41 : NAT
一、NAT原理1.NAT 技术能够重写 IP 数据包的源 IP 或目的 IP,让网络中的多台主机,共享同一个公网 IP 地址来访问外网资源。 达到解决公网 IP 地址短缺问题的目的。2.NAT 屏蔽了内网网络,也为局域网中机器起到安全隔离的作用。3.NAT 基于内核的连接跟踪模块实现。所以,它维护每个连接状态的同时,也会带来很高的性能成本。二、NAT性能1...转载 2019-03-01 17:45:20 · 662 阅读 · 0 评论 -
Linux性能优化实战 35:C10K 和 C1000K 问题
一、定义:1.C10K 就是单机同时处理 1 万个请求(并发连接 1 万)的问题2.C1000K 也就是单机支持处理 100 万个请求(并发连接 100 万)的问题、二、I/O 模型优化1. 两种 I/O 事件通知的方式:水平触发和边缘触发(1) 水平触发:只要文件描述符可以非阻塞地执行 I/O ,就会触发通知。 应用程序...转载 2019-02-26 20:18:39 · 1673 阅读 · 0 评论 -
nginx 反向代理 配置文件
/etc/nginx/nginx.conf文件添加:server { listen 443 ssl; #ssl on; server_name backstage.magiplay.com; access_log /data2/log/nginx/nginx_access.log ; ...原创 2019-03-29 17:19:48 · 1482 阅读 · 0 评论 -
Linux性能优化实战 47-48 服务器丢包的检测思路
一、消息收发流程图及丢包可能原因1.在网卡收包后,环形缓冲区可能会因为溢出而丢包;2.在链路层,可能会因为网络帧校验失败、QoS 等而丢包;3.在 IP 层,可能会因为路由失败、组包大小超过 MTU 等而丢包;4.在传输层,可能会因为端口未监听、资源占用超过内核限制等而丢包;5.在套接字层,可能会因为套接字缓冲区溢出而丢包;6.在应用层,可能会因为应用程序异...转载 2019-03-27 12:01:23 · 3611 阅读 · 0 评论 -
Linux性能优化实战 47-48 服务器丢包的检测思路
1. 执行 wrk 命令,来测试 Nginx 的性能可以看到吞吐量(也就是每秒请求数)只有 189,并且所有 1910 个请求收到的都是异常响应(非 2xx 或 3xx)。数据显然表明,吞吐量太低了,并且请求处理都失败。以下开始查找原因。2. 使用ss查看 TCP 连接数的汇总情况成功建立连接数太少了,是 timewait 状态太多了。3. 查看系统系统日志...转载 2019-03-27 16:01:30 · 1346 阅读 · 0 评论 -
linux 部分非常规软件安装方法
ab指令yum -y install httpd-toolsiperf3yum install epel-releaseyum install iperf3原创 2019-03-27 21:13:05 · 159 阅读 · 0 评论 -
c++ 常见基本类型的字节大小
一、 32位操作系统bool 1个字节char :1个字节(固定)short int : 2个字节(固定)int: 4个字节(固定)unsigned int : 4个字节(固定)float: 4个字节(固定)double: 8个字节(固定)long: 4个字节unsigned long: 4个字节long long: 8个字节(固定)二、64位操作系统...原创 2019-03-28 15:59:40 · 8717 阅读 · 0 评论 -
有价值资料索引
一、语言1. C++2. lua2.1tolua++ 参考手册中文版https://blog.csdn.net/zgl390963305/article/details/799488793. python3.1 一堆python面试题https://blog.csdn.net/weixin_41666747/article/details/799428473.2...原创 2019-07-25 11:30:29 · 187 阅读 · 0 评论 -
虚拟内存知识备忘
1. 内存容量一般指的是物理内存。进程是不能直接访问物理内存的。2. 内核给进程分配一个虚拟地址空间,这个地址空间是连续的。3.虚拟地址空间的内部又被分为内核空间和用户空间。32 位系统的内核空间1G,用户空间 3G 。4.内存映射,是通过页表的方式,将虚拟内存地址映射成物理内存地址。5.页表存储在 CPU 的内存管理单元 MMU 中。6. 不是所有的虚拟地址都会分配物...原创 2019-09-12 16:04:48 · 107 阅读 · 0 评论 -
Linux性能优化实战 40 :网络延迟问题
一、查看延迟情况1. 确定网络延迟,更常用的是双向的往返通信延迟RTT(Round-Trip Time)。2.很多网络服务会把 ICMP 禁止掉,所以需要使用traceroute 或 hping3 的 TCP 和 UDP 模式,来获取网络延迟。从 hping3 的结果中,你可以看到,往返延迟 RTT 为 20.9ms。traceroute 会在路由的每一跳发送三个包,并在...转载 2019-03-01 12:25:26 · 3996 阅读 · 0 评论 -
Linux性能优化实战 21:内存性能指标
一、内存性能指标二、内存性能工具 三、定位内存问题高效方法1. 先用 free 和 top,查看系统整体的内存使用情况。2. 再用 vmstat 和 pidstat,查看一段时间的趋势,从而判断出内存问题的类型。3. 最后进行详细分析,比如内存分配分析、缓存 / 缓冲区分析、具体进程的内存使用分析等。 四、优化内存方法1. 最好禁止 Swap。如...转载 2019-02-19 11:52:14 · 348 阅读 · 0 评论 -
Linux性能优化实战 39 :怎么缓解 DDoS 攻击带来的性能下降问题?
一、模拟DDOS攻击 运行 hping3 命令 如果现象不明显,那么把参数里面的 u10 调小,或者加上–flood 选项;二、确认DDOS攻击1. 执行命令变慢,正常客户端的连接超时了,并没有收到 Nginx 服务的响应。2. sar命令查看网络收发状况接收的 PPS 已经达到了 20000 多,但是 BPS 却只有 1...转载 2019-02-28 12:14:23 · 304 阅读 · 0 评论 -
Linux性能优化实战笔记 : 05 Top命令说明
副标题:某个应用的CPU使用率居然达到100%,我该怎么办?引自https://time.geekbang.org/column/140Top命令重要系统性能指标:(top 后输入 1,查看顶部 %Cpu0 ... 的信息) us: 用户态CPU使用率 sy: 内核态CPU使用率 ni:低优先级用户态 CPU 时间 wa:代表等待 I/O...转载 2018-12-03 17:45:08 · 1229 阅读 · 0 评论 -
Linux性能优化实战笔记 : 06 CPU使用率很高,但每个进程的使用率很低的一个原因
副标题:系统的 CPU 使用率很高,但为啥却找不到高 CPU 的应用?引自https://time.geekbang.org/column/140碰到常规问题无法解释的CPU使用率情况(比如top 1里显示的CPU使用率很高,但每个进程的使用率很低)时, 首有可能是短时应用导致的问题, 比如:1. 应用里直接调用了其他二进制程序, 这些程序通常运行时间比较短,通过top等工具也不容易发...转载 2018-12-03 20:17:50 · 1894 阅读 · 0 评论 -
Linux性能优化实战 07-08:ps命令查看进程状态,以及僵尸进程
一、进程的状态1. 查看进程状态: ps 命令的STAT字段, top命令的S字段2.进程状态说明: R:正在运行或等待运行 D:正在跟硬件交互,不允许被其他进程或中断打断 Z:僵尸进程,自身已结束但父进程没有回收资源 S:可中断睡眠状态,等待被唤醒 I:内核线程的空闲状态,不可中断二、判断僵尸进程是否对系统造成了影响 ...转载 2019-01-28 19:57:34 · 2589 阅读 · 0 评论 -
Linux性能优化实战 09-10:软中断 和 小包问题的查找
一、理解linux软中断 Linux 中的中断处理程序分为上半部和下半部。1.上半部对应硬件中断,用来快速处理中断。2.下半部对应软中断,用来异步处理上半部未完成的工作(延迟处理)。(1) 通常以内核线程的方式运行(2)一些内核自定义的事件也属于软中断,比如内核调度和 RCU 锁二、查看软中断和内核线程1./proc/interrupts 提供了硬...转载 2019-01-29 11:31:26 · 639 阅读 · 0 评论 -
Linux性能优化实战 11-12:CPU 性能指标
一、CPU性能指标1. CPU使用率(1) 用户CPU使用率:top 命令 us 字段和 nice字段 (低优先级)(2) 系统CPU使用率:top 命令 sy 字段(3) 等待 I/O 的 CPU 使用率:top 命令 wa 字段(4) 软中断和硬中断的 CPU 使用率: top 命令 ksoftirqd 进程对应的CPU使用率(5) 窃取CPU和客户CPU 2. 上...转载 2019-01-29 15:33:26 · 276 阅读 · 0 评论 -
Linux性能优化实战 15:内存映射、虚拟内存空间分布、内存分配与回收 和 查看内存使用
一、内存映射1. 通常所说的内存容量,指的是物理内存。进程是不能直接访问物理内存的。 Linux 内核给每个进程都提供一个独立的虚拟地址空间,这个地址空间是连续的。(也就是虚拟内存)2.虚拟地址空间的内部又被分为内核空间和用户空间。 32 位系统的内核空间占用 1G,位于最高处,剩下的 3G 是用户空间。 进程在用户态时,只能访问用户空间内存;...转载 2019-01-29 19:40:44 · 1326 阅读 · 0 评论 -
Linux性能优化实战 16-17:怎么理解内存中的Buffer和Cache? 怎么用工具观察?
一、磁盘和文件的区别1.磁盘是一个块设备,可以划分为不同的分区。 在分区之上再创建文件系统,挂载到某个目录,之后才可以在这个目录中读写文件。2.读写普通文件时,会经过文件系统,由文件系统负责与磁盘交互。 读写磁盘或者分区时,就会跳过文件系统,也就是所谓的“裸I/O“。二、查看Buffer和Cache1. free命令2.man free,可以...原创 2019-01-30 16:51:33 · 442 阅读 · 0 评论 -
Linux性能优化实战 23:文件系统
一、索引节点和目录项Linux 文件系统为每个文件都分配两个数据结构,索引节点 和 目录项。1.索引节点:简称为 inode,用来记录文件的元数据,比如 inode 编号、文件大小、访问权限、修改日期、数据的位置等。 索引节点同样占用磁盘空间。2.目录项:记录文件的名字、索引节点指针以及与其他目录项的关联关系。 ...转载 2019-02-22 12:02:16 · 652 阅读 · 0 评论 -
Linux性能优化实战 24-25:Linux 磁盘I/O是怎么工作的
Linux 磁盘 I/O 工作分三层: 设备层、通用块层 和 文件系统层一、设备层 也就是 磁盘。磁盘可以分为两类:机械磁盘和固态磁盘。1. 机械磁盘:缩写为 HDD。 I/O 请求连续,就不需要磁道寻址,可以获得最佳性能。 随机 I/O,需要不停地移动磁头,读写速度就会比较慢。 最小读写单位是扇区,一般大小为 512 字节。2. 固态磁盘:缩...转载 2019-02-22 17:23:27 · 447 阅读 · 0 评论 -
Linux性能优化实战 26-27:磁盘I/O故障的两个例子
例子一、疯狂写日志导致 iowait 超过了 90%1. top命令查询状态 发现CPU0的 wa (iowait)非常之大,属于异常。2. iostat 查询磁盘状态每秒写磁盘请求数是 64 ,写大小是 32 MB,写请求的响应时间为 7 秒,而请求队列长度则达到了 1100。超慢的响应时间和特长的请求队列长度,进一步验证了 I/O 已经饱和的猜想。3. pi...转载 2019-02-22 17:43:59 · 819 阅读 · 0 评论 -
Linux性能优化实战 36:网络性能测试方法
一、网络基准测试 Linux 网络基于 TCP/IP 协议栈,而不同协议层的行为显然不同。 评估的网络性能,需要确定评估协议栈的哪一层。1.基于 HTTP 或者 HTTPS 的 Web 应用程序,属于应用层,应该测试 HTTP/HTTPS 的性能;2.对大多数游戏服务器来说,通常会基于 TCP 或 UDP ,与客户端进行交互,应该测试TCP/UDP 的性能;...转载 2019-02-27 15:18:12 · 555 阅读 · 0 评论 -
Linux性能优化实战 37:DNS
一、域名与 DNS 解析1. DNS 协议在 TCP/IP 栈中属于应用层,不过实际传输还是基于 UDP 或者 TCP 协议(UDP 居多) ,域名服务器监听端口 53 。2. 域名以分层的结构进行管理,域名解析是用分层递归的方式(从顶级开始),发送给每个层级的域名服务器,直到得到解析结果。3. 查看服务器的域名服务器配置 /etc/resolv.conf4. DNS 服务通...转载 2019-02-27 17:01:07 · 507 阅读 · 0 评论 -
Linux性能优化实战 38:怎么使用 tcpdump 和 Wireshark 分析网络流量?
一、tcpdump1. 命令解释 tcpdump -nn udp port 53 or host 35.190.27.188 -nn :不解析抓包中的域名(即不反向解析)、协议以及端口号。 udp port 53 :只显示 UDP 协议的端口号(包括源端口和目的端口)为 53 的包。 host 35.190.27.188:表示只显示 IP地址(包括源地...转载 2019-02-27 18:12:25 · 343 阅读 · 0 评论 -
Linux性能优化实战 18:内存泄漏检测工具 memleak
1. 使用方式memleak -a -p $(pidof app)# -a 表示显示每个内存分配请求的大小以及地址# -p 指定案例应用的 PID 号2. 遇到问题: Couldn’t find .text section in /app,调用栈不能正常输出 参看原帖地址看解决办法:https://time.geekbang.org/column/1403.s...转载 2019-02-18 17:26:34 · 1677 阅读 · 0 评论 -
Linux性能优化实战 19-20:内存回收与swap
一、内存回收的两种方式1. 在内存资源紧张时,Linux 通过直接内存回收和定期扫描的方式,来释放文件页和匿名页。2.文件页的回收:直接清空,或者把脏数据写回磁盘后再释放。 缓存和缓冲区(前面说的buffer和cache的综合),就属于可回收内存,通常被叫做文件页。3.匿名页的回收:通过 Swap 换出到磁盘中,下次访问时,再从磁盘换入到内存中。 应用程序...转载 2019-02-18 18:00:19 · 946 阅读 · 0 评论