pv

Print pv output (stderr) to file

和自甴很熟 提交于 2021-02-10 05:33:09
问题 How can I print the stderr output of pv to a file? For example: timeout 5s dd if=/dev/random | pv -r > /dev/null [ 505kiB/s] The rate line output is "updated" over the course of my five second timeout. I tried this but it does not work (log is empty): timeout 5s dd if=/dev/random | pv -r > /dev/null 2> rates.log I believe it has something to do with carriage returns in the stderr output, but after an hour I am stuck. Ideally my log file would have multiple lines each time pv prints a new

Bash process substitution behaves differently than named pipe?

房东的猫 提交于 2020-06-16 16:58:47
问题 Kind of a follow up to this question. I use bash process substitution expecting to see 5 lines of output (corresponding to 5s timeout) however I only see 4 lines: timeout 5s dd if=/dev/random | pv -fr > /dev/null 2> >(tr '\r' '\n' >&2) [5.42kiB/s] [1.89kiB/s] [5.36kiB/s] [2.41kiB/s] However if I place a named pipe in the middle I do get the 5 lines as expected. First shell: mkfifo testfifo cat testfifo | tr '\r' '\n' >&2 Second shell: timeout 5s dd if=/dev/random | pv -fr > /dev/null 2>

数据仓库中的 SQL 性能优化(MySQL篇)

淺唱寂寞╮ 提交于 2020-04-06 22:04:47
做数据仓库的头两年,使用高配置单机 + MySQL的方式来实现所有的计算(包括数据的ETL,以及报表计算。没有OLAP)。用过MySQL自带的MYISAM和列存储引擎Infobright。这篇文章总结了自己和团队在那段时间碰到的一些常见性能问题和解决方案。 P.S.如果没有特别指出,下面说的mysql都是指用MYISAM做存储引擎。 1. 利用已有数据避免重复计算 业务需求中往往有计算一周/一个月的某某数据,比如计算最近一周某个特定页面的PV/UV。这里出现的问题就是实现的时候直接取整周的日志数据,然后进行计算。这样其实就出现了重复计算,某一天的数据在不同的日子里被重复计算了7次。 解决办法非常之简单,就是把计算进行切分,如果是算PV,做法就是每天算好当天的PV,那么一周的PV就把算好的7天的PV相加。如果是算UV,那么每天从日志数据取出相应的访客数据,把最近七天的访客数据单独保存在一个表里面,计算周UV的时候直接用这个表做计算,而不需要从原始日志数据中抓上一大把数据来算了。 这是一个非常简单的问题,甚至不需要多少SQL的知识,但是在开发过程中往往被视而不见。这就是只实现业务而忽略性能的表现。从小规模数据仓库做起的工程师,如果缺乏这方面的意识和做事规范,就容易出现这种问题,等到数据仓库的数据量变得比较大的时候,才会发现。需求决定能力。 2 . case when 关键字的使用方法

Zabbix 监控网站的访问量

邮差的信 提交于 2020-03-26 17:31:09
需求:监控网站pv和uv的总量和5分钟内的pv和uv的增量 1. PV、UV是什么? UV:独立访客,每个独立上网电脑视为一位访客,一天之内网站的访客数量 PV:访问量,页面浏览量或者点击量,用户每访问一次记录一次 2. 根据的访问日志统计网站PV 和UV总量 [root@server-web scripts]# cd /usr/local/zabbix/scripts/ [root@server-web scripts]# cat pvuv_number.sh #/bin/bash #desc: used nginx pv and uv uv_number(){ cat /usr/local/nginx/logs/access.log |awk '{print $1}'|sort|uniq|wc -l } pv_number(){ cat /usr/local/nginx/logs/access.log |awk '{print $7}'|wc -l } case $1 in uv|UV) uv_number; ;; pv|PV) pv_number; ;; esac exit 0 [root@server-web scripts]# chmod 755 pvuv_number.sh [root@server-web scripts]# chown zabbix:zabbix

kubernetes 的pv/pvc存储

