统一观测丨使用 Prometheus 监控 SQL Server 最佳实践

作者:啃唯

SQL Server 简介

SQL Server 是什么?

Microsoft SQL Server 是 Microsoft 推出的关系型数据库解决方案,支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。Microsoft SQL Server 是市场领先的数据库技术之一。

SQL Server 特点

  • 稳定:针对企业的应用需求,制定出适应环境的解决方案,保证了企业的数据安全和顺利运行。
  • 易用:提供了丰富的图形化管理工具,方便用户快速搭建数据库系统。
  • 兼容:原生适配 Windows 系统,提供丰富的 API 访问。
  • 性能:多种数据库引擎优化算法,支持大量数据查询存储。

SQL Server 核心概念

图片

关系引擎: 关系引擎控制存储引擎对数据的处理,并提供 SQL Server 组件来准确确定应如何执行查询。关系引擎由三个主要部分组成。CMD 解析器(parser)主要负责识别和消除语义和语法错误,并生成查询树。优化器(Optimizer)通过消除冗余任务和寻找最优计划,确保所请求的查询响应尽可能高效。查询执行器(Query Executoe)会生成数据获取逻辑的行为。

存储引擎: 当数据由存储引擎存储时,会从存储系统(例如 SAN 或磁盘)检索数据。存储引擎中存在三种类型的文件:主文件、辅助文件和日志文件。访问方法(Access Method)负责在缓存管理器和事务日志之间交换数据。缓存管理器(Buffer Manager)缓存当前的执行计划和页。事务管理器(Transaction Manager)使用日志和锁管理器对事务进行管理。

协议层: 该层支持客户端-服务器架构以及流。协议层支持 3 种类型的客户端服务器架构:共享内存、TCP/IP、命名管道。

主要适用场景

Microsoft SQL Server 凭借其可视化界面及其所具有的选项和工具,非常适合在关系数据库中存储所有所需的信息,以及轻松管理此类数据。

  • 事务处理: SQL Server 支持事务处理,通过使用事务,用户可以将一系列数据库操作组合在一起,并确保它们要么全部成功执行,要么全部回滚到初始状态。这对于处理银行交易、在线购物和库存管理等需要保证数据一致性的应用程序非常关键。
  • 通过大数据集群对所有数据进行智能分析: SQL Server 提供了强大的数据仓库和商业智能功能。用户可以使用 SSIS 将数据从不同的数据源中提取、转换和加载到数据仓库中。然后,您可以使用 SSAS 创建多维数据模型和立方体,以支持复杂的数据分析和报表需求。此外,SQL Server还提供了数据挖掘和预测分析功能,帮助组织发现数据中隐藏的模式和趋势。
  • 可扩展性: SQL Server 提供了广泛的开发和编程功能,以支持应用程序开发人员。SQL Server 还支持水平和垂直扩展,用户可以在需要时增加服务器硬件资源或在多个服务器之间进行数据分区和分布,以处理大规模数据和高并发负载。SQL Server 允许用户轻松地将数据库管理系统与任何设备和 Azure 服务集成,以获得更好的数据性能和分析能力。

主要版本介绍

SQL Server 2022:安全、性能、可用性等加强;查询存储和智能查询处理

SQL Server 2019:数据虚拟化和大数据群集;智能数据库、智能查询;内存数据库

SQL Server 2017:图形数据库功能、动态管理视图、内存优化等

SQL Server 2016:内存OLTP、Stretch Database、集成 Hadoop 等

监控关键指标

这里介绍监控 SQL Server 服务中常见的关键指标。

图片

系统指标

运行状态

启动状态是监控 SQL Server 最基础的指标,表示 SQL Server 实例是否在正常运行,或是否重启。SQL Server 重启时,没有 commit 的数据会丢失,小概率产生错误。

版本/实例时间

监控启动的 SQL Server 实例是否符合预期,是否是业务要求的 SQL Server 版本。保证 SQL Server 的本地时间与客户端保持一致,否则数据库返回的时间有可能发生错误。

读写指标

页指标

