Redis部署:安装文档
简介Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster. Learn ...
MySQL部署:Galera Cluster
简介Galera Cluster是由Codership开发的MySQL多主结构集群,这些主节点互为其它节点的从节点。不同于MySQL原生的主从异步复制,Galera采用的是多主同步复制,并针对同步复制过程中,会大概率出现的事务冲突和死锁进行优化,就是复制不基于官方binlog而是Galera复制插件,重写了wsrep api。
异步复制中,主库将数据更新传播给从库后立即提交事务,而不论从库是否成功读取或重放数据变化。这种情况下,在主库事务提交后的短时间内,主从库数据并不一致。
同步复制时,主库的单个更新事务需要在所有从库上同步 更新。换句话说,当主库提交事务时,集群中所有节点的数据保持一致。
对于读操作,从每个节点读取到的数据都是相同的。对于写操作,当数据写入某一节点后,集群会将其同步到其它节点。
就各个集群方案来说,其优势为:
多主多活下,可对任一节点进行读写操作,就算某个节点挂了,也不影响其它的节点的读写,都不需要做故障切换操作,也不会中断整个集群对外提供的服务。
拓展性优秀,新增节点会自动拉取在线节点的数据(当有新节点加入时,集群会选择出一个Donor Node为新节点提 ...
Linux优化:脏数据回刷参数与调优
本文转自广漠飘羽 - Linux 脏数据回刷参数与调优
简介我们知道,Linux用cache/buffer缓存数据,且有个回刷任务在适当时候把脏数据回刷到存储介质中。什么是适当的时候?换句话说,什么时候触发回刷?是脏数据达到多少阈值还是定时触发,或者两者都有?
不同场景对触发回刷的时机的需求也不一样,对IO回刷触发时机的选择,是IO性能优化的一个重要方法。
Linux内核在/proc/sys/vm中有透出数个配置文件,可以对触发回刷的时机进行调整。内核的回刷进程是怎么运作的呢?这数个配置文件有什么作用呢?
配置概述在/proc/sys/vm中有以下文件与回刷脏数据密切相关:
配置文件
功能
默认值
dirty_background_ratio
触发回刷的脏数据占可用内存的百分比
0
dirty_background_bytes
触发回刷的脏数据量
10
dirty_bytes
触发同步写的脏数据量
0
dirty_ratio
触发同步写的脏数据占可用内存的百分比
20
dirty_expire_centisecs
脏数据超时回刷时间(单位:1/100s) ...
MySQL部署:Percona Server
简介Percona Server由领先的MySQL咨询公司Percona发布。Percona Server是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的情况了下将存储引擎更换成XtraDB 。
Percona团队的最终声明是“Percona Server是由Oracle发布的最接近官方MySQL Enterprise发行版的版本”,因此与其他更改了大量基本核心MySQL代码的分支有所区别。Percona Server的一个缺点是他们自己管理代码,不接受外部开发人员的贡献,以这种方式确保他们对产品中所包含功能的控制。
官网地址:http://www.percona.com/
CentOS系统环境配置
规格:4C8G,100G数据盘
系统:CentOS Linux release 7.9.2009 (Core)
MySQL版本:Percona Server 5.7.35-38
安装流程
下载地址:
Percona Server 5.7.35-38:https://pan.baidu.com/s/11N7a3WeZ-Qa-7in_X0fdMA 提取码:8p8f ...
存储测试:性能基准测试
主流测试软件介绍目前业内主流存储I/O测试软件有以下几款:
FIO:是一个开源压力测试工具,由Linux内核存储团队研发,主要用来测试硬盘io性能。这个工具的可定制性非常强,可以根据测试者的想法进行各种混合io测试,它支持13种不同类型io引擎(libaio、sync、mmap、posixaio、network等等)。它可以测试块设备或文件,可以通过多线程或进程模拟各种io操作,可以测试统计iops、带宽和时延等性能。我们主要使用fio工具进行存储性能测试。源码:Github FIO
vdbench:是一个 I/O 工作负载生成器,由Oracle研发,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。主要使用vdbench测试磁盘和文件系统的读写性能。
IOmeter:由Intel开发的一款免费软件,主要用于Windows和Linux平台上对磁盘子系统和网络IO做性能测试。Windows用的相对较多,Linux主要使用FIO和vdbench。
注意:
存储性能测试时,埋数据使用vdbench比FIO效果好,推荐使用 ...
MySQL测试:性能基准测试
常见指标
TPS:单位时间内所处理的事务数
QPS:单位时间内所处理的查询数
Latency:响应时延,通常参考95%请求所在的响应时延。
并发量:同时处理的查询请求数量
测试软件通常使用 sysbench 测试MySQL性能。sysbench是一款开源的多线程性能测试工具,由C语言编写,可以执行CPU、内存、线程、IO、数据库等方面的性能测试。
测试环境
规格:4C8G,100G数据盘
系统:CentOS Linux release 7.9.2009 (Core)
MySQL版本:Percona Server 5.7.35-38
sysbench版本:1.0.20
测试准备编译安装sysbench本文以“sysbench-1.0.20”版本、数据库以Percona Server为例,下载源码,并编译安装。
下载地址:
sysbench源码:https://github.com/akopytov/sysbench/releases
Percona Server 5.7.35-38:https://pan.baidu.com/s/11N7a3WeZ-Qa-7in_X0fdMA ...
MySQL优化:服务性能
性能优化优先顺序:
数据库结构设计和SQL语句
数据库存储引擎的选择和参数配置
系统选择和优化
硬件升级
服务器硬件CPU
64位的CPU一定要工作在64位的系统下
32位操作系统对单线程运行的MySQL有很大的限制
频率决定单个SQL处理快慢;核数决定并行处理SQL数量,即QPS
对于并发比较高的场景,CPU的数量比频率重要
对于CPU密集型场景或比较复杂的SQL,CPU频率越高越好
Web类应用,核数优先级大于频率
12345678# 查看CPU是否超频cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor# 查看CPU最大频率cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_max_freq# 查看CPU可用策略cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors
内存
内存选择时,应选择主板所能使用的最高频率的内存
内存的大小对性能很重要,所以要尽可能的大
在数据量大于内存时, ...
OpenStack研发:neutronclient
研发环境
python:3.6.8
python-neutronclient 7.1.0
源码neutronclient调用方法12345678910111213141516171819from keystoneauth1 import identityfrom keystoneauth1 import sessionfrom neutronclient.v2_0 import clientusername='admin'password='Inspur@123'project_name='admin'project_domain_id='default'user_domain_id='default'auth_url='http://111.111.9.190:35357/v3'auth = identity.Password(auth_url=auth_url, username=username, ...
OpenStack部署:Glance对接Cinder
Glance/Cinder-store-proposalGlance Cinder DriverThere is currently a Cinder store in Glance, however it does not support uploads and downloads. This is a proposal to allow Cinder to act as a data store for Glance images that supports upload and download by using Cinder volumes as containers for image data. There would be a 1-to-1 mapping of Glance images to Cinder volumes.
What are the benefits of this approach?This will allow Glance to store images on the large and diverse array of SAN and NAS ...
OpenStack部署:Trove
Building guest image1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950# 构建镜像踩的坑(基于Wallaby版源码做的修改):# 1. apt、pip源为国外源,下载慢,大概率失败,需要替换为国内源# 2. 编译ubuntu镜像时,宿主机为centos,导致pkg_map解析包名错误。需增加如下环境变量:export DISTRO_NAME=${guest_os}# 3. root密码没有,无法登陆。需下functions_qemu文件中,增加local root_password="inspur_trove@123"# 4. elements guest-agent中source-repository-guest-agent获取位置需要修改,调整为本地代码库及本地文件# 5. v版之后,guest-agent镜像切换为docker,docker image从docker源上下载。如果本地为htt ...