。_饼干妹妹 提交于 2020-03-26 11:06:50
kubernetes 的pv/pvc存储 标签(空格分隔): kubernetes系列 一: kubernetes的PV/PVC存储 一: kubernetes的PV/PVC存储 1.1 pv PersistentVolume (PV) 是由管理员设置的存储,它是群集的一部分。就像节点是集群中的资源一样,PV 也是集群中的资源。 PV 是 Volume 之类的卷插件,但具有独立于使用 PV 的 Pod 的生命周期。此 API 对象包含存储实现的细节,即 NFS、 iSCSI 或特定于云供应商的存储系统 1.2 pvc PersistentVolumeClaim (PVC) 是用户存储的请求。它与 Pod 相似。Pod 消耗节点资源,PVC 消耗 PV 资源。Pod 可以请求特定级别的资源 (CPU 和内存)。声明可以请求特定的大小和访问模式(例如,可以以读/写一次或 只读多次模式挂载) 1.3 静态 pv 集群管理员创建一些 PV。它们带有可供群集用户使用的实际存储的细节。它们存在于 Kubernetes API 中,可用 于消费 1.4 动态 当管理员创建的静态 PV 都不匹配用户的 PersistentVolumeClaim 时,集群可能会尝试动态地为 PVC 创建卷。此 配置基于 StorageClasses :PVC 必须请求 [存储类]

运用PV心法解决多线程问题

强颜欢笑 提交于 2020-03-23 11:00:32
3 月,跳不动了?>>> 总结写在前面: 1.注意设置的信号量的初值。 2.不管如何变,只要牢牢的抓住同步和互斥来分析问题。 3. 先靠滤同步情况即所有“等待”情况。有几个 “ 等待”信号量类型就有几个。 4. 接下来 靠滤 要互斥处理的资源。 先讲讲 PV 操作的起源和用法。 1962 ,荷兰学者 Dijksrta 在参与 X8 计算机的开发中设计并实现了具有多道程序运行能力的操作系统 ——THE Multiprogramming System 。为了解决这个操作系统中进程(线程)的同步与互斥问题,他巧妙地利用火车运行控制系统中的“信号灯”( semaphore ,或叫“信号量”)概念加以解决。信号量的值大于 0 时,表示当前可用资源的数量;当它的值小于 0 时,其绝对值表示等待使用该资源的进程个数。注意,这个信号量的值仅能由 PV 操作来改变。 PV 操作由 P 操作原语和 V 操作原语组成(原语也叫原子操作 Atomic Operation ,是不可中断的过程),对信号量(注意不要和Windows中的 信号量机制 相混淆)进行操作,具体定义如下: P(S) : ①将信号量 S 的值减 1 ,即 S=S-1 ; ②如果 S>=0 ,则该进程继续执行;否则该进程置为等待状态。 V(S) : ①将信号量 S 的值加 1 ,即 S=S+1 ; ②该进程继续执行

Kubernetes系列之基于NFS的PV动态供给(StorageClass)

被刻印的时光 ゝ 提交于 2020-03-22 23:28:41
一、简介 PersistentVolume(PV)是指由集群管理员配置提供的某存储系统上的段存储空间,它是对底层共享存储的抽象,将共享存储作为种可由用户申请使的资源,实现了“存储消费”机制。通过存储插件机制,PV支持使用多种网络存储系统或云端存储等多种后端存储系统,例如,NFS、RBD和Cinder等。PV是集群级别的资源,不属于任何名称空间,用户对PV资源的使需要通过PersistentVolumeClaim(PVC)提出的使申请(或称为声明)来完成绑定,是PV资源的消费者,它向PV申请特定大小的空间及访问模式(如rw或ro),从创建出PVC存储卷,后再由Pod资源通过PersistentVolumeClaim存储卷关联使,如下图: 尽管PVC使得用户可以以抽象的方式访问存储资源,但很多时候还是会涉及PV的不少属性,例如,由于不同场景时设置的性能参数等。为此,集群管理员不得不通过多种方式提供多种不同的PV以满不同用户不同的使用需求,两者衔接上的偏差必然会导致用户的需求无法全部及时有效地得到满足。Kubernetes从1.4版起引入了一个新的资源对象StorageClass,可用于将存储资源定义为具有显著特性的类(Class)而不是具体的PV,例如“fast”“slow”或“glod”“silver”“bronze”等。用户通过PVC直接向意向的类别发出申请

PV,UV,IP