页读写: 页是 SQL Server 存储引擎磁盘管理的最小单位,为数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间可以从逻辑上划分成页(从 0 到 n 连续编号)。磁盘 I/O 操作在页级执行。也就是说,SQL Server 读取或写入所有数据页。因此对页的读写监控尤为重要。通过读写页数量的指标,可以计算出页读写的速率,从而判断 SQL Server 的执行性能。

页在缓存的停留时间: 所有数据库软件的主要设计目标之一是尽量减少磁盘 I/O,因为磁盘的读取和写入操作占用大量资源。SQL Server 在内存中生成缓存池,用于保存从数据库读取的页。我们需要监控页在缓存池的生命时长,页在缓存池中存在的时间越长,表示其被命中的可能性越大,也就是说访问该页时不需要访问磁盘。

惰性写(lazy write): 在缓冲区缓存中修改页后,不会将其立即写回磁盘;而是将其标记为“脏”。也就是说在将页物理写入磁盘之前,可以将其逻辑写入多次。在正常运行的情况下,脏页定期地刷入磁盘。而当不断地有新数据写入 SQL Server 且缓存不够用的情况下,大量的脏页会被移出缓存。

检查点(checkpoint): 当检查点发生时,SQL Server 要求刷新所有脏页至磁盘,此时 SQL Server 性能受到一定影响。我们需要监控检查点的速度,确保检查点的刷新速度达到预期。

页错误(page fault): 当页错误发生时,表示需要的页在 SQL Server 可管理的内存区域之外。当遇到页面错误时,程序执行停止并设置为等待状态。操作系统在磁盘上搜索所请求的地址。当找到该页面后,操作系统将其从磁盘复制到空闲 RAM 页面中。操作系统允许程序随后继续执行。

日志成长次数

SQL Server 数据库引擎为数据库中的每个操作写入日志记录,其中包括执行数据修改过程时、创建或删除数据库表或索引时以及每次分配或删除页面后开始或结束 SQL 事务。日志助于在系统或硬件发生故障时将数据库恢复到特定时间点。在具有过多日志记录操作的事务性很强的系统中,SQL Server 事务日志文件将快速增长,直到达到其最大大小,从而生成错误号 9002。如果启用自动增长选项,底层磁盘驱动器将耗尽可用空间。

I/O 等待(stall)时间

I/O 等待时间是一个可用于检测 I/O 问题的指标。SQL Server 将数据写入文件或是从文件读数据时,都需要等待较长的时间,表示为 I/O 等待时间,停顿时间较长表明存在 I/O 问题和磁盘活动繁忙。文件 I/O 属于数据库的关键路径,等待的时间直接反应到客户端读写 SQL Server 的延迟。

每个数据库存储的文件不同,使用的存储介质也可能不同。因此除了监控整体的 I/O  等待时间,还需要监控各个数据库的 I/O 等待时间,以便运维做出针对性的优化。

连接指标

在 SQL Server 中,执行查询都依赖于建立和维护客户端连接。当需要维护 SQL Server 的可用性和高性能,监控连接是运维工作的良好入口。当 SQL Server 并发连接数过多可能会使服务器超载。当连接成功建立,不管是否使用连接,每个连接都会产生开销。

存储指标

如上文所述,尽管 SQL Server 将数据存储在磁盘中,但因为缓存池的存在,对 SQL Server 内存使用情况同样要重点关注。默认情况下,SQL Server 根据可用的系统资源动态管理其内存需求。如果 SQL Server 需要更多内存,它会查询操作系统以确定是否有可用的空闲物理内存并使用可用内存。如果操作系统的可用内存不足,SQL Server 会将内存释放回操作系统,直到内存不足的情况得到缓解,或者直到 SQL Server 达到最小服务器内存限制。

性能指标

事务处理速率(TPS)

一个事务是指一个客户端向 SQL Server 发送请求然后 SQL Server 做出反应的过程。客户端在发送查询请求时开始计时,收到 SQL Server 响应后结束计时,以此来计算使用的时间和完成的事务个数。一般的,评价 SQL Server 性能均以每秒钟完成的客户端请求的数量来衡量。

