月度归档:2018年05月

使用ansible + git + python搭建部署系统

Ansible

ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具。这个工具的目标有这么几项:让我们自动化部署APP;自动化管理配置项;自动化的持续交付;自动化的(AWS)云服务管理,基于 paramiko 开发。 这个paramiko是什么呢?它是一个纯Python实现的ssh协议库。所以就不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。

安装

以centos为例

sudo yum install ansible

安装完成,配置文件默认在/etc/ansible/ansible.cfg 为了方便后续的开发,需要修改配置文件

#失败后不在本地生成retry文件,终端也不输出
retry_files_enabled = 
阅读全文

后端资源优化的一些小技巧

随着服务端流量的不断递增,对底层资源的依赖也越来越重,连接数增多,IO负载高等,很多性能瓶颈由此产生。下面主要谈谈DB/Redis/Mc这些核心资源的优化。

  1. DB DB的查询会触发磁盘IO,我们知道IO的代价是很高的,所以DB的优化主要从降低IO次数着手。

a. 优化慢查询 优化慢查询主要考虑从索引入手,众所周知,Innodb索引存储结构为B+树,真正的数据项只存在于叶子节点,所以要考虑降低树的查询长度,例如:有一表的列字段如下

`card` varchar(10) DEFAULT NULL,
UNIQUE KEY `idx_card` (`card`),
explain SELECT * FROM `table` WHERE 
阅读全文