DB常用
DB常用查询ASM磁盘组空间123456789101112131415161718192021-- 查看ASM磁盘组总空间和剩余空间SELECT name AS "磁盘组名称", total_mb AS "总大小(MB)", free_mb AS "剩余空间(MB)", usable_file_mb AS "可用文件空间(MB)", ROUND((1 - free_mb/total_mb) * 100, 2) AS "使用率(%)"FROM v$asm_diskgroupORDER BY (1 - free_mb/total_mb) DESC;-- 查看ASM磁盘详细信息SELECT group_number AS "磁盘组号", disk_number AS "磁盘号", name AS "磁盘名称", total_mb AS "总大小(MB)", ...
TOP 发现高CPU占用进程 跟踪定位
TOP 发现高CPU占用进程 跟踪定位方法1: 检查 /proc/PID/cmdline查看进程的命令行参数:
1cat /proc/<PID>/cmdline | tr '\0' ' '
结果解释:
如果 bash 是直接执行某个命令(如 bash -c "while true; do echo 'loop'; done"),此处会显示完整命令。
如果 bash 是交互式终端或脚本解释器,可能只显示 bash 本身(无具体命令)。
方法 2:查看进程打开的文件(lsof)检查进程打开的文件句柄,尤其是当前工作目录或脚本文件:
1lsof -p <PID>
重点关注:
cwd:进程的当前工作目录。
txt 或 REG 类型的文件:可能是正在执行的脚本或二进制文件。
方法 3:追踪进程的系统调用(strace)通过 strace 动态追踪进程的系统调用(需要权限):
1sudo strace -p <PID> -s 9999 -f 2>&1 | ...
服务器允许连接网段配置
测试数据库服务器允许连接网段配置涉及修改静态路由表,请确保操作无误涉及修改静态路由表,请确保操作无误涉及修改静态路由表,请确保操作无误
一、操作步骤 操作是基于 保持双路由 的方式进行的,且不持久化,如有需要自行调整
预处理(配置备份)
12# 备份当前路由表ip route show > /backup/route-conf/backup_$(date +%Y%m%d).conf
渐进式路由调整
按需修改掩码配置
12345# 添加新路由(/27掩码覆盖228-255)ip route add 10.8.15.224/27 via 172.16.28.13 dev eth1 metric 100# 保留原240/28路由(metric值更高)ip route change 10.8.15.240/28 via 172.16.28.13 dev eth1 metric 200
验证阶段
123456# 查看生效路由ip route get 10.8.15.228 # 应显示走eth1ip route get 10.8.15.240 # 应显示走eth1但met ...
服务器 Tomcat 单机单实例 改 多实例软负载均衡
服务器 Tomcat 单机单实例 改 多实例软负载均衡
操作日期:2025/03/11
记录日期:2025/03/11
文尾我给出了我Nginx和Tomcat完整的配置文件,可以看看(Tomcat只修改了server.xml)
部分数据因安全考虑未给出
一、操作前环境确认
系统内核:CentOS Linux release 7.2.1511 (Core)
硬件配置:12C16G
软件配置:
Tomcat路径:/xxx/www/apache-tomcat-7.0.88
未安装Nginx
Tomcat版本:apache-tomcat-7.0.88
二、多实例配置、Nginx软负载均衡配置1. 备份现有环境
备份Tomcat目录:
1cp -r xxxwww/apache-tomcat-7.0.88 xxxwww/apache-tomcat-7.0.88_backup
2. 确认现有服务状态
检查Tomcat运行状态: 12ps -ef | grep tomcatnetstat -tunlp | grep ...
PHP代码咋执行的?
PHP代码咋执行的?
PHP是门解释型语言,所以理论上来说,和Java、Python的执行过程差不多
如果,发现错误的话直接编辑改掉就好,如果闲的话可以加条勘误日志在最后
文章中可能会有一些扩展出去的知识点,不看也不会影响主体问题的了解,所以,看你时间了
下面的流程以PHP7举例,一是因为PHP7开始引入了AST,二是我懒得切其他版本了,当然,也有一小点原因是因为:搜的资料都是PHP7的
铺垫
解释型语言、编译型语言?
通俗来讲:
编译型语言(*详细了解点我,推荐看一下*):代码执行之前,就将代码“翻译”成汇编语言,再根据软硬件环境编译成目标文件。干这活的我们称为编译器
(还记得大学学过的 g++ 1.cpp -o 1.out吧,这就是一次完成的编译过程)
解释型语言(看正文就行,以PHP代码为例):代码执行时,才将代码“翻译”成机器语言,一般每执行一次“翻译”一次,所以执行效率低。这里干“翻译”这个活的我们称为解释器
总结:对编译型语言与解释型语言的区别的理解,立足于源代码被编译成目标平台CPU指令的时机。对于编译型语言,编译结果已经是针对当前CPU体系的指令;而解释型语言 ...
PHP小知识点
PHP小知识点基础东西CLI
CLI模式下运行PHP代码的三种方式:
运行文件:
1php source.php
直接运行php代码:
1php -r 'phpinfo()';
交互模式
1php -a #进入交互模式
CGI模式
啥是CGI?
简单来说:
背景:早期Web服务器都只能响应静态资源,为了使服务器能直接运行动态脚本,即解决Web服务器和外部应用程序(CGI程序)之间的数据交互,出现了CGI(Common Gateway Interface,通用网关接口)
简单理解:CGI是Web服务器和运行在其上的应用程序进行“交流”的一种约定
具体可以看这个文章,带着如下问题去看可以:CGI是什么
CGI如何实现数据的输入输出
CGI 的的缺点?
如果使用Apache作为web服务器,是如何调用php解释器的?为什么每次修改php.ini文件都需要重启Apache呢?
FastCGI和CGI啥关系?一句话概括下是啥?
FastCGI和PHP-FPM啥关系?
PHP-FPM创建多个CGI子进程,当有请求进入时,怎么分配谁处理?如果有CGI嘎掉了,FP ...
网络不互通git仓库代码如何镜像?
网络不互通git仓库代码如何镜像?
这里的网络不互通示意如下
仓库操作如下:
1234567891011121314# 假设现在要从 repoA 迁移仓库到repoB# 完整克隆要迁移的仓库,包含分支和代码# 使用--mirror选项克隆,它会克隆所有的分支、标签以及提交记录,创建一个裸仓库(bare repository)。这意味着这个克隆包含了仓库的所有Git数据,但没有工作目录的文件git clone --mirror <repoA-URL> old.git 你 # 在 repoB 上创建一个新的代码库,保存仓库URL# 修改 repoA 代码库的远端地址cd old.gitgit remote add repoB <repoB-URL># 推送仓库到 repoB# --mirror选项会推送所有的引用(包括分支、标签等)git push --mirror repoB
开发人员修改远端仓库地址
不保留旧远端地址
1git remote set-url origin <repoB-URL>
保留旧远端地址
12345678# 备份原来 ...
MySQL 8.0.x 安装后配置远程链接和修改root密码
MySQL 8.0.x 安装后配置远程链接和修改root密码1.安装MySQL1sudo apt install mysql-server
2.登录MySQL,修改root密码123456789# 登录MySQLsudo mysql# 换到MySQL数据库use mysql;# 修改密码、刷新权限ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '410000';FLUSH PRIVILEGES;
3.配置远程连接用户123CREATE USER 'root'@'%' IDENTIFIED BY '410000';GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;
修改配置文件中MySQL的监听ip和端口
1sudo vi ...
Docker小知识
Docker小知识docker镜像下载到本地,并导入其他机器docker
拥有镜像的机器
docker images 查看本地镜像
docker save mysql:5.7.38-debian > /home/liuyongkai/mysql5.7.38-debianmysql:5.7.38-debian为镜像Name
拷贝镜像文件到本地
目标机
上传文件到本地
docker load < mysql5.7.38-debian
查看目标及镜像,看是否load成功
如果镜像的REPOSITORY和TAG为none,则通过docker tag c39b1bfebc65 mysql:5.7.38-debian来修改标签
DockFile1.Dockerfile是干啥的可以这么理解
Dockfile是原材料
Docker镜像是软件的交付品
Docker容器则可以认为是软件镜像的运行态,即依照镜像运行的容器实例
Dockfile面向开发,Docker镜像则是交付标准,Docker容器则涉及部署和运维,三者缺一不可
2.Dockfile基础机制
每条保 ...
F5 实现负载均衡
F5 实现负载均衡
所有信息为笔者搜集学习总结,若有错误不当之处,烦请指出
F5?好奇怪的名字
这就得从两方面说起了
F5是什么
为啥叫F5
F5是什么?
F5是通过硬件实现了负责均衡的设备,相对的为通过Nginx软件层面实现负责均衡
何为负责均衡?
通俗来讲,就是将客户端的流量通过 F5(负责均衡器) 负载到各个服务器,实现各个服务器之间的压力、负载相对一致、可控,以增加吞吐量、降低服务器的压力。避免“一核有难,七核围观”。
比如,有 5 台应用服务器,这时候来了50个http请求,就需要合理转发这50个请求,例如 5 10 15 10 10 的分发方式,避免大部分都转发到一台服务器上,导致一台服务器负载居高不下,其他服务器在摸鱼
为啥叫F5
因为 用的最多的 硬件负载均衡设备就是 F5 家的
F5成立于1996年,同年有一部电影叫 《龙卷风》(Twister)。F5就取自龙卷风风力的最高等级-F5。
F5咋干活的?干活之前先看看概念基础术语:
在开始之前,让我们先复习一下负载均衡的基本术语。如果每个人使用的都是同一套词汇,这个环节将会容易得多;但遗憾的是,每一 ...