【DOCKER】綜合項目 MonitorHub (監控中心)

文章目錄

    • 1、項目架構圖
      • 1.1 架構組件
    • 2、實際實施
        • 2.1 安裝docker
        • 2.2 編寫dockerfile文件
          • 2.2.1 Prometheus
          • 2.2.2 node_exporter
          • 2.2.3 nginx+vts模塊
          • 2.2.4 nginx_exporeter 服務發現文件
          • 2.2.5 maridb dockerfile文件
          • 2.2.6 鏡像總數
        • 2.3 具體操作
          • 2.3.1 Prometheus組件
          • 2.3.2 nginx組件
          • 2.3.3 mariadb組件
          • 2.3.4 部署安裝grafana
      • 3、監控展示
      • 4、總結
        • 4.1、項目核心意義
        • 4.2 、項目應用場景

1、項目架構圖

請添加圖片描述

1.1 架構組件

  • MySQL 數據庫 (3306端口)+ MySQL Exporter(9104 端口)
  • Nginx (80)+ Nginx VTS Exporter(9913 端口)
  • Prometheus (9090 端口)+node_exporter(9100)
  • Grafana(3000 端口)

2、實際實施

2.1 安裝docker
1:安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2 #yum-utils 提供了 yum-config-manager
#device mapper 存儲驅動程序需要 device-mapper-persistent-data 和 lvm2
#Device Mapper 是 Linux2.6 內核中支持邏輯卷管理的通用設備映射機制,
它為實現用于存儲資源管理的塊設備驅動提供了一個高度模塊化的內核架構。2:設置阿里云鏡像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3:安裝 Docker-CE
yum install -y docker-cesystemctl stop firewalld.servicesetenforce 0vim /etc/selinux/config
SELINUX=disabledsystemctl start docker.service
systemctl enable docker.service 
------------------鏡像加速--------------------------------
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxxxxxxx.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
---------------------網絡優化----------------------------------------
vim /etc/sysctl.conf
net.ipv4.ip_forward=1sysctl -p
service network restart
systemctl restart docker
---------------------------------------------------------------docker version    #docker版本信息
Client: Docker Engine - CommunityVersion:           26.1.4API version:       1.45Go version:        go1.21.11Git commit:        5650f9bBuilt:             Wed Jun  5 11:32:04 2024OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          26.1.4API version:      1.45 (minimum version 1.24)Go version:       go1.21.11Git commit:       de5c9cfBuilt:            Wed Jun  5 11:31:02 2024OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.33GitCommit:        d2d58213f83a351ca8f528a95fbd145f5654e957runc:Version:          1.1.12GitCommit:        v1.1.12-0-g51d5e94docker-init:Version:          0.19.0GitCommit:        de40ad0
[root@localhost docker]# 
2.2 編寫dockerfile文件

我們一共需要編寫5個dockerfile文件

