fsync

Python--os模块

强颜欢笑 提交于 2020-08-05 00:00:16
  在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作, 这个时候就需要用到 os 模块 ,使用前先导入 os 模块,即: import os(该模块是系统自带的,直接导入就可以) 举例说明几个常用的OS模块下的方法 os.getcwd() 获取当前工作目录 os.chdir()切换工作目录 os.listdir() 返回指定目录下的文件名, 注:返回的是以列表形式 os.path.join() 连接目录或文件名 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, flags) 设置路径的标记为数字标记。 4 os.chmod(path, mode) 更改权限 5 os.chown(path, uid, gid) 更改文件所有者 6 os.chroot(path) 改变当前进程的根目录 7 os.close(fd) 关闭文件描述符 fd 8 os.closerange(fd_low, fd_high) 关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略 9 os.dup(fd) 复制文件描述符 fd 10 os.dup2

redis-info命令详解

余生长醉 提交于 2020-07-29 08:53:46
Server 服务器基本信息 # redis版本号 redis_version:5.0.3 # redis源码包git信息 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:da69b07a37c06dc8 # 运行模式(“独立”,“哨兵”或“集群”) redis_mode:standalone # 操作系统信息 os:Linux 3.10.0-514.el7.x86_64 x86_64 # 64位架构 arch_bits:64 # 编译运行的底层依赖信息 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:4.8.5 # 进程ID process_id:10040 # 实例运行的随机值标识符(sentinel和集群中有用) run_id:df903681f11f712523e0615cd4c7e45afbf500b6 # 端口 tcp_port:6379 # 运行时长 uptime_in_seconds:42593 # 运行时长(天) uptime_in_days:0 # 服务器的频率设置 hz:10 configured_hz:10 # LRU运作的时钟(分钟为单位) lru_clock:7473903 # 可执行文件 executable

Elasticsearch

前提是你 提交于 2020-07-27 10:46:11
1 Elasticsearch介绍   1、什么是 Elasticsearch ?       1. 使用 java 语言开发的一套开源的全文搜索引擎,建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎       2. 用于搜索、日志管理、安全分析、指标分析、业务分析、应用性能监控等多个领域       3. 底层基于 Lucene 开源库开发,提供 restAPI,可以被任何语言调用       4. 支持分布式部署,可水平扩展       5. 更新迭代快、社区活跃、文档丰富   2、es功能       1. 分布式的搜索引擎和数据分析引擎       2. 数据分析:电商网站,最近7天牙膏销量排行前十商家(举例)       3. 全文检索,结构化检索,数据分析       4. 全文检索:我想搜索商品名称包含牙膏的商品,select * from products where product_name like “%牙膏%”       5. 结构化检索:我想搜索商品分类为日化用品的商品都有哪些,select * from products where category_id=’日化用品’       6. 部分匹配、自动完成、搜索纠错、搜索推荐       7. 数据分析:我们分析每一个商品分类下有多少个商品,select category_id

MYSQL-innodb性能优化几个点

南楼画角 提交于 2020-07-25 09:47:44
MYSQL-innodb 性能优化 几个点 数据库 常用 参数 MYSQL 数据库的参数配置一般在 my.ini 配置(部分参数也可以用 set global 参数名 = 值 做临时调整,重启后失效),配置完后需要重启数据库才生效。 参数 1 : slow_query_log = 0|1 说明 : 开关慢查询日志。 slow_query_log_file = 为存放路径; long_query_time = 记录超过的时间,默认为 10s 。 参数 2 : join_buffer_size = MB 说明: join buffer 存放基于每 thread 的连接表信息,连接时,只需访问 join buffer , 不需要再去有并发机制保护的 cache. 参数 3 : Sort_Buffer_Size = MB 说明 : Sort_Buffer_Size 是一个 connection 级参数,每个 connection 第一次需要使用这个 buffer 的时候,一次性分配设置的内存。 Sort_Buffer_Size 并不是越大越好,由于是 connection 级的参数,过大的设置 + 高并发可能会耗尽系统内存资源。 官网 文档说 “On Linux, there are thresholds of 256KB and 2MB where larger values may

Redis持久化的四种方式(转)

会有一股神秘感。 提交于 2020-07-24 20:09:04
Redis 是一个支持持久化的内存 数据库 ,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式;二是Append-only file(缩写aof)的方式;三是虚拟内存方式;四是diskstore方式。下面分别介绍之。 (一)Snapshotting 快照是默认的持久化方式。这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。可以通过配置设置自动做快照持久化的方式。我们可以配置redis在n秒内如果超过m个key被修改就自动做快照,下面是默认的快照保存配置: save 900 1 #900秒内如果超过1个key被修改,则发起快照保存 save 300 10 #300秒内容如超过10个key被修改,则发起快照保存 save 60 10000 快照保存过程: 1. redis调用fork,现在有了子进程和父进程。 2. 父进程继续处理client请求,子进程负责将内存内容写入到临时文件。由于os的写时复制机制(copy on write)父子进程会共享相同的物理页面,当父进程处理写请求时os会为父进程要修改的页面创建副本,而不是写共享的页面。所以子进程的地址空间内的数据是fork时刻整个数据库的一个快照。 3. 当子进程将快照写入临时文件完毕后

