MySQL性能监控全掌握,快来get关键指标及采集方法!
数据库中间件监控实战,MySQL中哪些指标比较关键以及如何采集这些指标了。帮助提早发现问题,提升数据库可用性。
1 整体思路
监控哪类指标?
如何采集数据?
第10讲监控方法论如何落地?
这些就可以在MySQL中应用起来。MySQL是个服务,所以可借用Google四个黄金指标解决问题:
1.1 延迟
应用程序会向MySQL发起SELECT、UPDATE等操作,处理这些请求花费多久很关键,甚至还想知道具体是哪个SQL最慢,这样就可以有针对性地调优。
1.1.1 采集延迟数据
在客户端埋点
上层业务程序在请求MySQL的时候,记录每个SQL请求耗时,把这些数据统一推给监控系统,监控系统就可以计算出平均延迟、95分位、99分位的延迟数据了。要埋点,对业务代码有侵入性。
Slow queries
MySQL提供慢查询数量的统计指标,通过如下命令拿到:
show global status like 'Slow_queries';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Slow_queries | 107 |
+---------------+-------+
1 row in set (0.000 sec)
这指标是Counter型,即单调递增,若想知道最近1min有多少慢查询,需要使用increase函数做二次计算。
慢查询标准
全局变量long_query_time,默认10s,可调整。每当查询时间超过 long_query_time 指定时间,Slow_queries 就会 +1。
获取 long_query_time 值:
SHOW VARIABLES LIKE 'long_query_time';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
通过 performance schema、sys schema 拿到统计数据。若performance schema的 events_statements_summary_by_digest 表,该表捕获很多关键信息,如延迟、错误量、查询量。
如下案例,SQL执行2次,平均执行时间325ms,表里的时间度量指标都是以皮秒为单位:
*************************** 1. row ***************************SCHEMA_NAME: employeesDIGEST: 0c6318da9de53353a3a1bacea70b4fceDIGEST_TEXT: SELECT * FROM `employees` WHERE `emp_no` > ?COUNT_STAR: 2SUM_TIMER_WAIT: 650358383000MIN_TIMER_WAIT: 292045159000AVG_TIMER_WAIT: 325179191000MAX_TIMER_WAIT: 358313224000SUM_LOCK_TIME: 520000000SUM_ERRORS: 0SUM_WARNINGS: 0SUM_ROWS_AFFECTED: 0SUM_ROWS_SENT: 520048SUM_ROWS_EXAMINED: 520048
...SUM_NO_INDEX_USED: 0SUM_NO_GOOD_INDEX_USED: 0FIRST_SEEN: 2016-03-24 14:25:32LAST_SEEN: 2016-03-24 14:25:55
针对即时查询、诊断问题,还可使用 sys schema。sys schema提供一种组织良好、易读的指标查询方式,查询更简单。如下方法找到最慢的SQL。这个数据在 statements_with_runtimes_in_95th_percentile 表中。
SELECT * FROM sys.statements_with_runtimes_in_95th_percentile;
更多例子查看 sys schema 文档。不过要注意的是,MySQL 5.7.7开始才包含sys schema,5.6 版本开始可手工安装。
1.2 流量
最熟的就是统计 SELECT、UPDATE、DELETE、INSERT 等语句执行数量。若流量太高,超过硬件承载能力,显然需监控、扩容。这些类型指标在 MySQL 全局变量中都能拿到:
show global status where Variable_name regexp 'Com_insert|Com_update|Com_delete|Com_select|Questions|Queries';
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| Com_delete | 2091033 |
| Com_delete_multi | 0 |
| Com_insert | 8837007 |
| Com_insert_select | 0 |
| Com_select | 226099709 |
| Com_update | 24218879 |
| Com_update_multi | 0 |
| Empty_queries | 25455182 |
| Qcache_queries_in_cache | 0 |
| Queries | 704921835 |
| Questions | 461095549 |
| Slow_queries | 107 |
+-------------------------+-----------+
这些指标都是 Counter 型。Com_ 是 Command 的前缀,即各类命令的执行次数。 整体吞吐量主要是看 Questions 指标,但Questions 很容易和它上面的Queries混淆。从例子里我们可以明显看出 Questions 的数量比 Queries 少。Questions 表示客户端发给 MySQL 的语句数量,而Queries还会包含在存储过程中执行的语句,以及 PREPARE 这种准备语句,所以监控整体吞吐一般是看 Questions。
流量方面的指标,一般我们会统计写数量(Com_insert + Com_update + Com_delete)、读数量(Com_select)、语句总量(Questions)。
错误
错误量这类指标有多个应用场景,比如客户端连接 MySQL 失败了,或者语句发给 MySQL,执行的时候失败了,都需要有失败计数。典型的采集手段有两种。
- 在客户端采集、埋点,不管MySQL问题 or 网络问题或中间负载均衡问题或DNS解析问题,只要连接失败,都能发现。但有代码侵入性。
- 从 MySQL 采集相关错误,如连接错误通过 Aborted_connects、Connection_errors_max_connections拿
show global status where Variable_name regexp 'Connection_errors_max_connections|Aborted_connects';
+-----------------------------------+--------+
| Variable_name | Value |
+-----------------------------------+--------+
| Aborted_connects | 785546 |
| Connection_errors_max_connections | 0 |
+-----------------------------------+--------+
只要连接失败,不管啥原因,Aborted_connects 都 +1,而更常用的是 Connection_errors_max_connections ,表示超过了最大连接数,所以 MySQL 拒绝连接。MySQL默认最大连接数151,在现在这样硬件条件下,实在太小,因此出现这种情况的频率较高,要多关注,及时发现。
SHOW VARIABLES LIKE 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
可通过如下命令调整最大连接数:
SET GLOBAL max_connections = 2048;
虽可通过命令临时调整最大连接数,但一旦重启话就失效。为永久修改该配置,需调整 my.cnf 加一行:
max_connections = 2048
events_statements_summary_by_digest 表也能拿到错误数量。
SELECT schema_name, SUM(sum_errors) err_countFROM performance_schema.events_statements_summary_by_digestWHERE schema_name IS NOT NULLGROUP BY schema_name;+--------------------+-----------+
| schema_name | err_count |
+--------------------+-----------+
| employees | 8 |
| performance_schema | 1 |
| sys | 3 |
+--------------------+-----------+
饱和度
MySQL用什么指标反映资源有多“满”?先关注 MySQL 所在机器 CPU、内存、硬盘I/O、网络流量这些基础指标。
MySQL本身也有一些指标反映饱和度,如连接数,当前连接数(Threads_connected)除以最大连接数(max_connections)可得 连接数使用率,需重点监控的饱和度指标。
InnoDB Buffer pool 相关指标:
- Buffer pool 的使用率
- Buffer pool 的内存命中率
Buffer pool内存专门用来缓存 Table、Index 相关数据,提升查询性能。
查看Buffer pool相关指标:
MariaDB [(none)]> show global status like '%buffer%';
+---------------------------------------+--------------------------------------------------+
| Variable_name | Value |
+---------------------------------------+--------------------------------------------------+
| Innodb_buffer_pool_dump_status | |
| Innodb_buffer_pool_load_status | Buffer pool(s) load completed at 220825 11:11:13 |
| Innodb_buffer_pool_resize_status | |
| Innodb_buffer_pool_load_incomplete | OFF |
| Innodb_buffer_pool_pages_data | 5837 |
| Innodb_buffer_pool_bytes_data | 95633408 |
| Innodb_buffer_pool_pages_dirty | 32 |
| Innodb_buffer_pool_bytes_dirty | 524288 |
| Innodb_buffer_pool_pages_flushed | 134640371 |
| Innodb_buffer_pool_pages_free | 1036 |
| Innodb_buffer_pool_pages_misc | 1318 |
| Innodb_buffer_pool_pages_total | 8191 |
| Innodb_buffer_pool_read_ahead_rnd | 0 |
| Innodb_buffer_pool_read_ahead | 93316 |
| Innodb_buffer_pool_read_ahead_evicted | 203 |
| Innodb_buffer_pool_read_requests | 8667876784 |
| Innodb_buffer_pool_reads | 236654 |
| Innodb_buffer_pool_wait_free | 5 |
| Innodb_buffer_pool_write_requests | 533520851 |
+---------------------------------------+--------------------------------------------------+
Innodb_buffer_pool_pages_total :InnoDB Buffer pool 页总量,页(page)是 Buffer pool 的一个分配单位,默认page size=16KiB,可通过 show variables like "innodb_page_size"
看。
Innodb_buffer_pool_pages_free :剩余页数量,通过 total 和 free 可得 used,used/total=使用率。使用率高不是说有问题,因为InnoDB有 LRU 缓存清理机制,只要响应够快,高使用率也不是问题。
Innodb_buffer_pool_read_requests 和 Innodb_buffer_pool_reads :read_requests 表示向 Buffer pool 发起的查询总量,若Buffer pool缓存了相关数据直接返回,没有就得穿透内存去查询硬盘。
有多少请求满足不了,需查硬盘?得看 Innodb_buffer_pool_reads 指标统计数量。
reads指标 / read_requests = 穿透比例
比例越高,性能越差,可调整 Buffer pool 大小解决。
根据 Google 四个黄金指标方法论,梳理 MySQL 相关指标,这些指标大多可通过 global status 和 variables 拿到。performance schema、sys schema 相对难搞:
- sys schema 需要较高版本才能支持
- 这两个 schema 的数据不太适合放到 metrics 库
常见做法通过一些偏全局统计指标,如Slow_queries,先发现问题,再通过这俩 schema 的数据分析细节。
不同的采集器采集的指标,命名方式会有差别,不过大同小异,关键理解思路、原理。
利用 Categraf 配置采集,演示整个过程。
2 采集配置
Categraf 针对 MySQL 的采集插件配置,在 conf/input.mysql/mysql.toml
里。我准备了一个配置样例,你可以参考。
[[instances]]
address = "127.0.0.1:3306"
username = "root"
password = "1234"extra_status_metrics = true
extra_innodb_metrics = true
gather_processlist_processes_by_state = false
gather_processlist_processes_by_user = false
gather_schema_size = false
gather_table_size = false
gather_system_table_size = false
gather_slave_status = true# # timeout
# timeout_seconds = 3# labels = { instance="n9e-dev-mysql" }
最关键的配置是 数据库连接地址和认证信息,具体采集哪些由一堆开关控制。建议把
- extra_status_metrics
- extra_innodb_metrics
- gather_slave_status
置true,其他都不太需采集。labels推荐加instance标签,给这数据库取表意性更强名称,收到告警消息可一眼知道是哪个数据库问题。instances部分是数组,若要监控多个数据库,就配置多个 instances。
Categraf作为采集探针,采集 MySQL 时,有两种方案:
2.1 中心化探测
找一台机器作为探针机器,部署一个单独 Categraf,只采集 MySQL 相关指标,同时采集所有的 MySQL 实例,即这个 Categraf 的 mysql.toml 中有很多 instances 配置段。
2.1.1 适用
- MySQL 实例数量较少
- 云上 RDS 服务
相对不太方便做自动化,如新建一个MySQL,还需要到这个探针机器里配置相关的采集规则,麻烦。
2.2 分布式本地采集(推荐)
把 Categraf 部署到部署 MySQL 的那台机器上,让 Categraf 采集 127.0.0.1:3306 实例。
MySQL服务建议不要混部,一台宿主机就部署一个 MySQL,InnoDB Buffer pool设置大些,80%物理内存,性能杠杠。
DBA 管理 MySQL经常创建集群,通常沉淀一些自动化工具,在自动化工具里把部署 Categraf、配置 Categraf 的 mysql.toml 的逻辑都加上,一键搞定。监控只需读权限,建议为监控系统创建一个单独的数据库账号,统一账号、统一密码、统一授权,这样 mysql.toml 配置也一致。
采用这种部署方式一般就用机器名做标识,不太需单独instance标签。Categraf 内置一个 夜莺监控大盘,大盘变量使用机器名来做过滤。如用Grafana,去 Grafana 官网搜 Dashboard,大同小异。刚提到的那些关键指标最好都放Dashboard。
效果图:
3 业务指标
MySQL指标采集核心原理:连上MySQL执行一些 SQL,查询性能数据。
Categraf 内置一些查询 SQL,能否自定义SQL查询一些业务指标?如查询一下业务系统的用户量,把用户量作为指标上报到监控系统。可使用 Categraf 的 MySQL 采集插件实现,查看 mysql.toml 里的默认配置:
[[instances.queries]]
# 作为 metric name 的前缀
mesurement = "users"
# 查询返回的结果,可能有多列是数值,指定哪些列作为指标上报
metric_fields = [ "total" ]
# 查询返回的结果,可能有多列是字符串,指定哪些列作为标签上报
label_fields = [ "service" ]
# 指定某一列的内容作为 metric name 的后缀
field_to_append = ""
# 语句执行超时时间
timeout = "3s"
# 查询语句,连续三个单引号,和Python的三个单引号语义类似,里边内容就不用转义
request = '''
select 'n9e' as service, count(*) as total from n9e_v5.users
'''
自定义SQL的配置,想查询哪个数据库实例,就在对应 [[instances]] 下面增加 [[instances.queries]] 。
MySQL 相关的监控实践,包括性能监控和业务监控,核心就是上面我们说的这些内容,下面我们做一个总结。
4 总结
Google 四个黄金指标方法论指导MySQL 监控数据采集,从延迟、流量、错误、饱和度分别讲解了具体指标是什么及如何获取。
采集器部署还有一种就是容器环境 Sidecar 模式。因为生产环境里 MySQL 一般很少放容器,所以没提。
由于 MySQL 存储很多业务数据,是业务指标重要来源,通过自定义 SQL可以获取很多业务指标,推荐试用这种监控方式。
5 FAQ
MySQL的监控大盘已给出,一些关键指标也点出,告警规则怎么配置?常见的告警 PromQL 哪些?
对于MySQL监控大盘中的关键指标,我们可以根据业务需求设置相应的告警规则。一些常见的告警PromQL表达式如下:
-
监控服务器运行状态:如果服务器停止响应或CPU使用率超过阈值,则发出告警。
up == 0 or (100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)) > 90
-
监控MySQL数据库性能:例如,监听可用连接数是否已达到最大连接数并进行告警。
mysql_global_status_threads_connected / mysql_global_variables_max_connections * 100 > 80
-
监控MySQL数据库存储空间:配置阈值,并在使用率超过预设值后触发告警。
mysql_info_schema_data_length_bytes / mysql_info_schema_data_free_bytes * 100 > 80
除以上这些例子外,还可以根据具体业务情况自定义更多的告警规则。提示:为了实现更精细化的告警,建议对不同种类的监控数据,针对不同的告警级别进行区分,制定更加明确的告警策略。
相关文章:
MySQL性能监控全掌握,快来get关键指标及采集方法!
数据库中间件监控实战,MySQL中哪些指标比较关键以及如何采集这些指标了。帮助提早发现问题,提升数据库可用性。 1 整体思路 监控哪类指标? 如何采集数据? 第10讲监控方法论如何落地? 这些就可以在MySQL中应用起来。…...
sed进阶之保留空间和排除命令
shell脚本编程系列 保留空间 模式空间(pattern space)是一块活跃的缓冲区,在sed编辑器执行命令时保存着待检查的文本,但它并不是sed编辑器保存文本的唯一空间。sed编辑器还有另一块称作保留空间(hold space࿰…...
21安徽练习
题目分为4部分 APK 集群 流量 exe 我尽量都做一下,逆向不是很会,就当提升自己。 [填空题]请获取app安装包的SHA256校验值(格式:不区分大小写)(10分) e15095d49efdccb0ca9b2ee125e4d8136cac5…...
【VAR | 时间序列】应用VAR模型时的15个注意点
一、前言 向量自回归(VAR,Vector Auto regression)常用于预测相互联系的时间序列系统以及分析随机扰动对变量系统的动态影响。 VAR方法通过把系统中每一个内生变量,作为系统中所有内生变量的滞后值的函数来构造模型,从而回避了结构化模型的…...
校招在线测评题目汇总
图形找规律题 https://blog.csdn.net/mxj1428295019/article/details/129627461https://blog.csdn.net/Yujian2563/article/details/124266574?spm1001.2101.3001.6650.2&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-124266574-blo…...
『python爬虫』05. requests模块入门(保姆级图文)
目录 安装requests1. 抓取搜狗搜索内容 requests.get2. 抓取百度翻译数据 requests.post3. 豆瓣电影喜剧榜首爬取4. 关于请求头和关闭request连接总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 安装requests …...
WPF超好用的框架Prism入门使用,上位机赶紧学起来!
Prism简介 WPF框架Prism是一种用于开发模块化、可重用和可测试的WPF应用程序的框架。它提供了一种简单而强大的方式来管理复杂应用程序的代码和构建高度可扩展的应用程序。 如何学习Prism框架 如果您想使用Prism框架来开发WPF应用程序,需要学习以下几个方面&…...
十个机器学习应用实例
一、在Kaggle上举办的一个竞赛,名为“Tabular Playground Series - Aug 2021”。该竞赛旨在预测房屋销售价格,数据集包含了79个特征和一个目标变量。参赛者需要训练一个模型,能够预测测试集中房屋的销售价格。 该竞赛的获胜者使用了多个AI模型…...
【Redis17】Redis进阶:管道
Redis进阶:管道 管道是啥?我们做开发的同学们经常会在 Linux 环境中用到管道命令,比如 ps -ef | grep php 。在之前学习 Laravel框架时的 【Laravel6.4】管道过滤器https://mp.weixin.qq.com/s/CK-mcinYpWCIv9CsvUNR7w 这篇文章中,…...
Django项目页面样式如何“传给”客户端浏览器
前言 django项目在视图函数中借助render函数可以返回HTML页面,但是HTML页面中如果引入了外部CSS文件或者JavaScript文件在浏览器页面无法加载,因此就必须有一种方式能够将HTML文档中引入的外部文件能够在客户端浏览器上加载,这种方式就是配置…...
python 进程间通信 Queue()、Pipe()、manager.list()、manager.dict()、manager.Queue()
👨💻个人简介: 深度学习图像领域工作者 🎉总结链接: 链接中主要是个人工作的总结,每个链接都是一些常用demo,代码直接复制运行即可。包括: &am…...
你想要的【微前端】都在这里了! | 京东云技术团队
作者:京东零售 郑炳懿 开篇: 如果你不知道微前端是什么,或者不知道微前端能解决什么问题,那么你可能不需要微前端。 在我看来,对于每一个没有使用过的新技术,都应该有以下几个过程: 1、调研…...
人生若只如初见,你不来看看Django吗
前言 本文介绍python三大主流web框架之一的Django框架的基本使用,如何创建django项目,如何运行django项目以及django项目的目录结构,另外django又是如何返回不同的数据和页面? python三大主流web框架 Python有三大主流的web框架…...
项目人力资源管理
项目人力资源管理的 4 个过程:规划人力资源管理、组建项目团队、建设项目团队、管理项目团队等内容 单项选择题、案例分析题 人力资源管理领域输入、输出、工具和技术表: 过程名输入工具和技术输出编写项目人力资源计划 项目管理计划活动资源需求事业…...
提供接口给第三方调用,应该注意什么
1.如果我们要提供一个接口给第三方调用,首先我们需要考虑的就是接口安全,一定要做鉴权,至于鉴权的方式:大家可以在网上自行查找,今天我主要记录如何编写一个既能能支持并发的,且不会影响到我们自身业务的的…...
ESL设计概述
前言 随着芯片面临着应用场景丰富多变、集成功能模块越来越多、片内通信及模块间接口越来越复杂、设计规模越来越大以及PPA要求越来越高的需求,芯片设计方法面临越来越大的挑战。架构的合理性、完备性和一致性很大程度上决定了芯片设计的成败。基于同样的I…...
探究C语言数组的奥秘:大小可省略的定义、内存存储、数组名、传参、指针遍历、数组指针和指针数组、柔性数组等
也许你认为,C语言中的数组非常好理解,就是把一组相同类型的元素存储在同一块空间里。但是你可能并没有真正理解数组的本质,不信的话请回答一下下面的几个小问题,如果你能非常清晰的回答这些问题,那么你对C语言中的数组…...
python3 强制使用任意父级相对导入,越过python相对导入限制,拒绝 ImportError
前言 单纯不喜欢 python 对 点开头的包的限制,好麻烦,遂写了本包,来解决这个问题启用本模块后,你可以随时使用 单个点来导入当前目录的模块,也可以使用多个 点导入多级父目录内的模块,而不会报错烦人的模块…...
面了一个4年经验的测试工程师,自动化都不会也要15k,我也是醉了····
在深圳这家金融公司也待了几年,被别人面试过也面试过别人,大大小小的事情也见识不少,今天又是团面的一天, 一百多个人都聚集在一起,因为公司最近在谈项目出来面试就2个人,无奈又被叫到面试房间。 整个过程…...
Java 实现 YoloV7 人体姿态识别
1 OpenCV 环境的准备 这个项目中需要用到 opencv 进行图片的读取与处理操作,因此我们需要先配置一下 opencv 在 java 中运行的配置。 首先前往 opencv 官网下载 opencv-4.6 :点此下载;下载好后仅选择路径后即可完成安装。 此时将 opencv\b…...
跨越屏幕:桌面PC端的多端开发框架介绍
目前,随着互联网和移动互联网的发展,多端开发框架已经成为越来越多开发者更好的选择。主要有以下几个方面的前景: 跨平台开发需求不断增加:由于不同平台和设备的差异性,开发人员需要使用不同的编程语言和开发工具来为各…...
高效学习方法和工具推荐,让你事半功倍!
本文介绍了五种高效学习方法,包括制定详细的学习计划、集中注意力、不断复习、采用多种学习方式和利用小休息。同时,还推荐了五个高效学习工具和平台,包括Coursera、Duolingo、Quizlet、Khan Academy和Anki,让你在学习中事半功倍&…...
查看Docker容器中RabbitMQ的密码
要查看Docker容器中RabbitMQ的密码,可以尝试以下几个步骤: 1. 查看容器运行时的环境变量 在Docker容器中,可以通过环境变量来设置RabbitMQ的用户名和密码。因此,可以使用以下命令查看容器的环境变量: docker inspect…...
探索Qt线程编程的奥秘:多角度深入剖析
探索Qt线程编程的奥秘:多角度深入剖析 一、Qt线程编程基础(Qt Threading Basics)1.1 线程概念与基本概念(Thread Concepts and Fundamentals)1.2 Qt线程类简介:QThread(Introduction to Qt Thre…...
【R语言】鉴于计算10亿以内训练模型记录for循环的加速
文章目录 1 前言2 几个循环2.1 100以内的和2.2 100以内奇数和/偶数和 3 多重循环3.1 向量化3.2 合并循环3.3 apply函数3.4 矩阵运算3.5 foreach分解任务 4 讨论 1 前言 笔者主力机是MBAM1芯片(8256),某个下午巩固循环突然思考到个问题&#…...
C++类和对象 ——构造函数
C拷贝构造函数详解 什么是拷贝构造函数?拷贝构造函数的特征默认拷贝构造函数为什么需要显示定义构造函数?拷贝构造函数的调用场景什么时候不需要自己定义拷贝构造函数 什么是拷贝构造函数? 在现实生活中,拷贝构造函数就好像我们上…...
第2章-分治法
第2章-分治法 总分:100分 得分:20.0分 1 . 多选题 中等 10分 有关以下代码,说法正确的是( ABCE) def BinarySearch(s, x, low, high):if (low > high):return -1middle (low high) / 2if (x s[mid…...
20天能拿下PMP吗?
新版大纲,专注于人员、过程、业务环境三个领域,内容贯穿价值交付范围(包括预测、敏捷和混合的方法)。除了考试时间由240分钟变更为230分钟、200道单选题变为180道(包含单选和多选)之外,新考纲还…...
Word处理控件Aspose.Words功能演示:在 Java 中将 Word DOC/DOCX 转换为 PDF
Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API支持流行文件格式处理,并…...
数据安全的重要性
数据安全非常重要,因为我们生活在数字化时代,许多信息和数据都以数字形式存储和传输。如果这些数据受到未经授权的访问、篡改、泄露或破坏,会对个人、组织和国家造成严重的损失。 以下是数据安全的重要性: 1. 保护各类隐私&#x…...
wordpress 机器学习/阿里域名购买网站
.yaml文件实际是用YAML语言编写的,YAML简述。如下 1、语法特点 大小写敏感通过缩进表示层级关系禁止使用tab缩进,只能使用空格键缩进的空格数据不重要,只要相同层级左对齐即可使用#表示注释 2、yaml支持的数据结构有三种:对象、…...
北辰手机网站建设/给你一个网站怎么优化
一转眼,吾家有女初长成。露露不再是出生时那个手指细如火柴、脑袋只有盈盈一捧的拇指姑娘,不再是那个因吃惯了奶瓶、使足了吃奶的劲也吸不出母乳的小可怜;也不再是那个抱起来就笑,一放下就哭的洋娃娃。虽然只有两岁多一点…...
上海建设单位工程备案网站/hao123网址导航
从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Inceptionism。在这篇文章中,我们将讨论几…...
windows 没有wordpress/竞价网络推广培训
Step1. 注册账号注册地址:https://user.accesshub.cn/#/signUpStep2. 登陆管理控制台登陆方式一:在 https://user.accesshub.cn/#/loginTo 输入管理平台域名跳转到登陆页面登陆方式二:在浏览器直接输入管理平台域名地址登陆,例如 …...
软件销售网站模板/一站式营销推广
小编典典//The simple version for 10 Characters from the beginning of the string$string substr($string,0,10)....;更新:基于检查长度的建议(并确保修剪后的和未修剪的琴弦的长度相似):$string (strlen($string) > 13) ? substr($string,0,10…...
做家政网站公司名称/seo优化软件哪个好
Idea 的 task server 配置为 Gitlab 个人站点 http://ronnie.wang 找到配置窗口,Preferences -> Tools -> Tasks -> Servers 点击加号,添加 Gitlab 点击增加之后的条目,可以看到下面的配置项 在 Server URL 填 Gitlab 服务器的…...