-
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件。采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务。下面是Redis2.8.9的配置文件各项的中文解释。#daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行,把该项的
-
做优化,我在这里引用淘宝系统分析师蒋江伟的一句话:只有勇于承担,才能让人有勇气,有承担自己的错误的勇气。有承担错误的勇气,就有去做事得勇气。无论做什么事,只要是对的,就要去做,勇敢去做。出了错误,承担错误,改正错误,这样的人没有人会去责怪。 很久之前就想写一篇关于mysql优化方面的文章了,忙于工作,在着也比较懒散。现在网上
-
隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误. 由于表的字段tu_mdn定义为varchar2(20),但在查询时把该字段作为number类型以where条件传给mysql,这样会导致索引失效. 错误的例子:select * from test where tu_mdn=13333333333; 正确的例子:select * from test w
-
单个服务器上创建多实例,对其重要参数的监控是非常重要的,以下是监控服务器上多实例的负载情况:主要包含:redis实例的QPS、内存使用情况、客户端连接数,服务器的内存使用率、CPU使用率、CPU load值、网卡流量等,脚本把采集到的数据显示并且写入到数据库中,方便查看多个服务器的多实例情况以及数据的汇总等,写的优点仓促,有兴趣的同学可以整理一下脚本使其模块化、简洁化。
-
redis属于单进程的服务,它主要受内存、CPU、磁盘IO(主要是做持久化),如果服务器配置比较高,多核CPU、高内存的服务器,可以考虑做redis多实例。做多实例之前,首先要考虑CPU和内存的利用,我在测试的时候发现,redis在QPS为6-8W左右的时候,这个redis所在的逻辑CPU核的负载就在100%左右,所以要优化CPU使用这块,目前一般是是做网卡软中断来实现
-
python中下载文件常用的几个模块有urllib,urllib2,requests,方法也很简单,代码如下:# Python 2 code
import urllib
import urllib2
import requests
-
mongodb创建集合命令db.createCollection详解完整的命令如下:db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>} )name:集合的名字capped:是否启用集合限制,如果开启需要制
-
zabbbix可以用于支持/不支持翻转的日志文件的集中监控与分析。当一个日志文件包含特定的字符或者字符模式时,zabbix向用户发送报警信息。要进行日志文件监控,以下是必须的zabbix客户端代理(Zabbix agent) 设置日志文件监控的监控项 被监控日志文件的大小取决于大文件支持。监控的出来的key值是匹配到的整行日志配置确认客户端代理参数确保在客户端代理文件中:‘Hostname’这个参
-
mongodb在2.4最新版本中对用户权限管理做了全新的调整,把权限细化了,增强了安全性,越来越像mysql的权限管理了。一、2.4之前的版本用户管理1、创建某个数据库的管理用户1.1、进入weiw数据库: >use weiw;1.2、添加用户(读写权限,readOnly-->false):>db.addUser("java","java");默认是拥有weiw数据库所有权限&
-
最近需要监控数据库每个表的增长量,其实在mysql中的information_schema.TABLES表中有记录表的大小,但是不准,要是计算每天每个表大小的话不是很准确,刚好我的mysql是独享表空间,所以只要计算出数据目录中的表文件大小即可实现这个目的。以下代码实现了计算在独享表空间下,计算数据库中所有表的物理大小,并计算整个mysql数据库目录的大小和数据库目录所在分区的剩余空间。以下是代
-
本脚本主要解决批量查看mysql多从状态和修改多从主库指向,并打印出执行结果。适用于主库没有做高可用或是做高可用但是V-IP没有漂移到新的主库上的问题。代码如下:#!/usr/bin/env python
# -*- coding: utf-8 -*-
import MySQLdb,sys,os,threading,time
user = 'root'
passwd = '1q2w3e4r'
#
-
因为数据库增删改突然暴增,需要查询是那些表的操作特别频繁,写了一个用来分析bin-log的小工具,找出增删改查的表,并按照操作次数降序排列,以下是代码:#for mysql5.5 binlog
import os,sys
#python binlog.py binglog-0001 '2013-07-01 00:00:00' '2013-07-02 00:00:00'
def log_w(type
-
好多朋友都遇到过python推算时间的问题,有些把时间转换成整数做推算,这样遇到特殊的时间和日期就会出现错误,在python中时间的推算很简单,主要就是用到datetime.timedelta方法,进行时间的加n减n运算:>>>import datetime
>>> d1 = datetime.datetime.now()
>
-
python用paramiko模块默认中只可以上传文件,在网上也没有找到合适的直接上传目录的方法,所以用os.walk方法和paramiko结合写了一个上传目录的方法,代码如下:#!/usr/bin/env python
import paramiko,datetime,os
hostname='192.168.1.100'
username='root'
pa
-
我们经常会遇到监控一个文件或目录的变化,如果有变化,把文件上传备份至备份主机,并且我们还要监控上传过程是否有问题等,根据此需求,查阅了相关的一些材料,编写如下脚本实现这个功能:#!/usr/bin/env python
#coding=utf-8
#######################
#
#Status wd gs/ccs sql file chang
-
python生成二维码,常用的模块有pyqrencode和qrcode。一、用pyqrencode模块生成二维码安装pyqrencode模块很复杂,依赖的东西也比较多,经过测试总结以下安装过程:1、下载Cython:https://pypi.python.org/packages/source/C/Cython/Cython-0.19.1.tar.gz安装:tar -zxf Cython-0.19
-
linecache模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行。linecache.getlines(filename) 从名为filename的文件中得到全部内容,输出为列表格式,以文件每行为列表中的一个元素,并以linenum-1为元素在列表中的位置存储linecache.getline(filename,lineno) 从名为
-
一、计算文件的行数 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了:count = len(open(filepath,'rU').readlines()) 如果是非常大的文件,上面的方法可能很慢,甚至失效.此时,可以使用循环来
-
python中用string.maketrans和translate巧妙替换字符串 将nginx日志中字符串 [2013-07-03T00:29:40-05:00] HTTP 格式化为:"2013-07-03 00:29:40-05:00" 整条日志如下:92.82.22.46 - -
-
python中字符串的ljust、rjust、center方法讲解这三种方法的用法差不多:S.ljust(width[, fillchar]),即长度加占位符,默认为空格,这三种在格式化输出时用着非常方便。如:>>> a="Hello world">>> print a.rjust(20)'
-
最近学python的人比较多,今天讲一下python的基础:python脚本的规范、缩进、编写功能函数时注意事项等,这些都是自己编程过程中的心得体会。一、python脚本的规范: 每个脚本都有自己的规范,以下的规范不是强制的,但是规范一下,可以使你的脚本规范、易懂、方便使用。#!/usr/bin/env python# -*- coding:
-
写了一个循环检测端口的程序,循环的次数多了,会报Errno 9: Bad file descriptor in python socket错误。程序如下:def Scan_port(host,port):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#socket.setdefaultt
-
写windowns下的报警程序,有一个报警声音的实现,在python中有个winsound模块可以来实现,方法也很简单:import time
import winsound
def play_music():
winsound.PlaySound('alert', winsound.SND_ASYNC)
time.sleep(3)
-
今天修改服务器密码,想来想去不知道设置什么密码比较好,索性设置随机数吧。python当中的random模块可以生成随机数,主要用这个生成随机密码。 顺便在讲一下string模块中的3个函数:string.letters,string.printable,string.printable。以下是这几个函数的输出,大家可以看一下,不用多讲:>
-
计算类型的key定义主要是根据已定义过的key值来计算的。例如创建一个计算linux服务器内存实际使用大小的监控项(计算方法为:vm.memory.size[total]-vm.memory.size[cached]-vm.memory.size[free]),方法如下: 1、在模板中或是主机中选择监控项---->选择Create ite
-
利用Python将阿拉伯数字转化为中文大写,其实最麻烦的地方就是中间空多个0的问题,这种情况下,采用拆分法则,将一个大数字,先拆分成整数部分和小数部分,再对整数部分按照仟、万、亿、兆分位拆分为四个字符串组成的List,每个字符串最多4个字符,然后对每个分位的字符串用大写函数转换成大写,最后合并,这样等于缩减了问题,处理就相对简单了。#!/usr/bin/env pyth
-
我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数。全部函数可以用help(os)或是dir(os)查看其用法。常用的函数如下:1.重命名:os.rename(old, new)
2.删除:os.remove(file)
3.列出目录下的文件 :os.listdir(path)
4.获取当前工作目录:os.
-
最近研究了一下linux BT服务器环境的搭建,需要在linux下制作BT种子并获取BT种子信息,整理了一下这个过程:制作BT种子软件下载地址:http://jaist.dl.sourceforge.net/project/mktorrent/mktorrent/1.0/mktorrent-1.0.tar.gz安装:[root@localhost src]# tar zxf mktorrent-1
-
最近用python的wx模块写了一些窗口,其中wx.Frame是一个最重要的窗口框架,上网上查找了一些材料,其常用的属性用法如下:wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, name="fra
-
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'
AIOPS_DBA
分享到朋友圈
- 关注技术:python Mysql 集群
- 入住博客:2006-11-11 14.2年