批处理(T-SQL)速率

T-SQL (Transact-SQL) 是 Sybase 和 Microsoft 的一组编程扩展,它为结构化查询语言 ( SQL ) 添加了多种功能,包括事务控制、异常和错误处理、行处理和声明的变量。所有与 SQL Server通信的应用程序都是通过向服务器发送 T-SQL 语句来实现的。

指标详细定义

系统指标

图片

读写指标

图片

连接指标

图片

存储指标

图片

性能指标

图片

监控大盘

我们默认提供了 SQL Server Overview 大盘。

总览

在该 panel 能看到 SQL Server 运行时需要重点关注的指标,在检查 SQL Server 状态时,首先查看总览中是否有异常状态,再检查具体的指标。

  • 启动状态:绿色代表正常运行,红色代表异常运行
  • 内存使用率:使用红黄绿颜色提示,内存使用率在 80% 以下时为绿色,80%~90% 为黄色,90% 以上为红色

图片

资源

内存是 SQL Server 的重点关注硬件资源,通过该 panel 能了解 SQL Server 的内存使用情况:

  • 最大内存:提供内存整体状态
  • 内存使用率/使用量:分析内存使用的趋势
  • 文件扩展次数:分析操作数据量的趋势
  • 数据库文件大小:查看数据库存储的数据量趋势,以及日志的存储量的趋势

图片

图片

性能

在以下 panel 能看到 SQL Server 的运行效率,分为以下三类:

  • 事务处理速率:表示 SQL Server 每秒处理的事务数量,直接影响客户端查询请求的延迟
  • 批处理速率:表示 SQL Server 每秒能处理多少个 Transact-SQL
  • 死锁次数:检测是否发生了因为数据库竞争而发生的死锁,严重影响性能

图片

读写

在以下 panel 能看到 SQL Server 的运行效率:

  • 读写页速率:监控读写页的速率趋势,是否达到预期速率,是否发生波峰波谷等
  • 惰性写速率:定期输入脏页的速率趋势,监控是否平稳
  • page 生命预期:page 的生命预期越高越好
  • I/O 等待时间:SQL Server 等待读写文件的等待时间趋势
  • 检查点速率:当发生检查点,需要监控运行速率

图片

数据库 I/O Stall

除了监控 SQL Server 的整体 I/O 等待时间,还需要分别监控数据库的 I/O 等待时间。每个数据库存储的文件不同,存储的磁盘可能不同,需要做出针对性优化方案。

图片

连接

需要随时检查 SQL Server 的连接情况,防止过高的并发影响性能。

  • 总连接数:监控整体连接数的趋势
  • 连接错误数:监控是否有客户端发生了连接错误,保证系统正常运行
  • 各数据库的连接用户:分别监控每个数据库连接的客户端,以及每个客户端发起的连接数量

图片

数据库状态

监控各数据库是否正常运行,下表定义了数据库的状态。

状态定义
ONLINE可以对数据库进行访问。即使可能尚未完成恢复的撤消阶段,主文件组仍处于在线状态。
OFFLINE数据库无法使用。数据库由于显式的用户操作而处于离线状态,并保持离线状态直至执行了其他的用户操作。例如,可能会让数据库离线以便将文件移至新的磁盘。然后,在完成移动操作后,使数据库恢复到在线状态。
RESTORING正在还原主文件组的一个或多个文件,或正在脱机还原一个或多个辅助文件。数据库不可用。
RECOVERING正在恢复数据库。恢复进程是一个暂时性状态,恢复成功后数据库将自动处于在线状态。如果恢复失败,数据库将处于可疑状态。数据库不可用。
RECOVERY PENDINGSQL Server 在恢复期间遇到与资源相关的错误。数据库未损坏,但是可能缺少文件,或系统资源限制可能导致无法启动数据库。数据库不可用。需要用户另外执行操作来解决问题,并让恢复进程完成。
SUSPECT至少主文件组可疑或可能已损坏。在 SQL Server 启动过程中,数据库无法恢复。数据库不可用。需要用户另外执行操作来解决问题。
EMERGENCY用户更改了数据库,并将其状态设置为 EMERGENCY。数据库处于单用户模式,可以修复或还原。数据库标记为 READ_ONLY,禁用日志记录,并仅限 sysadmin 固定服务器角色的成员访问。EMERGENCY 主要用于故障排除。例如,可以将标记为“可疑”的数据库设置为 EMERGENCY 状态。这样可以允许系统管理员对数据库进行只读访问。只有 sysadmin 固定服务器角色的成员才可以将数据库设置为 EMERGENCY 状态。