2.2.1 Prometheus
FROM alpine:latest# 設置工作目錄
WORKDIR /opt
COPY prometheus-2.35.0.linux-amd64.tar.gz /opt# 下載并解壓Prometheus
RUN tar xf prometheus-2.35.0.linux-amd64.tar.gz && \mv prometheus-2.35.0.linux-amd64 /usr/local/prometheus && \rm prometheus-2.35.0.linux-amd64.tar.gz# 創建Prometheus數據目錄
RUN mkdir -p /usr/local/prometheus/data# 配置Prometheus服務
COPY prometheus.service /etc/systemd/system/prometheus.service# 暴露Prometheus默認端口
EXPOSE 9090# 設置啟動命令
CMD ["/usr/local/prometheus/prometheus", \"--config.file=/usr/local/prometheus/prometheus.yml", \"--storage.tsdb.path=/usr/local/prometheus/data/", \"--storage.tsdb.retention=15d", \"--web.enable-lifecycle"]
2.2.2 node_exporter
FROM alpine:latest# 創建用戶和目錄
RUN adduser -D -H -s /sbin/nologin node_exporter# 設置工作目錄
WORKDIR /optCOPY node_exporter-1.3.1.linux-amd64.tar.gz /opt# 下載Node Exporter
RUN tar xf node_exporter-1.3.1.linux-amd64.tar.gz && \mv node_exporter-1.3.1.linux-amd64/node_exporter /usr/local/bin/ && \rm -rf node_exporter-1.3.1.linux-amd64.tar.gz node_exporter-1.3.1.linux-amd64# 暴露端口
EXPOSE 9100# 以非root用戶運行Node Exporter
USER node_exporter
CMD ["node_exporter"]
2.2.3 nginx+vts模塊
FROM alpine:latest# 替換 Alpine 鏡像源為國內鏡像,加快下載速度
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/' /etc/apk/repositories# 安裝編譯依賴
RUN apk add --no-cache gcc make libc-dev openssl-dev pcre-dev zlib-dev# 添加源碼包
ADD nginx-1.18.0.tar.gz /opt
ADD nginx-module-vts-0.1.18.tar.gz /opt# 查看/opt目錄內容,確認解壓后的目錄名
RUN ls -la /opt# 編譯并安裝 Nginx(使用通配符匹配模塊目錄)
RUN mkdir -p /usr/local/nginx-module-vts \&& mv /opt/nginx-module-vts-*/* /usr/local/nginx-module-vts/ \&& cd /opt/nginx-1.18.0 \&& ./configure --prefix=/usr/local/nginx \--add-module=/usr/local/nginx-module-vts \--with-http_stub_status_module \&& make \&& make install \&& ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx \&& adduser -D -H nginx \&& chown -R nginx:nginx /usr/local/nginx/# 安裝 bash(如果需要)
RUN apk add --no-cache bash# 暴露端口并設置啟動命令
EXPOSE 80EXPOSE 8080CMD ["nginx", "-g", "daemon off;"]
2.2.4 nginx_exporeter 服務發現文件
FROM alpine:latest# 設置工作目錄
WORKDIR /optCOPY nginx-vts-exporter-0.10.3.linux-amd64.tar.gz /opt# 下載并解壓nginx-vts-exporter
RUN tar -zxvf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz \&& mv nginx-vts-exporter-0.10.3.linux-amd64/nginx-vts-exporter /usr/local/bin/ \&& rm -rf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz nginx-vts-exporter-0.10.3.linux-amd64# 創建systemd服務文件目錄
RUN mkdir -p /usr/lib/systemd/system# 添加nginx-exporter服務配置
COPY nginx-exporter.service /usr/lib/systemd/system/# 暴露默認端口
EXPOSE 9913# 啟動nginx-exporter服務
CMD ["nginx-vts-exporter", "-nginx.scrape_uri=http://localhost:8080/status/format/json"]
2.2.5 maridb dockerfile文件
FROM mariadb:ltsRUN apt-get update && \apt-get install -y --no-install-recommends curl && \rm -rf /var/lib/apt/lists/*ADD mysqld_exporter-0.14.0.linux-amd64.tar.gz /opt
RUN cp /opt/mysqld_exporter-0.14.0.linux-amd64/mysqld_exporter /usr/local/bin/COPY my.cnf /root/.my.cnfEXPOSE 3306 9104
CMD ["sh", "-c", "mysqld & mysqld_exporter --config.my-cnf=/root/.my.cnf"]
2.2.6 鏡像總數

請添加圖片描述

【注】:tomcat不需要

2.3 具體操作
2.3.1 Prometheus組件
#創建數據卷
docker volume create promdocker run -itd --name prometheus1 -p 9090:9090 -v prom:/usr/local/prometheus custom-prometheus:2.35.0
docker run -itd --name prometheus-ex -p 9100:9100  node-exporter:latestcd volumes/prom/_data/
vim prometheus.yml #添加以下內容- job_name: nodesmetrics_path: "/metrics"static_configs:- targets:- 192.168.107.186:9100labels:service: master_sit- job_name: "mysql"metrics_path: "/metrics"static_configs:- targets: ["192.168.107.186:9104"]- job_name: nginxmetrics_path: "/metrics"static_configs:- targets:- 192.168.107.186:9913
2.3.2 nginx組件
docker volume create nginxdocker run -itd --name nginx01 -p80:80 -p8080:8080 -v nginx:/usr/local/nginx/conf nginx:1.18.0docker run -itd --name nginx-ex -p9913:9913 nginx-export:0.10.3 #http模塊
vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on;#server模塊server {vhost_traffic_status off;listen 8080;allow 127.0.0.1;# allow 192.168.110.128;location /nginx-status {stub_status on;access_log off;}location /status {vhost_traffic_status_display;vhost_traffic_status_display_format html;}}#重啟容器
2.3.3 mariadb組件
#啟動容器
docker run -itd --name mariadb -p3306:3306 -p9104:9104 mariadb:v1 [root@localhost docker]# docker ps -a
CONTAINER ID   IMAGE                      COMMAND                   CREATED         STATUS                      PORTS                                                                                  NAMES
d9908976de61   mariadb:v1                 "docker-entrypoint.s…"   7 seconds ago   Up 6 seconds                0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 0.0.0.0:9104->9104/tcp, :::9104->9104/tcp   mariadb
15976ff7f1b9   node-expoter:latest        "node_exporter"           3 hours ago     Exited (2) 37 minutes ago                                                                                          prom-ex
bf0686de6ae5   custom-prometheus:2.35.0   "/usr/local/promethe…"   3 hours ago     Exited (0) 37 minutes ago [root@localhost docker]# docker exec -it  --privileged=true mariadb /bin/bash
root@d9908976de61:/# service mariadb start* Starting MariaDB database server mariadbd  ...【注意】:此時可能會出現啟動失敗的情況
2025-07-16 14:51:04 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
2025-07-16 14:51:04 0 [Note] InnoDB: log sequence number 37792; transaction id 4
2025-07-16 14:51:04 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2025-07-16 14:51:04 0 [Note] Plugin 'FEEDBACK' is disabled.
2025-07-16 14:51:04 0 [Note] Plugin 'wsrep-provider' is disabled.
2025-07-16 14:51:04 0 [ERROR] Could not open mysql.plugin table: "Table 'mysql.plugin' doesn't exist". Some plugins may be not loaded
2025-07-16 14:51:04 0 [Note] InnoDB: Buffer pool(s) load completed at 250716 14:51:04
2025-07-16 14:51:04 0 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
2025-07-16 14:51:10 0 [Note] Server socket created on IP: '0.0.0.0'.
2025-07-16 14:51:10 0 [Note] Server socket created on IP: '::'.
2025-07-16 14:51:10 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.db' doesn't exist
2025-07-16 14:51:10 0 [ERROR] Aborting
250716 14:51:10 mysqld_safe mysqld from pid file /run/mysqld/mysqld.pid ended#如果啟動失敗,則輸入此條命令
root@d9908976de61:/# mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql#初始情況,默認為沒有密碼,可以直接進入
root@d9908976de61:/# mariadb -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 33
Server version: 11.8.2-MariaDB-ubu2404 mariadb.org binary distributionCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> 
2.3.4 部署安裝grafana
yum install -y grafana-7.4.0-1.x86_64.rpm
systemctl start grafana-server#查看端口狀態
[root@localhost _data]# ss -natp | grep 3000
LISTEN     0      128         :::3000                    :::*                   users:(("grafana-server",pid=39012,fd=11))
[root@localhost _data]# 

3、監控展示

nginx頁面展示

請添加圖片描述

nginx-vts模塊展示

請添加圖片描述

nginx-exporter 組件

請添加圖片描述

mysql-exporter組件

請添加圖片描述

Prometheus監控組件

請添加圖片描述

grafana可視化界面

請添加圖片描述

4、總結

這個基于 Docker 的 “Prometheus + Grafana 監控 MySQL 與 Nginx” 項目,核心意義在于通過標準化、輕量化的方式,實現對關鍵服務的可觀測性,為系統穩定運行、問題排查和性能優化提供數據支撐。其設計(Docker 容器化、多組件聯動、可視化展示)既解決了傳統監控的部署復雜、環境依賴等問題,又能滿足不同場景下的監控需求。

4.1、項目核心意義
  1. 實現 “可觀測性”,降低系統風險
    對于 MySQL(數據存儲核心)和 Nginx(流量入口),一旦出現性能瓶頸(如 MySQL 連接數過高、Nginx 響應延遲)或故障(如服務宕機),可能直接影響業務可用性。
    該項目通過 Prometheus 采集關鍵指標(如 MySQL 的 QPS、Nginx 的請求量),并通過 Grafana 可視化,讓運維 / 開發人員能實時感知系統狀態,避免 “故障發生后才被動發現” 的問題。
  2. 標準化部署,降低落地門檻
    傳統監控工具(如 Prometheus、Grafana)的部署需要手動配置依賴、調整參數,且不同環境(開發 / 測試 / 生產)可能出現配置不一致的問題。
    項目通過 Docker 和 docker-compose 將所有組件(MySQL、Nginx、Exporter、Prometheus、Grafana)打包為容器,實現 “一鍵啟動”,避免環境差異導致的部署問題,同時便于在不同場景中復用。
4.2 、項目應用場景
  1. 中小型企業 / 團隊的服務監控(核心場景)
  • 痛點:缺乏專職運維團隊,需要 “簡單、低成本” 的監控方案,覆蓋核心服務(MySQL 數據庫、Nginx 反向代理)。

  • 適配性
    項目通過 Docker 容器化,無需復雜的服務器配置,只需一臺服務器即可部署全套監控;且監控目標(MySQL、Nginx)本身也可容器化,適合中小型團隊的 “輕量化部署” 需求。

  • 具體作用:

    實時監控 Nginx 是否有異常請求(如 4xx/5xx 錯誤激增,可能是攻擊或接口故障);

    監控 MySQL 的連接數、鎖等待時間(避免因連接耗盡導致應用無法訪問數據庫)。

  1. 開發 / 測試環境的 “預監控”
  • 痛點:開發或測試環境中,服務性能問題(如代碼導致的 MySQL 頻繁慢查詢)若未提前發現,可能直接帶入生產環境。

  • 適配性
    項目可快速在開發 / 測試環境部署(容器化部署耗時短),提前監控服務在 “模擬流量” 下的表現(如通過 Nginx 模擬用戶請求,觀察 MySQL 是否扛住壓力)。

  • 具體作用:

    開發階段:通過監控發現代碼中的性能問題(如接口調用導致 Nginx 響應延遲);

    測試階段:驗證新功能上線后對 MySQL/Nginx 的影響(如是否新增了慢查詢)。

  1. 容器化環境的監控(契合 Docker 生態)
  • 痛點:如果 MySQL、Nginx 本身已通過 Docker 部署(如微服務架構中的容器化服務),傳統基于 “物理機 / 虛擬機” 的監控工具可能無法適配(如無法識別容器內的服務指標)。

  • 適配性
    項目本身基于 Docker 構建,Exporter(如 mysql-exporter、nginx-vts-exporter)可直接與容器內的 MySQL/Nginx 通信,采集容器內的指標,完美適配容器化環境

  • 具體作用:

    監控容器內 MySQL 的資源占用(如 CPU、內存使用率),避免容器資源不足導致服務崩潰;

    跟蹤 Nginx 容器的流量(如不同容器實例的請求分配是否均衡)。

  1. 臨時監控需求(如活動 / 促銷期間)
  • 痛點:電商促銷、活動推廣等場景中,流量可能突然激增,需要臨時監控系統穩定性。

  • 適配性:項目通過 docker-compose 可快速啟動(無需長期部署),活動結束后可直接停止容器,滿足 “臨時、按需” 的監控需求

  • 具體作用:

    實時監控 Nginx 的請求量和錯誤率,避免流量過載導致用戶無法訪問;

    監控 MySQL 的讀寫壓力,防止訂單提交等核心操作因數據庫卡頓失敗

這個項目的核心價值是 “用輕量化、標準化的方式,讓監控從‘復雜且高門檻’變為‘簡單可落地’”,無論是中小型企業的日常運維、容器化環境的服務監控,還是臨時活動的穩定性保障,都能通過它快速搭建起一套可用的監控體系,最終實現 “提前發現問題、減少故障影響、優化系統性能” 的目標。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89213.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89213.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89213.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java List 集合詳解:從基礎到實戰,掌握 Java 列表操作全貌

作為一名 Java 開發工程師&#xff0c;你一定在項目中頻繁使用過 List 集合。它是 Java 集合框架中最常用、最靈活的數據結構之一。無論是從數據庫查詢出的數據&#xff0c;還是前端傳遞的參數列表&#xff0c;List 都是處理這些數據的首選結構。本文將帶你全面掌握&#xff1a…

SGMD辛幾何模態分解 直接替換Excel運行包含頻譜圖相關系數圖 Matlab語言!

SGMD辛幾何模態分解 直接替換Excel運行包含頻譜圖相關系數圖 Matlab語言算法近幾年剛提出&#xff0c;知網還沒幾個人用&#xff0c;你先用&#xff0c;你就是創新&#xff01;算法新穎小眾&#xff0c;用的人很少&#xff0c;包含分解圖、頻譜圖、相關系數圖&#xff0c;效果如…

Oracle數據泵詳解——讓數據遷移像“點外賣”一樣簡單?

?今天我想和大家聊一個數據庫領域的“萬能搬運工”——Oracle數據泵&#xff08;Data Pump&#xff09;?。相信很多人都有過這樣的經歷&#xff1a;業務要上線新系統&#xff0c;得把舊庫的數據搬到新環境&#xff1b;或者領導突然要一份3年前的歷史數據&#xff0c;可不能影…

Leetcode 03 java

爬樓梯算法現在只看明白動態規劃&#xff0c;也沒有很難喲&#xff01;&#xff01;題目70. 爬樓梯假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢&#xff1f;java題解class Solution {public int climbStairs(…

怎么刪除 wps 的右鍵菜單

打開 WPS 點擊 WPS Office 選項卡&#xff0c;點擊右側全局配置》配置和修復工具點擊高級功能定制下的都可以關閉和隱藏點擊確定就可以了。

C++:list

一&#xff0c;list的介紹1&#xff0c;list初步&#xff08;1&#xff09;list是 C 標準模板庫 (STL) 中的一個雙向鏈表容器。它允許在常數時間內進行任意位置的插入和刪除操作&#xff0c;但不支持隨機訪問。&#xff08;2&#xff09;list容器的底層數據結構為帶頭雙向循環鏈…

深入理解Collections.addAll方法

文章目錄深入理解Collections.addAll方法概述方法定義基本用法1. 向List添加元素2. 向Set添加元素3. 添加數組元素與傳統add方法的比較使用傳統add方法使用Collections.addAll性能考慮注意事項實際應用場景與Collection.addAll的區別最佳實踐總結深入理解Collections.addAll方法…

CISP-PTE 練習題(完整一套)

目錄 1、SQL注入 2、文件上傳 3、文件包含 4、代碼審計 5、命令執行 6、端口掃描 7、sql 寫 webshell 8、3389 遠程桌面利用 1、SQL注入 sqllabs-less-24 二次注入 2、文件上傳 沒有對文件后綴進行檢測&#xff0c;但是對文件類型有檢測&#xff0c;需要使用圖片頭繞…

Vue3入門-計算屬性+監聽器

&#x1f3e0;個人主頁&#xff1a;Yui_ &#x1f351;操作環境&#xff1a;vscode\node.js &#x1f680;所屬專欄&#xff1a;Vue3 文章目錄1. 計算屬性1.1 computed函數1.2 計算屬性VS普通函數1.3 計算屬性的完整寫法2. 監聽器3.總結1. 計算屬性 計算屬性&#xff08;compu…

Linux Swap區深度解析:為何禁用?何時需要?

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄前言一、Swap區&#xff1a;Linux的"內存救生圈"二、為什么要禁用Swap&#xff1f;性能的隱形殺手三、何時應該使用Swap&#xff1f;不可或缺的場景四、如…

用TensorFlow進行邏輯回歸(三)

邏輯回歸Logistic regression這個腳本展示如何用TensorFlow求解邏輯回歸。 ()ysigmoid(Axb)我們使用低出生重量數據,特別地:y 0 or 1 low birth weightx demographic and medical history dataimport matplotlib.pyplot as pltimport numpy as npimport tensorflow as tfimp…

mingw 編譯 assimp v6.0.2 解決編譯報錯

mingw 編譯 assimp v6.0.2 理論上看這個就能滿足&#xff1a;在Windows下使用CMakeMinGW64編譯Assimp庫 環境變量問題 i386 architecture of input file CMakeFiles\assimp.dir/objects.a(assimp.rc.obj)’ is incompatible with i386:x86-64 output collect2.exe: error: ld r…

Windows 11清理C盤方法大全:磁盤清理/禁用休眠/系統還原點/優化大師使用教程

Windows 11清理C盤方法1. 使用磁盤清理工具步驟&#xff1a;按 Win S 搜索“磁盤清理”&#xff0c;打開工具。選擇C盤&#xff0c;點擊“確定”。勾選需要清理的文件類型&#xff08;如臨時文件、系統錯誤內存轉儲等&#xff09;&#xff0c;點擊“確定”。確認刪除操作&…

Rabbitmq Direct Exchange(直連交換機)多個消費者,配置相同的key ,隊列,可以保證只有一個消費者消費嗎

思考可以保證消費不被重復消費&#xff0c;因為通過輪詢一個消息只會投遞給一個消費者。但是不是一個消費者消費&#xff0c;而是多個輪詢消費在 RabbitMQ 中&#xff0c;如果多個消費者&#xff08;Consumers&#xff09;同時訂閱 同一個隊列&#xff08;Queue&#xff09;&am…

設計模式是什么呢?

1.掌握設計模式的層次第一層&#xff1a;剛剛學編程不久&#xff0c;聽說過什么是設計模式。第二層&#xff1a;有很長時間的編程經驗&#xff0c;自己寫過很多代碼&#xff0c;其中用到了設計模式&#xff0c;但是自己不知道。第三層&#xff1a;學習過設計模式&#xff0c;發…

ThreadLocal使用詳解-從源碼層面分析

從demo入手看效果 代碼Demostatic ThreadLocal tl1 new ThreadLocal();static ThreadLocal tl2 new ThreadLocal();static ThreadLocal tl3 new ThreadLocal();public static void main(String[] args) {tl1.set("123");tl2.set("456");tl3.set("4…

CPO:對比偏好優化—突破大型語言模型在機器翻譯中的性能邊界

溫馨提示&#xff1a; 本篇文章已同步至"AI專題精講" CPO&#xff1a;對比偏好優化—突破大型語言模型在機器翻譯中的性能邊界 摘要 中等規模的大型語言模型&#xff08;LLMs&#xff09;&#xff0c;如參數量為 7B 或 13B 的模型&#xff0c;在機器翻譯&#xff0…

執行shell 腳本 如何將日志全部輸出到文件

在執行 Shell 腳本時&#xff0c;如果需要將 所有輸出&#xff08;包括標準輸出 stdout 和錯誤輸出 stderr&#xff09; 重定向到日志文件&#xff0c;可以使用以下方法&#xff1a;方法 1&#xff1a;直接重定向&#xff08;推薦&#xff09; /appdata/mysql_backup_dump.sh &…

Postman接口測試實現UI自動化測試

Selenium底層原理 3天精通Postman接口測試&#xff0c;全套項目實戰教程&#xff01;&#xff01;運行代碼&#xff0c;啟動瀏覽器后&#xff0c;webdriver會將瀏覽器綁定到特定的端口&#xff0c;作為webdriver的remote server&#xff08;遠程服務端&#xff09;&#xff0c;…

CSS動畫與變換全解析:從原理到性能優化的深度指南

引言&#xff1a;現代Web動畫的技術革命 在當今的Web體驗中&#xff0c;流暢的動畫效果已成為用戶交互的核心要素。根據Google的研究&#xff0c;60fps的動畫可以使用戶參與度提升53%&#xff0c;而卡頓的界面會導致跳出率增加40%。本文將深入剖析CSS動畫&#xff08;animation…