records

针对系统中磁盘IO负载过高的指导性操作

徘徊边缘 提交于 2020-11-22 14:47:25
针对系统中磁盘IO负载过高的指导性操作 主要命令: echo deadline > /sys/block/sda/queue/scheduler 注:以下的内容仅是提供参考, 如果磁盘IO确实比较大的话,是数据库,可以进行读写分离或者分库操作,减小磁盘压力,文件的话,可以利用raid来减轻压力 一)I/O调度程序的总结: 1)当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成. 2)每个块设备都有它自己的队列. 3)I/O调度程序负责维护这些队列的顺序,以更有效地利用介质.I/O调度程序将无序的I/O操作变为有序的I/O操作. 4)内核必须首先确定队列中一共有多少个请求,然后才开始进行调度. 二)I/O调度的4种算法 1)CFQ(完全公平排队I/O调度程序) 特点: 在最新的内核版本和发行版中,都选择CFQ做为默认的I/O调度器,对于通用的服务器也是最好的选择. CFQ试图均匀地分布对I/O带宽的访问,避免进程被饿死并实现较低的延迟,是deadline和as调度器的折中. CFQ对于多媒体应用(video,audio)和桌面系统是最好的选择. CFQ赋予I/O请求一个优先级,而I/O优先级请求独立于进程优先级,高优先级的进程的读写不能自动地继承高的I/O优先级. 工作原理: CFQ为每个进程/线程,单独创建一个队列来管理该进程所产生的请求

VUE axios请求 封装 get post Http

て烟熏妆下的殇ゞ 提交于 2020-11-22 01:48:05
创建httpService.js 文件 import axios from 'axios'; import { Loading , Message } from 'element-ui'; import { Vuevm } from '../main'; window.Vuevm = Vuevm; const BASE_URL = process.env.BASE_API; //域名路径 const formatParams = (data)=>{ let arr = []; for (let name in data) { arr.push(encodeURIComponent(name) + "=" + encodeURIComponent(data[name])); } return arr.join("&"); } axios.defaults.timeout = 15000; //超时时间 export const httpService = (url,params,method,loading=true) => { if(loading) { var loadingInstance = Loading.service({ lock: true, text: '加载中', spinner: "el-icon-loading", background: "rgba(0, 0

http流量复制工具goreplay

房东的猫 提交于 2020-11-21 11:14:35
场景 一个待测服务,用来处理线上千万量级用户的各式请求; 问题 如果数据交换使用比较简单的xml、json等,可以设计各类case,去覆盖正常、异常的情况,但是如果数据交换格式比较复杂,且服务逻辑也比较复杂,这样的话就需要对代码逻辑非常熟悉才能设计全面的case;但是如果没有足够的时间去熟悉代码逻辑,那怎么能保证各类case都能覆盖到呢? 解决方案 今天介绍一款能快速解决上述问题的工具——goreplay 工具原理 官方介绍: GoReplay is the simplest and safest way to test your app using real traffic before you put it into production. As your application grows, the effort required to test it also grows exponentially. GoReplay offers you the simple idea of reusing your existing traffic for testing, which makes it incredibly powerful. Our state of art technique allows to analyze and record your

Mybatis关联查询(嵌套查询)