图片

关键告警规则

在对 SQL Server 进行告警规则配置时,我们推荐基于以上采集得到的指标,从以下几个方面进行告警规则的配置,分别是运行情况、资源使用情况、连接使用情况。一般来说,我们默认生成影响 SQL Server 正常使用的告警规则,优先级较高。读写速率等与业务相关的告警则由用户自定义。以下是一些推荐的告警规则。

运行情况

SQL Server 停机

SQL Server 停机是 0/1 阈值的告警规则。一般来说,部署在 ACK 等阿里云环境的 SQL Server 服务具有高可用的能力,当一个 SQL Server 实例停止,其他的实例会继续工作。本报警引发的原因可能是所有的 SQL Server 都无法正常启动,或者 Exporter 错误无法获取数据。我们默认设定5分钟内 SQL Server 无法恢复的告警。

SQL Server 重启

SQL Server 重启是 0/1 阈值的告警规则绝大部分情况下 SQL Server 因为有日志的存在,不存在数据丢失的情况。但 SQL Server 重启之后缓存池的内容被清空,造成暂时的查询缓慢。正在执行的事务要回退给客户端,引发一系列暂时的错误,需要客户端重新发起请求。

资源使用情况

内存使用率过高

SQL Server 对服务器内存的使用策略是用多少内存就占用多少内存,不加限制的话有可能把节点的所有内存资源占用。当内存使用率过高,SQL Server 无法正常运行。我们设定的内存使用阈值为:危险值 80%,告警值 90%。当内存使用率为 80% 时,节点高负荷运转,但一般不影响正常使用。当内存长时间使用率为 90% 时,将发出告警,提示运维资源紧缺,尽早处理。

发生死锁

SQL Server 发生死锁是 0/1 阈值的告警规则,不考虑死锁的个数。一系统中遇到的死锁数通常很少,而一旦发生死锁,需要终止被线程执行的当前批处理,回滚死锁牺牲品的事务,回退给客户端一个错误信息。

连接使用情况

发生连接错误

SQL Server 发生连接错误是 0/1 阈值的告警规则。发生该错误可能有很多原因,如:远程主机强制关闭现有连接、超时过期。操作完成之前已过的超时期限或服务器未响应、无法生成 SSPI 上下文等,需要登录数据库并检查日志查看错误原因。

典型问题场景及其排查/解决方法

SQL Server 性能差

SQL Server 性能差体现在事务处理速率(TPS)、批处理(T-SQL)速率低的指标上, 性能差有许多原因可能导致,我们需要联系多个指标进行排查。

检查内存使用率

  • 原因:内存不足的情况下,缓存池无法缓存所有的热点数据,导致多次数据访问请求发送到磁盘
  • 排查方法:检查大盘中的内存使用率 panel,检查内存使用率是否一直都很高。检查告警历史,查看是否提示内存资源不足。
  • 解决方法:优化对应节点的磁盘资源;

检查 I/O 等待时间

  • 原因:I/O 等待时间较长表明存在 I/O 问题和磁盘活动繁忙。
  • 排查方法:检查大盘中的 I/O 等待时间 panel,检查 I/O 等待时间是否一直都很高。检查告警历史,查看是否提示内存资源不足。
  • 解决方法:可能是出现大量的波峰访问,突然增大磁盘访问,考虑优化 SQL Server 架构;进一步检查节点的文件系统是否有 I/O 问题;优化对应节点的磁盘资源;

