PostgreSQL部署:安装文档
简介PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。
PostgreSQL 开发者把它念作 post-gress-Q-L。
PostgreSQL 的 Slogan 是 “世界上最先进的开源关系型数据库”。
最新中文文档可参考:官方手册
特征
函数:通过函数,可以在数据库服务器端执行指令程序。
索引:用户可以自定义索引方法,或使用内置的 B 树,哈希表与 GiST 索引。
触发器:触发器是由SQL语句查询所触发的事件。如:一个INSERT语句可能触发一个检查数据完整性的触发器。触发器通常由INSERT或UPDATE语句触发。 多版本并发控制:PostgreSQL使用多版本并发控制(MVCC,Multiversion concurrency control)系统进行并发控制,该系统向每个用户提供了一个数据库的”快照”,用户在事务内所作的每个修改,对于其他的用户都不可见,直到该事务成功提交。
规则:规则(RULE)允许一个查询能被重写,通常用来实现对视图(VIEW)的操作,如插入(INSERT)、更新(UPDATE)、删除(DELETE) ...
研发工具:Jupyter
简介Free software, open standards, and web services for interactive computing across all programming languages
JupyterLab: A Next-Generation Notebook InterfaceJupyterLab is the latest web-based interactive development environment for notebooks, code, and data. Its flexible interface allows users to configure and arrange workflows in data science, scientific computing, computational journalism, and machine learning. A modular design invites extensions to expand and enrich functionality.
Jupyter No ...
OpenStack研发:Nova与Cyborg交互流程研究
本文只研究含有加速资源的虚机在生命周期管理的流程,即深挖Nova与Cyborg组件之间的交互流程,对Nova与其余组件的交互并不做详细展开,有兴趣可以对代码中具体函数进行深入分析。
组件版本
Nova:22.4.0(Victoria)
Cyborg: 5.0.1(Victoria)
Placement:4.0.0(Victoria)
社区支持情况
Nova supports only specific operations for instances with accelerators. The lists of supported and unsupported operations are as below:
Supported operations.
Creation and deletion.
Reboots (soft and hard).
Pause and unpause.
Stop and start.
Take a snapshot.
Backup.
Rescue and unrescue.
Rebuild.
Evacuate.
Shelve and unshel ...
NVIDIA使用:vGPU
vGPU选择NVIDIA 虚拟 GPU 软件产品包括 GRID 虚拟 PC (GRID vPC)、GRID 虚拟应用程序 (GRID vApp),以及 Quadro 虚拟数据中心工作站 (Quadro vDWS)。
vGPU推荐对比:https://www.nvidia.cn/data-center/graphics-cards-for-virtualization/
vGPU支持型号:https://docs.nvidia.com/grid/gpus-supported-by-vgpu.html
vGPU支持服务器:https://www.nvidia.com/en-us/data-center/resources/vgpu-certified-servers/
vGPU文档:https://docs.nvidia.com/grid/index.html
vGPU驱动安装
vGPU驱动说明:
A physical GPU that is passed through to a VM is bound to the vfio-pci kernel module. A physic ...
Python使用:通用手册
调试在需要调试的代码位置,加入如下代码,即可进入PDB交互式源代码调试模式。详细用法参考官方文档:pdb — Python 的调试器
1import pdb;pdb.set_trace()
命令
解释
break 或 b 设置断点
设置断点
continue 或 c
继续执行程序
list 或 l
查看当前行的代码段
step 或 s
进入函数
return 或 r
执行代码直到从当前函数返回
exit 或 q
中止并退出
next 或 n
执行下一行
pp
打印变量的值
help
帮助
常见问题python修改sys.path的三种方法sys.path是一个列表,存放的是python搜索模块时可以搜索的路径,启动python脚本时,会将执行当前命令所在的目录添加到这个列表中,而且是在列表的最前面,正是因为这个操作,你才能在自己的项目里引用自己编写的模块,当模块名称与第三方模块或系统模块冲突时,优先引用项目里的模块。通常,sys.path里的内容如下所示:
123>>> import sys>>> s ...
Linux运维:CPU load average过高
load average基础top命令中load average显示的是最近1分钟、5分钟和15分钟的系统平均负载。
系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:
它没有在等待I/O操作的结果
它没有主动进入等待状态(也就是没有调用’wait’)
没有被停止(例如:等待终止)
在Linux中,进程分为三种状态,一种是阻塞的进程blocked process,一种是可运行的进程runnable process,另外就是正在运行的进程running process。
进程可运行状态时,它处在一个运行队列run queue中,与其他可运行进程争夺CPU时间。 系统的load是指正在运行和准备好运行的进程的总数。比如现在系统有2个正在运行的进程,3个可运行进程,那么系统的load就是5。load average就是一定时间内的load数量。
一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机器的性能有严重问题。
CPU使用 ...
OpenStack研发:Trove Cluster Controller
概述对程序员来说,最好的文档就是源码。Trove 官方对于Clueter Controller能力的描述文档不多,给的参考例子只涉及到MongoDB集群,参考Set up database clustering。为了深入了解Trove的集群能力,本文档对Trove Cluster Controller的能力进行深入剖析,从API入手,解析如何构建整个后端数据库集群生命周期管理架构。摸清Trove现有能力的同时,梳理代码设计思路,为后续研发做准备。
版本
OpenStack Train版本(16 October, 2019)
Trove 12.1.0
备注:
在深入剖析Trove源码后,发现Trove在14.0.0后,调整了虚机内数据库服务的部署方式,从原先的直接RPM部署调整为Docker部署,优点就是横向扩展很容易,缺点是为了打通Trove虚机与Docker仓库的网络,导致Trove服务网络结构会比较复杂。Trove更新为docker后,留了一个深坑,就是原先已支持的数据库,现在很多都不支持了,Guest Agent正在重构。目前最新版本支持情况:MySQL 5.7.X, Mari ...
性能测试工具:Sysbench
简介源码地址:https://github.com/akopytov/sysbench
sysbench is a scriptable multi-threaded benchmark tool based on LuaJIT. It is most frequently used for database benchmarks, but can also be used to create arbitrarily complex workloads that do not involve a database server.
sysbench comes with the following bundled benchmarks:
oltp_*.lua: a collection of OLTP-like database benchmarks
fileio: a filesystem-level benchmark
cpu: a simple CPU benchmark
memory: a memory access benchmark
threads: a thread-b ...
Windows使用:通用手册
常见场景远程登录1mstsc
注册表win + R启动运行窗口,输入如下内容:
1regedit
计算MD512345678910111213certutil -hashfile <文件名> <hash类型># 生成MD5certutil -hashfile demo.txt MD5# 生成SHA1certutil -hashfile demo.txt SHA1# 生成SHA256certutil -hashfile demo.txt SHA256# 生成SHA512certutil -hashfile demo.txt SHA512
网卡MTU管理12345# 查看各网卡MTU值netsh interface ipv4 show subinterfaces# 修改指定网卡MTU值netsh interface ipv4 set subinterface <interface_name> mtu=<value> store=persistent
License管理参考文档:适用于 Windows Server 和 Windo ...
Nginx部署:安装文档
简介Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
部署Nginx基础环境准备12# 安装基础依赖包yum install -y make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
源码安装PCREPCRE 作用是让 Nginx 支持 Rewrite 功能。
123456789101112# 获取源码包cd /usr/local/src && wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz# 解压tar zxvf pcre-8.45.tar.gz && cd pcre-8.45# 编译安装./configuremake && make install# 查看pcre版 ...