What does it take to be durable on Linux?

风格不统一 提交于 2020-06-25 09:02:09
问题 I'm writing some software to deal with pretty critical data, and need to know what exactly I need to do to achieve durability. Everywhere I look is contradictory information, so I'd appreciate any insight. There are three ways I write to disk. Using O_DIRECT | O_DSYNC, and pread'ing and then pwrite'ing 512 byte - 16 MB blocks. Using O_DIRECT, pread'ing and then pwrite'ing 512 byte blocks, and calling fdatasync as regularly as necessary. Using a memory mapped file, which I call msync(..., MS

Redis配置文件详解

删除回忆录丶 提交于 2020-05-06 07:23:06
1.Redis文件目录 (1)全局搜索配置文件 redis.conf 所在目录,和Redis相关的参数配置都在此目录下设置。 [root@bigdata1 ~]# find / -name redis.conf (2)命令所在目录 在Redis安装目录下的bin目录,例如:/opt/redis-5.0.7/bin 2.Redis配置字段解析 [root@bigdata1 config]# cat redis.conf 1 #是否在后台执行,yes:后台运行;no:不是后台运行 2 daemonize yes 3 4 #是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。 5 protected-mode yes 6 7 #redis的进程文件 8 pidfile /var/run/redis/redis-server.pid 9 10 #redis监听的端口号。 11 port 6379 12 13 #此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端速度缓慢的时候,可以将这二个参数一起参考设定。该内核参数默认值一般是128

部署Redis4.x单机版及配置RDB和AOF持久化

孤街醉人 提交于 2020-05-03 21:19:35
一、环境及软件 OS   soft version CentOS 7.5 redis-4.0.12(目前是4.x最新) 二、下载及编译Redis [root@localhost ~]# wget http: // download.redis.io/releases/redis-4.0.12.tar.gz [root@localhost ~]# tar xf redis- 4.0 . 12 .tar.gz -C /usr/local/ [root@localhost ~]# cd /usr/local/ [root@localhost local]# ln -sv redis- 4.0 . 12 / redis [root@localhost local]# cd redis [root@localhost redis]#less README.md [root@localhost redis]#yum install tcl - y #安装依赖,需要 8.5及以上版本,如果yum没有可以到官网去下载源码编译安装 官方地址: https://sourceforge.net/projects/tcl/files/Tcl/ [root@localhost redis]#make [root@localhost redis]#make test [root@localhost redis

数据库之redis篇(2)—— redis配置文件,常用命令,性能测试工具

霸气de小男生 提交于 2020-05-03 20:41:45
redis配置 如果你是找网上的其他教程来完成以上操作的话,相信你见过有的启动命令是这样的: 启动命令带了这个参数:redis.windows.conf,由于我测试环境是windows平台,所以是这个,有的是redis.conf。顾名思义,redis.conf就是配置文件,然后启动时加上这个配置文件名的意思就是以配置文件里的配置参数来启动,比如你设置了密码,那么客户端连接就得输入密码了,等等。。。。 打开redis.conf文件看看: 里面一堆的这个,也不知道啥意思。这里可以从以下来一一对照 # 默认情况下,redis不是在后台模式运行的,如果需要在后台进程运行,把该项的值更改为yes,默认为no daemonize:是否以后台daemon方式运行 # 如redis服务以后台进程运行的时候,Redis默认会把pid写入/run/redis.pid文件组,你可以配置到其他文件路径。 # 当运行多个redis服务时,需要指定不同的pid文件和端口 pidfile:pid文件位置 # 指定redis监听端口,默认为6379 # 如果端口设置为0,Redis就不会监听TCP套接字。 port:监听的端口号 # 指定redis只接收来自于该IP地址的请求,如果不进行设置,默认将处理所有请求, # 在生产环境中最好设置该项 bind 127.0.0.1 # 设置客户端连接时的超时时间,单位为秒

REDIS参数配置

好久不见. 提交于 2020-05-03 18:16:28
1.参数说明 INCLUDES include /path/to/local.conf ## 引入多个配置文件,如果写在主conf 的开头,会被主conf后面的参数覆盖,如果想引入的配置文件覆盖主conf,就把该参数写到末尾 NETWORK bind 192.168.1.100 10.0.0.1 bind 127.0.0.1 ::1 ## bind:绑定redis服务器网卡IP,默认为127.0.0.1,即本地回环地址。这样的话,访问redis服务只能通过本机的客户端连接,而无法通过远程连接。如果bind选项为空的话,那会接受所有来自于可用网络接口的连接 port 6379 ## 指定redis运行的端口,默认是6379 timeout 0 ## 设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接。默认值为0,表示不关闭 tcp-keepalive ## 单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是300s,如果设置为0,则不会周期性的检测 ## timeout 是client多久没发命令就关闭该连接,keepalive是定期检查,检查到client没响应再关闭该连接 protected-mode yes ## 是否开启保护模式,默认开启