检查日志增长次数

  • 原因:当数据库中执行任何修改时,SQL Server 会将修改写入日志缓冲区,然后将该缓冲区数据写入磁盘。当写入数据过多,日志内容来不及刷入磁盘。
  • 排查方法:检查大盘中日志增长次数的 panel,检查是否有某段时间日志增长次数突然升高。
  • 解决方法:为日志文件选择的磁盘必须在顺序读写吞吐量和最小延迟方面表现良好。

检查检查点(checkpoint)

  • 原因:执行检查点时,SQL Server 将内存中的所有脏页刷新到磁盘,会影响整体数据库性能,给磁盘带来较大压力。
  • 排查方法:查看检查点 panel,查看是否有检查点速率的数据,表示在该时间段进行了检查点操作。
  • 解决方法:设计进行检查点的时机,尽量避开高峰时间段。

监控体系搭建

自建 Prometheus 监控 SQL Server 的痛点

通常我们当前的 SQL Server 都是部署在 ECS 上,因此自建 Prometheus 监控 SQL Server 时,我们将面临的典型问题有:

  1. 由于安全、组织管理等因素,用户业务通常部署在多个相互隔离的 VPC,需要在多个 VPC 内都重复、独立部署 Prometheus,导致部署和运维成本高。

  2. 每套完整的自建监控系统都需要安装并配置 Prometheus、Grafana、AlertManager 等,过程复杂、实施周期长。

  3. 缺少与阿里云 ECS 无缝集成的服务发现(ServiceDiscovery)机制,无法根据 ECS 标签来灵活定义抓取 targets。如果自行实现类似功能,则需要使用 Golang 语言开发代码(调用阿里云 ECS POP 接口)、集成进开源 Prometheus 代码、编译打包后部署,实现门槛高、过程复杂、版本升级困难。

  4. 常用开源 Grafana SQL Server 大盘不够专业,缺少结合 SQL Server 原理/特征和最佳实践进行深入优化。

  5. 缺少 SQL Server 告警指标模板,需要用户自行研究、配置告警项,工作量大。

用阿里云 Prometheus 进行自建 SQL Server 的监控

  • 登录 ARMS 控制台 [ 1]
  • 在左侧导航栏选择 Prometheus 监控 > Prometheus 实例列表,进入可观测监控 Prometheus 版的实例列表页面。
  • 单击目标 Prometheus 实例名称,进入集成中心页面。
  • 单击 SQL Server 卡片的安装

图片

  • 配置相关参数,并单击确定,完成组件接入。

图片

已接入的组件会显示在集成中心页面的已安装区域。单击该组件卡片,在弹出的面板中可以查看 Targets、指标、大盘、告警、服务发现配置、Exporter 等信息。

图片

,您可以看到目前可观测监控 Prometheus 版提供的关键告警指标。

图片

您可以在大盘页签,单击大盘缩略图,查看对应 Grafana 大盘。

图片

您可以面板中单击告警页签,查看 SQL Server 的 Prometheus 告警。您还可以根据业务需求新增告警规则。创建 Prometheus 告警规则的具体操作,请参见 Prometheus 告警规则 [ 2]

图片

自建 Prometheus 与阿里云可观测监控 Prometheus 版监控 SQL Server 优劣对比

图片

可观测监控 Prometheus 版针对产品新用户,提供三个月每日 2000w 自定义指标上报额度,点击此处立即免费试用。

参考链接:

[1] https://learn.microsoft.com/zh-cn/sql/sql-server/what-s-new-in-sql-server-2022?view=sql-server-ver16#query-store-and-intelligent-query-processing

[2] https://www.sqlshack.com/sql-server-troubleshooting-disk-i-o-problems/

[3] https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitor-and-tune-for-performance?view=sql-server-ver16

[4] https://learn.microsoft.com/zh-cn/sql/relational-databases/pages-and-extents-architecture-guide?view=sql-server-ver16

[5] https://learn.microsoft.com/zh-cn/troubleshoot/sql/database-engine/performance/troubleshoot-sql-io-performance