只谈情不闲聊 提交于 2020-11-18 23:59:32
三张表:user article blog 表的存储sql文件: /* Navicat MySQL Data Transfer Source Server : localhost Source Server Version : 50620 Source Host : localhost:3306 Source Database : mybatis Target Server Type : MYSQL Target Server Version : 50620 File Encoding : 65001 Date: 2014-10-19 18:27:31 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `user` -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` varchar(200) DEFAULT NULL

Oracle 存储坏块处理方法-基于RMAN实现坏块介质恢复(blockrecover)

独自空忆成欢 提交于 2020-11-13 12:59:23
对于物理损坏的数据块,在有备份的情况下,我们可以通过RMAN块介质恢复(BLOCK MEDIA RECOVERY)功能来完成受损块的恢复, 而不需要恢复整个数据库或所有文件来修复这些少量受损的数据块。但前提条件是你得有一个可用的RMAN备份存在, 因此,无论何时备份就是一切。本篇我们来模拟产生一个坏块,然后使用RMAN实现坏块恢复。 说明: 一般出现坏块的时候,都是业务访问到这个坏块的时候报如下的错误: ERROR at line 1: ORA-01578: ORACLE data block corrupted (file # 18, block # 130) ORA-01110: data file 18: '/ora11gSource/ora11g/tbs_tmp.dbf' 操作: 1 创建用于演示的表空间 create tablespace tbs_tmp datafile '/ora11gSource/ora11g/tbs_tmp.dbf' size 10m autoextend on; 2 基于新的数据文件创建对象tb_tmp conn scott/tiger; create table tb_tmp tablespace tbs_tmp as select * from dba_objects; SQL> col file_name format a60 SQL>

如何连接(合并)数据框(内部,外部,左侧,右侧)

左心房为你撑大大i 提交于 2020-11-11 08:21:47
问题: Given two data frames: 给定两个数据帧: df1 = data.frame(CustomerId = c(1:6), Product = c(rep("Toaster", 3), rep("Radio", 3))) df2 = data.frame(CustomerId = c(2, 4, 6), State = c(rep("Alabama", 2), rep("Ohio", 1))) df1 # CustomerId Product # 1 Toaster # 2 Toaster # 3 Toaster # 4 Radio # 5 Radio # 6 Radio df2 # CustomerId State # 2 Alabama # 4 Alabama # 6 Ohio How can I do database style, ie, sql style, joins ? 如何进行数据库样式(即 sql样式)的联接 ? That is, how do I get: 也就是说,我如何获得: An inner join of df1 and df2 : df1 和 df2 的 内部 df2 : Return only the rows in which the left table have matching keys in the right

玩转Mysql系列

牧云@^-^@ 提交于 2020-11-09 03:27:35
Mysql系列的目标是: 通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第22篇。 背景 使用mysql最多的就是查询,我们迫切的希望mysql能查询的更快一些,我们经常用到的查询有: 按照id查询唯一一条记录 按照某些个字段查询对应的记录 查找某个范围的所有记录(between and) 对查询出来的结果排序 mysql的索引的目的是使上面的各种查询能够更快。 预备知识 什么是索引? 上一篇中有详细的介绍,可以过去看一下: 什么是索引? 索引的本质: 通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据。 磁盘中数据的存取 以机械硬盘来说,先了解几个概念。 扇区 :磁盘存储的最小单位,扇区一般大小为512Byte。 磁盘块 :文件系统与磁盘交互的的最小单位(计算机系统读写磁盘的最小单位),一个磁盘块由连续几个(2^n)扇区组成,块一般大小一般为4KB。 磁盘读取数据 :磁盘读取数据靠的是机械运动,每次读取数据花费的时间可以分为 寻道时间、旋转延迟、传输时间 三个部分,寻道时间指的是磁臂移动到指定磁道所需要的时间,主流磁盘一般在5ms以下;旋转延迟就是我们经常听说的磁盘转速

原创 | 数据资产确权浅议

倖福魔咒の 提交于 2020-11-08 12:02:45
数据要素市场发展起来后,自然的会形成大量数据资产。宏观上,数据要素价值流动,形成数据资产的过程示意图如下。数据资产列入资产负债表的时间问题,主要是需要解决诸如确权、定价、交易和计量等课题。这些方面的研究也随着相关政策和配套的法律法规的逐渐落地和实施而日益活跃起来。 本文对数据资产确权进行一些初步的分析和研究。 采用的方法是,构造一个简单数据要素市场,建立一些核心概念和分析框架。然后运用这些核心概念、框架对数据资产确权的一些关键问题进行分析,提出一些解决方案和后续需要进一步研究的问题。 设想一个简单数据要素市场 它由一级市场、二级市场组成。有两个卖家 分别拥有两个独立数据源 的原始数据集 经过简单加工,分别形成数据资产 ,进入一级市场进行交易。买家 采用不同的策略进入市场进行交易。其中,买家C仅仅简单的买入 后自己消费使用;买家D买入 后,通过将两个数据资产进行加工 输出新的数据集 并最终形成数据资产 ,进入二级市场交易。市场 图如下: 之所以设置一级和二级市场,主要是因为由原始数据集生成的数据资产的确权,和加工原始数据集之后形成的数据资产的确权有非常大的差异。因此,设定一级市场交易的是由原始数据集生成的数据资产;二级市场交易的是由一级市场数据资产经过加工后的生产的数据资产。 数据资产的生成需要一系列的过程和路径才能完成,包括从哪个数据源获取原始记录(Records)

kafka性能测试

淺唱寂寞╮ 提交于 2020-11-05 07:19:15
一.硬件配置 3台服务器配置如下: CPU: 2物理CPU,12核/CPU , 48 processor Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz 内存: 128GB 硬盘: 480GB*1 SSD盘(OS)+6TB*7 SAS盘 Broker节点数: 3个 网络: 10GE 二.测试方案 2.1 测试套件 使用kafka官方提供的性能测试工具 kafka-perf-test 1)producer命令 ./kafka-producer-perf-test.sh --producer-props bootstrap.servers="vm14:6667,vm15:6667,vm16:6667" --topic test-perf-1-1 --num-records 1000000 --record-size 512 --throughput 1000000 --topic TOPIC produce messages to this topic --num-records NUM-RECORDS nuMBer of messages to produce --payload-delimiter PAYLOAD-DELIMITER provides delimiter to be used when --payload-file is

PAT甲级第二次真题练习

萝らか妹 提交于 2020-10-29 01:28:53
1005 Spell It Right (20)(20 分) 提问 Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English. Input Specification: Each input file contains one test case. Each case occupies one line which contains an N (<= 10^100^). Output Specification: For each test case, output in one line the digits of the sum in English words. There must be one space between two consecutive words, but no extra space at the end of a line. Sample Input: 12345 Sample Output: one five 作者: CHEN, Yue 单位: PAT联盟 时间限制: 400ms 内存限制: 64MB 代码长度限制: 16KB #include