╄→尐↘猪︶ㄣ 提交于 2020-03-22 20:06:00
参加了DTCC归来之后,各大电商技术大牛都会自豪的分享一下自己公司网站的PV,流量等等。当时也是一知半解,回来之后赶紧查了查,也算是扫扫盲。 以下摘自网络中,自己稍稍做了整理,对于PV,流量和带宽的理解,可以分成几个问题可能更加容易理解。 问题1:首先什么是PV, 技术角度讲, 1个PV是指从浏览器发出一个对网络服务器的Request,网络服务器接到Request之后,会开始把该Request对应的一个Page(Page就是一个网页)发送到客户端的浏览器上,恭喜,这就是一个Page View 对这个概念从业务上更加细化,就是一个访问者在24小时(0点到24点)内到底看了你网站几个页面。这里需要强调:同一个人浏览你网站同一个页面,不重复计算pv量,点100次也算1次。说白了,pv就是一个访问者打开了你的几个页面。 pv的计算:当一个访问者访问的时候,记录他所访问的页面和对应的IP,然后确定这个IP今天访问了这个页面没有。如果你的网站到了23点,单纯IP有60万条的话,每个访问者平均访问了3个页面,那么pv表的记录就要有180万条。 问题2: 假设一个网站流量是4000GByte/月,: 这到底是多少的带宽(单位是Mbit/s)?以及这4000GB流量可以支持多少IP访问呢? 首先,你自己算一下你的网站有多少PV(页面访问量,1个独立IP可能有多个PV)

网站访问统计PV、UV和IP数详解

半城伤御伤魂 提交于 2020-03-20 09:10:32
3 月,跳不动了?>>> 网站统计或者网站运营经常会提供的PV、UV和IP数分别指什么?PV是指页面浏览量、UV是指独立访客数、IP是指IP数,码笔记来说说网站访问统计PV、UV和IP数详解: 什么是PV、UV和IP? PV (Page View):网站页面浏览量或点击量,PV用来计算用户访问的网页数量。 举例:访客打开码笔记网站,访客进入网站后,一口气浏览5个页面,那么PV数就是5。 UV (Unique Visitor):独立访客数,访问网站客户端(PC电脑或者移动手机等客户端)作为一个访客,判断访客客户端身份是通过访客本地的cookies来实现的。 举例:访客访问码笔记网站,根据用户客户端存储的cookies来判断并计算1个UV数。假设同一个用户,清除了cookies后,再次访问码笔记网站,则UV数会涨1个;假设该用户,更换了IP,但是没有清除cookies,则UV数不做计算。 IP (Internet Protocol):独立IP数,IP数是指一天内有多少个独立IP访问了网站,同一个IP不管访问了多少个网站页面,均计算为1个IP数。 举例:假设同一局域网中,对外访问公网使用的是同一个IP,而该局域网下有多台电脑,这些用户都来访问码笔记网站,只会记录一个1IP数,但是会被计算为多个UV。 综上,码笔记来总结一下网站统计中PV、UV和IP数。 访客访问了码笔记网站

QPS、PV、UV、RT 之间的关系

落花浮王杯 提交于 2020-03-16 09:51:10
QPS: 每秒查询率(Query Per Second),每秒的响应请求数,也即是最大吞吐能力。 QPS = rep/sec = 请求数/秒 QPS 统计方式【一般使用http_load进行统计】 QPS = 总请求数 / (进程总数 *请求时间) QPS: 单个进程每秒请求服务器的成功次数 峰值 QPS: 每天 80% 的访问集中在 20% 的时间里,这 20% 的时间叫做峰值时间 公式: (总 pv 数 * 80%)/ (每天秒数 * 20%) = 峰值时间每秒请求数据(QPS) PV: 访问量即 Page View,即页面浏览量或点击量,用户每次刷新即被计算一次单台服务器每天 PV 计算 公式1: 每天总 PV = QPS * 3600 * 6 公式2: 每天总 PV = QPS * 3600 * 8 UV: 独立访客即 Unique Visitor,访问您网站的电脑哭护短为一个访客,00:00-24:00 内相同的客户端只被计算一次服务器数量 机器: 峰值时间每秒 QPS / 单台机器的 QPS = 需要的机器 机器: ceil (每天总 PV / 单台服务器每天总 PV) 并发数: 并发用户数是指系统可以同时承载的这正常使用系统功能的要用户的数量 吞吐量: 吞吐量是指系统在单位时间内处理的请求的数量 响应时间(RT) 响应时间是指系统对请求作出的响应的时间 例子: 每天