[6] https://learn.microsoft.com/zh-cn/sql/relational-databases/memory-management-architecture-guide?view=sql-server-ver16

[7] https://www.sqlshack.com/sql-server-memory-performance-metrics-part-1-memory-pagessec-memory-page-faultssec/

[8] https://www.sqlshack.com/sql-server-transaction-log-growth-monitoring-and-management/

[9] https://blog.csdn.net/Superman7658/article/details/130799559

[10] https://learn.microsoft.com/zh-cn/sql/relational-databases/databases/database-states?view=sql-server-ver16&redirectedfrom=MSDN

相关链接:

[1] ARMS 控制台

https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Farms.console.aliyun.com%2F#/home

[2] Prometheus 告警规则https://help.aliyun.com/zh/arms/prometheus-monitoring/create-alert-rules-for-prometheus-instances#task-2121615

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/158712.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2核4G服务器支持多少用户同时在线访问?卡不卡?

腾讯云轻量2核4G5M带宽服务器支持多少人在线访问?5M带宽下载速度峰值可达640KB/秒,阿腾云以搭建网站为例,假设优化后平均大小为60KB,则5M带宽可支撑10个用户同时在1秒内打开网站,从CPU内存的角度,网站程序效…

Hexo+Github+Netlify博客搭建教程

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 博客系列 ✨特色专栏: MyS…

1 随机事件与概率

首先声明【这个括号内的都是批注】 文章目录 1 古典概型求概率1.1 随机分配问题【放球】例子 1.2 简单随机抽样问题【取球】例子 2 几何概型求概率例子 3 重要公式求概率3.1 对立3.2 互斥3.3 独立3.4 条件(要做分母的必须大于0)例子 3.5 不等式或包含例…

结构体对齐规则

1.第一个成员在结构体变量偏移量为0的地址处。 2.其他成员变量对齐到某个数字(对齐数)的整数倍的地址处。(对齐数编译器默认的一个对齐数与该成员大小的较小值)注意:目前有且只有VS编译器有默认为8. 3.结构体总大小为最大对齐数的整数倍。 4.如果嵌套…

Maven Surefire Exclude 无效问题排查日志

昨天有个需求,要在单元测试的时候单线程执行,并且只执行单元测试类特殊结尾的,那么根据以往经验,直接在maven里面配置exclude并且指定include即可。如下尝试 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin&…

【算法|动态规划No.18】leetcode718. 最长重复子数组

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

网格管理安全巡检系统—助企业全面安全检查

通过应用安全巡检管理系统&#xff0c;企业能更好地管理控制安全风险&#xff0c;保障员工生命安全和财产安全&#xff0c;避免出现各种危险隐患&#xff0c;帮助企业快速提高生产发展实力。 一、凡尔码搭建安全巡检系统的功能 1.巡检计划:帮助用户制定巡检计划&#xff0c;包括…

【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例实践应用

目录 第一章 理论基础 第二章 开发环境搭建 第三章 遥感大数据处理基础与ChatGPT等AI模型交互 第四章 典型案例操作实践 第五章 输入输出及数据资产高效管理 第六章 云端数据论文出版级可视化 更多应用 随着航空、航天、近地空间等多个遥感平台的不断发展&#xff0c;近…

微信小程序备案流程操作详解,值得收藏

目录 一、小程序备案法律法规参考 二、备案前准备 2.1 备案入口 2.1.1、未上架小程序 2.1.2、已上架小程序 (二)备案类型 (三)备案材料准备 3.1、小程序备案材料 3.2、前置审批材料 3.3、个人备案 3.4、非个人备案 三、备案整体流程 (一)备案信息填写 1、主体信息…

iOS- flutter flavor 多环境Configurations配置

一、点击PROJECT的Runner&#xff0c;选择Info选项&#xff0c;在Configurations下方的号添加不同环境的配置&#xff0c;如下图&#xff1a; 二、选择TAGETS的Runner项目&#xff0c;选择Build Settings选项&#xff0c;在输入框输入package&#xff0c;为不同环境配置相应的…

docker 登录本地仓库harbor问题

1、报错如下&#xff1a; 添加目标harbor 仓库的hosts vim /etc/hosts 2、报错如下&#xff1a; 添加修改/etc/docker/daemon.json文件中的 insecure-registries vim /etc/docker/daemon.json 然后 systemctl daemon-reload systemctl restart docker再次登录

“之江创客”跨境电商赛区决赛暨浙南新电商发展论坛圆满落幕

9月26日&#xff0c;由商务部中国国际电子商务中心指导&#xff0c;浙江省商务厅等十个部门主办&#xff0c;浙江省电子商务促进中心、温州市商务局、苍南县人民政府承办的“之江创客”2023全球电子商务创业创新大赛跨境电商赛区决赛暨浙南新电商发展论坛在苍南圆满落幕。浙江省…

Excel 函数大全应用,包含各类常用函数

Excel 函数大全应用&#xff0c;各类函数应用与案例实操。 AIGC ChatGPT 职场案例 AI 绘画 与 短视频制作&#xff0c; Power BI 商业智能 68集&#xff0c; 数据库Mysql8.0 54集 数据库Oracle21C 142集&#xff0c; Office 2021实战&#xff0c; Python 数据分析&#xff0…

【使用 TensorFlow 2】01/3 中创建和训练自定义层

之前我们已经看到了如何创建自定义损失函数 接下来&#xff0c;我写了关于使用 Lambda 层创建自定义激活函数的文章 一、说明 TensorFlow 2发布已经接近2年时间&#xff0c;不仅继承了Keras快速上手和易于使用的特性&#xff0c;同时还扩展了原有Keras所不支持的分布式训练…

蓝桥杯(跳跃 C++)

思路&#xff1a; 1、根据题目很容易知道可以用深度搜索、广度搜索、动态规划的思想解题。 2、这里利用深度搜素&#xff0c;由题目可知&#xff0c;可以往九个方向走。 3、这里的判断边界就是走到终点。 #include<iostream> using namespace std; int max1 0; int …

使用 Go 和 Wails 构建跨平台桌面应用程序

由于多种原因&#xff0c;Electron 曾经&#xff08;并且仍然&#xff09;大受欢迎。首先&#xff0c;其跨平台功能使开发人员能够从单个代码库支持 Linux、Windows 和 macOS。最重要的是&#xff0c;它对于熟悉 Javascript 的开发人员来说有一个精简的学习曲线。 尽管它有其缺…

解决Win10电脑无线网卡的移动热点无法开启问题

一、目的 利用无线网卡连接网络&#xff0c;然后又用无线网卡通过移动热点分享该网络。 移动热点&#xff0c;简单地说&#xff0c;就是将台式机或笔记本的 Internet 连接转化成 WIFI 信号以供移动设备无线上网的功能&#xff0c;硬件前提是电脑须安装有无线网卡。 二、问题 …

C/C++陷阱——变量名和函数名的冲突问题

C语言/C陷阱——变量名和函数名的冲突问题 先来看这两串代码&#xff1a; 代码一&#xff1a; #include <stdio.h> #include <stdlib.h>int rand 1;int main() {printf("%d\n", rand);return 0; }代码二&#xff1a; #include <stdio.h> #inc…

介绍一款小巧的Excel比对工具-DiffExcel

【缘起&#xff1a;此前找了一通&#xff0c;没有找到免费又好用的Excel比对工具&#xff0c;而ExcelBDD需要把Excel文件存放到Git&#xff0c;因此迫切需要Excel比对工具。 最新升级到V1.3.3&#xff0c;因为git diff有变化&#xff0c;原来是git diff会修改文件名&#xff0…

Linux Kernel 4.13 RC6发布:正式版9月3日发布

美国当地时间上周末&#xff0c;大神Linus Torvalds发布了Linux Kernel 4.13内核的又一候选版本。上周发布的RC5版本更新幅度也要比上上周的RC4要小&#xff0c;Linus Torvalds表示本周发布的RC6版本属于常规更新&#xff0c;在过去一周的开发过程中并没有出现任何意外。RC6版本…