소스 검색

chore: update translations

Jacky 3 달 전
부모
커밋
d487af0567

+ 2 - 20
app/src/composables/useNginxPerformance.ts

@@ -1,24 +1,6 @@
 import type { NginxPerformanceInfo } from '@/api/ngx'
 import ngx from '@/api/ngx'
-import { computed, ref } from 'vue'
-
-// Time formatting helper function
-function formatTimeAgo(date: Date): string {
-  const now = new Date()
-  const diffMs = now.getTime() - date.getTime()
-  const diffSec = Math.round(diffMs / 1000)
-
-  if (diffSec < 60) {
-    return `${diffSec} ${$gettext('秒前')}`
-  }
-
-  const diffMin = Math.floor(diffSec / 60)
-  if (diffMin < 60) {
-    return `${diffMin} ${$gettext('分钟前')}`
-  }
-
-  return date.toLocaleTimeString()
-}
+import { fromNow } from '@/lib/helper'
 
 export function useNginxPerformance() {
   const loading = ref(false)
@@ -35,7 +17,7 @@ export function useNginxPerformance() {
   const formattedUpdateTime = computed(() => {
     if (!lastUpdateTime.value)
       return $gettext('Unknown')
-    return formatTimeAgo(lastUpdateTime.value)
+    return fromNow(lastUpdateTime.value.toLocaleString())
   })
 
   // Update the last update time

+ 325 - 16
app/src/language/ar/app.po

@@ -54,6 +54,15 @@ msgstr "مستخدم ACME"
 msgid "Action"
 msgstr "إجراء"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -108,7 +117,7 @@ msgstr "الوضع المتقدم"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr "بعد ذلك، قم بتحديث هذه الصفحة وانقر فوق إضافة مفتاح مرور مرة أخرى."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr "الكل"
@@ -205,7 +214,7 @@ msgstr "هل أنت متأكد أنك تريد الحذف؟"
 msgid "Are you sure you want to recover this item?"
 msgstr "هل أنت متأكد أنك تريد استرداد هذا العنصر؟"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "هل أنت متأكد أنك تريد الحذف؟"
@@ -222,7 +231,7 @@ msgstr "هل أنت متأكد أنك تريد إزالة هذا العنصر؟"
 msgid "Are you sure you want to remove this location?"
 msgstr "هل أنت متأكد أنك تريد إزالة هذا المكان؟"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "هل أنت متأكد أنك تريد مسح كافة التنبيهات؟"
@@ -261,6 +270,10 @@ msgstr "إعدادات المصادقة"
 msgid "Author"
 msgstr "الكاتب"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "التحديث التلقائي"
@@ -377,10 +390,27 @@ msgstr "بناء مع"
 msgid "CA Dir"
 msgstr "مجلد سلطة التصديق"
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr "مجلد سلطة التصديق"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -405,6 +435,10 @@ msgstr "حظر تغيير كلمة مرور root في العرض التوضيح
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #, fuzzy
 msgid "Cannot remove initial user"
@@ -636,6 +670,11 @@ msgstr "تم اختبار ملف التكوين بنجاح"
 msgid "Configuration History"
 msgstr "التكوينات"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "التكوينات"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "اسم التكوين"
@@ -652,6 +691,10 @@ msgstr "تكوين SSL"
 msgid "Connected"
 msgstr "متصل"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr "تم فقدان الاتصال، يرجى تحديث الصفحة."
@@ -691,6 +734,14 @@ msgstr "ترقية نواة"
 msgid "CPU Status"
 msgstr "حالة CPU"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU:"
@@ -754,11 +805,20 @@ msgstr "TOTP مفعل للحساب الحالي."
 msgid "Current account is not enabled TOTP."
 msgstr "TOTP معطل للحساب الحالي."
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 msgid "Current Content"
 msgstr "الإصدار الحالي"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "الإصدار الحالي"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "الإصدار الحالي"
@@ -1219,6 +1279,10 @@ msgstr "فشل تفعيل %{conf_name} في %{node_name}"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "تم تفعيل الموقع %{site} على %{node} بنجاح"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "تفعيل TLS"
@@ -1515,6 +1579,11 @@ msgstr "فشل في الحصول على معلومات الشهادة"
 msgid "Failed to get certificate information"
 msgstr "فشل في الحصول على معلومات الشهادة"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "فشل في الحصول على معلومات الشهادة"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 msgid "Failed to load history records"
@@ -1684,6 +1753,11 @@ msgstr "تم الاسترداد بنجاح"
 msgid "Generating private key for registering account"
 msgstr "توليد مفتاح خاص لتسجيل الحساب"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "فشل التسجيل"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
@@ -1705,6 +1779,10 @@ msgstr ""
 msgid "Hide"
 msgstr "إخفاء"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1790,6 +1868,12 @@ msgstr "استيراد"
 msgid "Import Certificate"
 msgstr "استيراد شهادة"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1800,6 +1884,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -1965,6 +2053,11 @@ msgstr "مخصص"
 msgid "Last checked at"
 msgstr "آخر فحص في"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "آخر استخدام في"
+
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgstr "آخر استخدام في"
@@ -2023,6 +2116,10 @@ msgstr "تحميل من الإعدادات"
 msgid "Load successfully"
 msgstr "تم التحميل بنجاح"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
@@ -2121,10 +2218,46 @@ msgstr "إدارة المستخدمين"
 msgid "Managed Certificate"
 msgstr "شهادة مُدارة"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr "الحد الأقصى للمحاولات"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "الإصدار الحالي"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -2134,6 +2267,10 @@ msgstr "ذاكرة"
 msgid "Memory and Storage"
 msgstr "الذاكرة والتخزين"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr "دقائق"
@@ -2190,6 +2327,10 @@ msgstr "توجيه متعدد الأسطر"
 msgid "Name"
 msgstr "اسم"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "شبكة"
@@ -2229,7 +2370,7 @@ msgstr "تم إصدار نسخة جديدة"
 msgid "Next"
 msgstr "التالي"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr "Nginx"
 
@@ -2289,14 +2430,28 @@ msgstr "مجلد تكوينات Nginx"
 msgid "Nginx Control"
 msgstr "التحكم في Nginx"
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr "مسار سجل أخطاء Nginx"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr "Nginx لا يعمل"
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+#, fuzzy
+msgid "Nginx is running"
+msgstr "Nginx لا يعمل"
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr "سجل Nginx"
@@ -2305,6 +2460,11 @@ msgstr "سجل Nginx"
 msgid "Nginx Log Directory Whitelist"
 msgstr "قائمة السماح لمجلد سجلات Nginx"
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgstr "مسار PID لـ Nginx"
@@ -2338,6 +2498,10 @@ msgstr "تم إعادة تشغيل Nginx بنجاح"
 msgid "Nginx Test Config Command"
 msgstr "أمر إعادة تشغيل Nginx"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #, fuzzy
 msgid "Nginx UI already installed"
@@ -2356,8 +2520,8 @@ msgid ""
 msgstr "خطأ في تحليل تكوين Nginx"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2380,6 +2544,10 @@ msgstr "لا"
 msgid "No Action"
 msgstr "إجراء"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2456,6 +2624,13 @@ msgstr "الإشعارات"
 msgid "Notifier not found"
 msgstr "لم يتم العثور على الملف"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgstr "الحصول على شهادة"
@@ -2476,7 +2651,7 @@ msgstr ""
 "قد يتسبب وجوب تثبيت OCSP في حدوث أخطاء لبعض المستخدمين عند الوصول لأول مرة "
 "باستخدام Firefox."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2511,7 +2686,7 @@ msgstr "حسنًا"
 msgid "Once the verification is complete, the records will be removed."
 msgstr "بمجرد اكتمال التحقق، سيتم إزالة السجلات."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2547,6 +2722,20 @@ msgstr "نظام التشغيل"
 msgid "OS:"
 msgstr "نظام التشغيل:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 #, fuzzy
 msgid "Otp or recovery code empty"
@@ -2623,6 +2812,10 @@ msgstr "نفذ"
 msgid "Perform core upgrade error"
 msgstr "خطأ في تنفيذ ترقية النواة"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr "تنفيذ ترقية النواة"
@@ -2631,6 +2824,12 @@ msgstr "تنفيذ ترقية النواة"
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2773,6 +2972,15 @@ msgstr "تفضيل"
 msgid "Preparing lego configurations"
 msgstr "تحضير تكوينات Lego"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "المعلومات الأساسية"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr "حظر تغيير كلمة مرور root في العرض التوضيحي"
@@ -2797,6 +3005,11 @@ msgstr "وكيل"
 msgid "Public Security Number"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2890,7 +3103,7 @@ msgstr "ملاحظة الإصدار"
 msgid "Reload"
 msgstr "إعادة تحميل"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -2919,7 +3132,7 @@ msgstr "خطأ في إعادة تسمية الموقع البعيد"
 msgid "Reload Remote Nginx Success"
 msgstr "تم إعادة تسمية الموقع البعيد بنجاح"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -3038,6 +3251,11 @@ msgstr "تجديد الشهادة بنجاح"
 msgid "Renew successfully"
 msgstr "تم التجديد بنجاح"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "إحصائيات الشبكة"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -3046,6 +3264,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr "تم الطلب باستخدام عوامل خاطئة"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr "إعادة تعيين"
@@ -3054,11 +3276,23 @@ msgstr "إعادة تعيين"
 msgid "Reset 2FA"
 msgstr "إعادة تعيين التحقق بخطوتين"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr "إعادة تشغيل"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
@@ -3085,7 +3319,7 @@ msgstr "خطأ في إعادة تسمية الموقع البعيد"
 msgid "Restart Remote Nginx Success"
 msgstr "تم إعادة تسمية الموقع البعيد بنجاح"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3280,7 +3514,7 @@ msgstr ""
 msgid "Send"
 msgstr "إرسال"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 msgid "Server"
 msgstr "معلومات الخادم"
@@ -3577,7 +3811,7 @@ msgstr "خطأ في تزامن التكوين"
 msgid "Sync Config Success"
 msgstr "تمت مزامنة التكوين بنجاح"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgstr "مزامنة العقد"
@@ -3743,6 +3977,14 @@ msgstr "عنوان URL غير صالح."
 msgid "The username or password is incorrect"
 msgstr "اسم المستخدم أو كلمة المرور غير صحيحة"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3782,6 +4024,12 @@ msgid ""
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr "يجب أن يحتوي هذا الحقل على حروف وأحرف يونيكود وأرقام و-_. فقط."
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3827,6 +4075,12 @@ msgstr "كبح"
 msgid "Tips"
 msgstr "نصائح"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr "عنوان"
@@ -3874,6 +4128,11 @@ msgstr ""
 "نهاية API متوافقة مع OpenAI، لذا قم فقط بتعيين baseUrl إلىAPI المحلية الخاصة "
 "بك."
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "فشل التفعيل"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr "الرمز غير صالح"
@@ -3888,6 +4147,33 @@ msgstr[3] ""
 msgstr[4] ""
 msgstr[5] ""
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr "كلمة مرور لمرة واحدة تعتمد على الوقت"
@@ -3915,6 +4201,10 @@ msgstr "يتطلب المصادقة الثنائية"
 msgid "Type"
 msgstr "نوع"
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -4006,6 +4296,10 @@ msgstr "اسم المستخدم (*)"
 msgid "Valid"
 msgstr "صالح"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -4043,6 +4337,11 @@ msgstr "رمز الاسترداد"
 msgid "Viewed"
 msgstr "عرض"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4119,6 +4418,16 @@ msgid ""
 "codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -4132,8 +4441,8 @@ msgstr "كتابة مفتاح الشهادة الخاص إلى القرص"
 msgid "Writing certificate to disk"
 msgstr "كتابة الشهادة إلى القرص"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 325 - 16
app/src/language/de_DE/app.po

@@ -51,6 +51,15 @@ msgstr "Benutzername"
 msgid "Action"
 msgstr "Aktion"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -111,7 +120,7 @@ msgstr ""
 "Anschließend diese Seite aktualisieren und erneut auf Passkey hinzufügen "
 "klicken."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr "Alle"
@@ -216,7 +225,7 @@ msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?"
@@ -236,7 +245,7 @@ msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?"
@@ -275,6 +284,10 @@ msgstr "Authentifizierungseinstellungen"
 msgid "Author"
 msgstr "Autor"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "Automatische Aktualisierung"
@@ -395,10 +408,27 @@ msgstr "Build mit"
 msgid "CA Dir"
 msgstr "CA-Verzeichnis"
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr "CA-Verzeichnis"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -423,6 +453,10 @@ msgstr "Verhindere das Ändern des Root-Passworts in der Demo"
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #, fuzzy
 msgid "Cannot remove initial user"
@@ -656,6 +690,11 @@ msgstr "Konfigurationsdatei erfolgreich getestet"
 msgid "Configuration History"
 msgstr "Konfigurationen"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Konfigurationen"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "Konf"
@@ -672,6 +711,10 @@ msgstr "SSL konfigurieren"
 msgid "Connected"
 msgstr "Verbunden"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr "Ver"
@@ -711,6 +754,14 @@ msgstr "Core-Upgrade"
 msgid "CPU Status"
 msgstr "CPU-Status"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU:"
@@ -778,11 +829,20 @@ msgstr "Aktuelles Konto ist TOTP aktiviert."
 msgid "Current account is not enabled TOTP."
 msgstr "Aktuelles Konto ist nicht TOTP aktiviert."
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 msgid "Current Content"
 msgstr "Aktuelle Version"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Aktuelle Version"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "Aktuelle Version"
@@ -1263,6 +1323,10 @@ msgstr "Aktivieren von %{conf_name} in %{node_name} fehlgeschlagen"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Erfolgreich gespeichert"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "Aktiviere TLS"
@@ -1562,6 +1626,11 @@ msgstr "Fehler beim Abrufen von Zertifikatsinformationen"
 msgid "Failed to get certificate information"
 msgstr "Fehler beim Abrufen von Zertifikatsinformationen"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "Fehler beim Abrufen von Zertifikatsinformationen"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 msgid "Failed to load history records"
@@ -1733,6 +1802,11 @@ msgstr "Speichern erfolgreich"
 msgid "Generating private key for registering account"
 msgstr "Generiere privaten Schlüssel zur Registrierung des Kontos"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "Aktivieren fehlgeschlagen"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #, fuzzy
@@ -1755,6 +1829,10 @@ msgstr ""
 msgid "Hide"
 msgstr "Verstecken"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1841,6 +1919,12 @@ msgstr "Import"
 msgid "Import Certificate"
 msgstr "Zertifikatsstatus"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1851,6 +1935,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -2019,6 +2107,11 @@ msgstr "Benutzerdefiniert"
 msgid "Last checked at"
 msgstr "Zuletzt überprüft am"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "Erstellt am"
+
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 msgid "Last used at"
@@ -2084,6 +2177,10 @@ msgstr "Aus Einstellungen laden"
 msgid "Load successfully"
 msgstr "Speichern erfolgreich"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
@@ -2188,10 +2285,46 @@ msgstr "Verwalte Benutzer"
 msgid "Managed Certificate"
 msgstr "Zertifikat ist gültig"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr "Maximale Versuche"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "Aktuelle Version"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -2201,6 +2334,10 @@ msgstr "Arbeitsspeicher"
 msgid "Memory and Storage"
 msgstr "Arbeitsspeicher und Speicher"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr "Minuten"
@@ -2262,6 +2399,10 @@ msgstr "Einzelne Anweisung"
 msgid "Name"
 msgstr "Name"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "Netzwerk"
@@ -2303,7 +2444,7 @@ msgstr "Neue Version veröffentlicht"
 msgid "Next"
 msgstr "Nächster"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr ""
 
@@ -2365,14 +2506,28 @@ msgstr "Name der Konfiguration"
 msgid "Nginx Control"
 msgstr "Nginx-Steuerung"
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr "Nginx Fehlerlog-Pfad"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr "Nginx läuft nicht"
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+#, fuzzy
+msgid "Nginx is running"
+msgstr "Nginx läuft nicht"
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr "Nginx-Log"
@@ -2381,6 +2536,11 @@ msgstr "Nginx-Log"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Nginx-Log-Verzeichnis-Whitelist"
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgstr "Nginx PID-Pfad"
@@ -2416,6 +2576,10 @@ msgstr "Speichern erfolgreich"
 msgid "Nginx Test Config Command"
 msgstr "Beffehl zum Neustarten von Nginx"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #, fuzzy
 msgid "Nginx UI already installed"
@@ -2434,8 +2598,8 @@ msgid ""
 msgstr "Name der Konfiguration"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2458,6 +2622,10 @@ msgstr "Nein"
 msgid "No Action"
 msgstr "Aktion"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2538,6 +2706,13 @@ msgstr "Zertifikat ist gültig"
 msgid "Notifier not found"
 msgstr "File Not Found"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 msgid "Obtain certificate"
@@ -2559,7 +2734,7 @@ msgstr ""
 "OCSP Must Staple kann bei einigen Benutzern beim ersten Zugriff mit Firefox "
 "Fehler verursachen."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2595,7 +2770,7 @@ msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 "Sobaöd die Überprüfung abgeschlossen ist, werden die Einträge entfernt."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2632,6 +2807,20 @@ msgstr "OS:"
 msgid "OS:"
 msgstr "OS:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 #, fuzzy
 msgid "Otp or recovery code empty"
@@ -2708,6 +2897,10 @@ msgstr "Ausführen"
 msgid "Perform core upgrade error"
 msgstr "Führe Core-Upgrade-Fehler aus"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr "Führe Core-Upgrade aus"
@@ -2716,6 +2909,12 @@ msgstr "Führe Core-Upgrade aus"
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2870,6 +3069,15 @@ msgstr "Einstellungen"
 msgid "Preparing lego configurations"
 msgstr "Konfigurationen"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "Basisinformationen"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr "Verhindere das Ändern des Root-Passworts in der Demo"
@@ -2894,6 +3102,11 @@ msgstr "Proxy"
 msgid "Public Security Number"
 msgstr "Öffentliche Sicherheitsnummer"
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2994,7 +3207,7 @@ msgstr "Änderungsprotokoll"
 msgid "Reload"
 msgstr "Neu laden"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -3023,7 +3236,7 @@ msgstr "Zertifikat ist gültig"
 msgid "Reload Remote Nginx Success"
 msgstr "Zertifikat ist gültig"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -3156,6 +3369,11 @@ msgstr "Zertifikat ist gültig"
 msgid "Renew successfully"
 msgstr "Aktivierung erfolgreich"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Netzwerkstatistiken"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -3164,6 +3382,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr "Forderte mit falschen Parametern an"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr "Zurücksetzen"
@@ -3172,11 +3394,23 @@ msgstr "Zurücksetzen"
 msgid "Reset 2FA"
 msgstr "Setze 2FA zurück"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr "Neustart"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
@@ -3203,7 +3437,7 @@ msgstr "Zertifikat ist gültig"
 msgid "Restart Remote Nginx Success"
 msgstr "Zertifikat ist gültig"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3403,7 +3637,7 @@ msgstr ""
 msgid "Send"
 msgstr "Senden"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 msgid "Server"
 msgstr "Serverinformationen"
@@ -3709,7 +3943,7 @@ msgstr "Zertifikat ist gültig"
 msgid "Sync Config Success"
 msgstr "Zertifikat ist gültig"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgstr "Synchrone Knoten"
@@ -3879,6 +4113,14 @@ msgstr "Die URL ist ungültig."
 msgid "The username or password is incorrect"
 msgstr "Benuztername oder Passwort ist falsch"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3919,6 +4161,12 @@ msgid ""
 msgstr ""
 "Dieses Feld sollte nur Buchstaben, Unicode-Zeichen, Zahlen und -_ enthalten."
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3966,6 +4214,12 @@ msgstr "Begrenzung"
 msgid "Tips"
 msgstr "Tipps"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr "Titel"
@@ -4013,6 +4267,11 @@ msgstr ""
 "oder lmdeploy. Sie bieten einen OpenAI-kompatiblen API-Endpunkt, also setze "
 "die baseUrl auf deine lokale API."
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Aktivieren fehlgeschlagen"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr "Schlüssel ist ungültig"
@@ -4023,6 +4282,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] "Gesamt %{total} Element"
 msgstr[1] "Gesamt %{total} Elemente"
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr "TOTP"
@@ -4050,6 +4336,10 @@ msgstr "Zwei-Faktor-Authentifizierung erforderlich"
 msgid "Type"
 msgstr "Typ"
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -4146,6 +4436,10 @@ msgstr "Benutzername (*)"
 msgid "Valid"
 msgstr "Gültig"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -4185,6 +4479,11 @@ msgstr "Wiederherstellungscode"
 msgid "Viewed"
 msgstr "Anzeigen"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4264,6 +4563,16 @@ msgid ""
 "codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -4277,8 +4586,8 @@ msgstr "Scrheibe Zertifikat-Privatschlüssel auf die Festplatte"
 msgid "Writing certificate to disk"
 msgstr "Schreibe Zertifikat auf die Festplatte"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 324 - 16
app/src/language/en/app.po

@@ -52,6 +52,15 @@ msgstr "Username"
 msgid "Action"
 msgstr "Action"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -110,7 +119,7 @@ msgstr "Advance Mode"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr ""
@@ -215,7 +224,7 @@ msgstr "Are you sure you want to remove this directive?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Are you sure you want to remove this directive?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Are you sure you want to remove this directive?"
@@ -234,7 +243,7 @@ msgstr "Are you sure you want to remove this directive?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Are you sure you want to remove this directive?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Are you sure you want to remove this directive?"
@@ -272,6 +281,10 @@ msgstr ""
 msgid "Author"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr ""
@@ -391,10 +404,27 @@ msgstr "Build with"
 msgid "CA Dir"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -418,6 +448,10 @@ msgstr ""
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgstr ""
@@ -650,6 +684,11 @@ msgstr ""
 msgid "Configuration History"
 msgstr "Configurations"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Configurations"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "Configuration Name"
@@ -666,6 +705,10 @@ msgstr "Configure SSL"
 msgid "Connected"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr ""
@@ -703,6 +746,14 @@ msgstr ""
 msgid "CPU Status"
 msgstr "CPU Status"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU:"
@@ -770,11 +821,20 @@ msgstr ""
 msgid "Current account is not enabled TOTP."
 msgstr ""
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 msgid "Current Content"
 msgstr "Content"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Content"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr ""
@@ -1249,6 +1309,10 @@ msgstr "Saved successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Saved successfully"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "Enable TLS"
@@ -1549,6 +1613,11 @@ msgstr "Certificate is valid"
 msgid "Failed to get certificate information"
 msgstr "Certificate is valid"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "Certificate is valid"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 msgid "Failed to load history records"
@@ -1720,6 +1789,11 @@ msgstr "Saved successfully"
 msgid "Generating private key for registering account"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "Enable failed"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #, fuzzy
@@ -1742,6 +1816,10 @@ msgstr ""
 msgid "Hide"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1819,6 +1897,12 @@ msgstr ""
 msgid "Import Certificate"
 msgstr "Certificate Status"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1829,6 +1913,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -2001,6 +2089,11 @@ msgstr ""
 msgid "Last checked at"
 msgstr "Created at"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "Created at"
+
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 msgid "Last used at"
@@ -2066,6 +2159,10 @@ msgstr ""
 msgid "Load successfully"
 msgstr "Saved successfully"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
@@ -2162,10 +2259,46 @@ msgstr "Manage Users"
 msgid "Managed Certificate"
 msgstr "Certificate is valid"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "Content"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -2175,6 +2308,10 @@ msgstr "Memory"
 msgid "Memory and Storage"
 msgstr "Memory and Storage"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr ""
@@ -2236,6 +2373,10 @@ msgstr "Single Directive"
 msgid "Name"
 msgstr "Name"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "Network"
@@ -2277,7 +2418,7 @@ msgstr ""
 msgid "Next"
 msgstr "Next"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr ""
 
@@ -2339,14 +2480,27 @@ msgstr "Configuration Name"
 msgid "Nginx Control"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr ""
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+msgid "Nginx is running"
+msgstr ""
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr ""
@@ -2356,6 +2510,11 @@ msgstr ""
 msgid "Nginx Log Directory Whitelist"
 msgstr "Configuration Name"
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgstr ""
@@ -2390,6 +2549,10 @@ msgstr "Saved successfully"
 msgid "Nginx Test Config Command"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgstr ""
@@ -2407,8 +2570,8 @@ msgid ""
 msgstr "Configuration Name"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2431,6 +2594,10 @@ msgstr "No"
 msgid "No Action"
 msgstr "Action"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2509,6 +2676,13 @@ msgstr "Certificate is valid"
 msgid "Notifier not found"
 msgstr "File Not Found"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 msgid "Obtain certificate"
@@ -2529,7 +2703,7 @@ msgid ""
 "Firefox."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2564,7 +2738,7 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2601,6 +2775,20 @@ msgstr "OS:"
 msgid "OS:"
 msgstr "OS:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgstr ""
@@ -2674,6 +2862,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgstr "Certificate has expired"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr ""
@@ -2682,6 +2874,12 @@ msgstr ""
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2820,6 +3018,15 @@ msgstr ""
 msgid "Preparing lego configurations"
 msgstr "Configurations"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "Base information"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr ""
@@ -2844,6 +3051,11 @@ msgstr ""
 msgid "Public Security Number"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2944,7 +3156,7 @@ msgstr ""
 msgid "Reload"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -2972,7 +3184,7 @@ msgstr "Certificate is valid"
 msgid "Reload Remote Nginx Success"
 msgstr "Certificate is valid"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -3105,6 +3317,11 @@ msgstr "Certificate is valid"
 msgid "Renew successfully"
 msgstr "Enabled successfully"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Network Statistics"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -3113,6 +3330,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr ""
@@ -3121,11 +3342,23 @@ msgstr ""
 msgid "Reset 2FA"
 msgstr ""
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 msgid "Restart Nginx"
@@ -3151,7 +3384,7 @@ msgstr "Certificate is valid"
 msgid "Restart Remote Nginx Success"
 msgstr "Certificate is valid"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3351,7 +3584,7 @@ msgstr ""
 msgid "Send"
 msgstr "Send"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 msgid "Server"
 msgstr "Server Info"
@@ -3659,7 +3892,7 @@ msgstr "Certificate is valid"
 msgid "Sync Config Success"
 msgstr "Certificate is valid"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgstr ""
@@ -3820,6 +4053,14 @@ msgstr ""
 msgid "The username or password is incorrect"
 msgstr "Password"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3859,6 +4100,12 @@ msgid ""
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3905,6 +4152,12 @@ msgstr ""
 msgid "Tips"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr ""
@@ -3941,6 +4194,11 @@ msgid ""
 "local API."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Enable failed"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr ""
@@ -3951,6 +4209,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr ""
@@ -3976,6 +4261,10 @@ msgstr ""
 msgid "Type"
 msgstr ""
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -4073,6 +4362,10 @@ msgstr "Username (*)"
 msgid "Valid"
 msgstr "Invalid E-mail!"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -4113,6 +4406,11 @@ msgstr "Invalid E-mail!"
 msgid "Viewed"
 msgstr "Basic Mode"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4178,6 +4476,16 @@ msgid ""
 "codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -4192,8 +4500,8 @@ msgstr ""
 msgid "Writing certificate to disk"
 msgstr "Certificate is valid"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 325 - 16
app/src/language/es/app.po

@@ -57,6 +57,15 @@ msgstr "Usuario ACME"
 msgid "Action"
 msgstr "Acción"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -113,7 +122,7 @@ msgstr ""
 "Luego, actualice esta página y haga clic nuevamente en Agregar llave de "
 "acceso."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr "Todo"
@@ -210,7 +219,7 @@ msgstr "¿Está seguro de que quiere borrar?"
 msgid "Are you sure you want to recover this item?"
 msgstr "¿Está seguro de que quiere recuperar este elemento?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "¿Está seguro de que quiere borrar?"
@@ -227,7 +236,7 @@ msgstr "¿Está seguro de que desea eliminar este elemento?"
 msgid "Are you sure you want to remove this location?"
 msgstr "¿Está seguro de que quiere borrar esta ubicación?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "¿Está seguro de que desea borrar todas las notificaciones?"
@@ -266,6 +275,10 @@ msgstr "Configuración de autenticación"
 msgid "Author"
 msgstr "Autor"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "Actualización automática"
@@ -384,10 +397,27 @@ msgstr "Desarrollado con"
 msgid "CA Dir"
 msgstr "Dir CA"
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr "Directorio CA"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -412,6 +442,10 @@ msgstr "Prohibir cambiar la contraseña de root en la demostración"
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #, fuzzy
 msgid "Cannot remove initial user"
@@ -635,6 +669,11 @@ msgstr "El archivo de configuración se probó exitosamente"
 msgid "Configuration History"
 msgstr "Configuraciones"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Configuraciones"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "Nombre de la configuración"
@@ -651,6 +690,10 @@ msgstr "Configurar SSL"
 msgid "Connected"
 msgstr "Conectado"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr "Conexión perdida, por favor actualice la página."
@@ -690,6 +733,14 @@ msgstr "Actualización del kernel"
 msgid "CPU Status"
 msgstr "Estado del CPU"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU:"
@@ -753,11 +804,20 @@ msgstr "La cuenta actual tiene habilitada TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr "La cuenta actual no tiene habilitada TOTP."
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 msgid "Current Content"
 msgstr "Versión actual"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Versión actual"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "Versión actual"
@@ -1221,6 +1281,10 @@ msgstr "Falló el habilitado de %{conf_name} en %{node_name}"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Habilitado exitoso de %{conf_name} en %{node_name}"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "Habilitar TLS"
@@ -1517,6 +1581,11 @@ msgstr "No se pudo obtener la información del certificado"
 msgid "Failed to get certificate information"
 msgstr "No se pudo obtener la información del certificado"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "No se pudo obtener la información del certificado"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 msgid "Failed to load history records"
@@ -1685,6 +1754,11 @@ msgstr "Recuperado con éxito"
 msgid "Generating private key for registering account"
 msgstr "Generando clave privada para registrar cuenta"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "Fallo en el registro"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
@@ -1706,6 +1780,10 @@ msgstr ""
 msgid "Hide"
 msgstr "Ocultar"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1793,6 +1871,12 @@ msgstr "Importar"
 msgid "Import Certificate"
 msgstr "Importar Certificado"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1803,6 +1887,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -1965,6 +2053,11 @@ msgstr "Personalizado"
 msgid "Last checked at"
 msgstr "Comprobado por última vez el"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "Comprobado por última vez el"
+
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 msgid "Last used at"
@@ -2025,6 +2118,10 @@ msgstr "Cargar desde configuraciones"
 msgid "Load successfully"
 msgstr "Cargado con éxito"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
@@ -2124,10 +2221,46 @@ msgstr "Administrar usuarios"
 msgid "Managed Certificate"
 msgstr "Certificado Administrado"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr "Intentos máximos"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "Versión actual"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -2137,6 +2270,10 @@ msgstr "Memoria"
 msgid "Memory and Storage"
 msgstr "Memoria y almacenamiento"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr "Minutos"
@@ -2193,6 +2330,10 @@ msgstr "Directiva multilínea"
 msgid "Name"
 msgstr "Nombre"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "Red"
@@ -2232,7 +2373,7 @@ msgstr "Se liberó una nueva versión"
 msgid "Next"
 msgstr "Siguiente"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr "Nginx"
 
@@ -2293,14 +2434,28 @@ msgstr "Error de análisis de configuración de Nginx"
 msgid "Nginx Control"
 msgstr "Control de Nginx"
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr "Ruta de registro de errores de Nginx"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr "Nginx no se está ejecutando"
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+#, fuzzy
+msgid "Nginx is running"
+msgstr "Nginx no se está ejecutando"
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr "Registro Nginx"
@@ -2309,6 +2464,11 @@ msgstr "Registro Nginx"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Lista blanca de directorios de registro de Nginx"
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 msgid "Nginx PID Path"
@@ -2344,6 +2504,10 @@ msgstr "Nginx reiniciado con éxito"
 msgid "Nginx Test Config Command"
 msgstr "Comando de inicio de terminal"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #, fuzzy
 msgid "Nginx UI already installed"
@@ -2362,8 +2526,8 @@ msgid ""
 msgstr "Error de análisis de configuración de Nginx"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2386,6 +2550,10 @@ msgstr "No"
 msgid "No Action"
 msgstr "Acción"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2464,6 +2632,13 @@ msgstr "Notificaciones"
 msgid "Notifier not found"
 msgstr "Archivo no Encontrado"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgstr "Obtener certificado"
@@ -2484,7 +2659,7 @@ msgstr ""
 "OCSP Must Staple puede causar errores para algunos usuarios en el primer "
 "acceso usando Firefox."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2519,7 +2694,7 @@ msgstr "OK"
 msgid "Once the verification is complete, the records will be removed."
 msgstr "Una vez que se complete la verificación, los registros se eliminarán."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2555,6 +2730,20 @@ msgstr "SO"
 msgid "OS:"
 msgstr "SO:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 #, fuzzy
 msgid "Otp or recovery code empty"
@@ -2632,6 +2821,10 @@ msgstr "Realizar"
 msgid "Perform core upgrade error"
 msgstr "Error al ejecutar la actualización del kernel"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr "Realizando la actualizaciónd el kernel"
@@ -2640,6 +2833,12 @@ msgstr "Realizando la actualizaciónd el kernel"
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2793,6 +2992,15 @@ msgstr "Configuración"
 msgid "Preparing lego configurations"
 msgstr "Preparar la configuración de LEGO"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "Información general"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr "Prohibir cambiar la contraseña de root en la demostración"
@@ -2818,6 +3026,11 @@ msgstr "Proxy de la API"
 msgid "Public Security Number"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2915,7 +3128,7 @@ msgstr "Nota de versión"
 msgid "Reload"
 msgstr "Recargar"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -2944,7 +3157,7 @@ msgstr "Error al renombrar la configuración remota"
 msgid "Reload Remote Nginx Success"
 msgstr "Renombrar Configuración Remota Exitosa"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -3066,6 +3279,11 @@ msgstr "Renovado de Certificado exitoso"
 msgid "Renew successfully"
 msgstr "Renovado con éxito"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Estadísticas de red"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -3074,6 +3292,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr "Pedido con parámetros incorrectos"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr "Limpiar"
@@ -3082,11 +3304,23 @@ msgstr "Limpiar"
 msgid "Reset 2FA"
 msgstr "Restablecer 2FA"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr "Reiniciar"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
@@ -3113,7 +3347,7 @@ msgstr "Error al renombrar la configuración remota"
 msgid "Restart Remote Nginx Success"
 msgstr "Renombrar Configuración Remota Exitosa"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3312,7 +3546,7 @@ msgstr ""
 msgid "Send"
 msgstr "Enviado"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 msgid "Server"
 msgstr "Información del servidor"
@@ -3606,7 +3840,7 @@ msgstr "Error de Configuración de Sincronización"
 msgid "Sync Config Success"
 msgstr "Configuración de sincronización exitosa"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #, fuzzy
 msgid "Sync Nodes"
@@ -3779,6 +4013,14 @@ msgstr "La URL no es válida."
 msgid "The username or password is incorrect"
 msgstr "El nombre de usuario o contraseña son incorrectos"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3823,6 +4065,12 @@ msgstr ""
 "El nombre del modelo solo debe contener letras, unicode, números, guiones, "
 "rayas y puntos."
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3870,6 +4118,12 @@ msgstr "Acelerador"
 msgid "Tips"
 msgstr "Consejos"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr "Título"
@@ -3919,6 +4173,11 @@ msgstr ""
 "Estos proporcionan un API endpoint compatible con OpenAI, por lo que solo "
 "debe configurar la baseUrl en su API local."
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Falló la habilitación"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr "El token no es válido"
@@ -3929,6 +4188,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr "TOTP"
@@ -3956,6 +4242,10 @@ msgstr "Se requiere autenticación de dos factores"
 msgid "Type"
 msgstr "Tipo"
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -4048,6 +4338,10 @@ msgstr "Nombre de usuario (*)"
 msgid "Valid"
 msgstr "Válido"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -4085,6 +4379,11 @@ msgstr "Código de Recuperación"
 msgid "Viewed"
 msgstr "Ver"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4165,6 +4464,16 @@ msgid ""
 "codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -4178,8 +4487,8 @@ msgstr "Escribir la clave privada del certificado a disco"
 msgid "Writing certificate to disk"
 msgstr "Escribir certificado a disco"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 324 - 16
app/src/language/fr_FR/app.po

@@ -56,6 +56,15 @@ msgstr "Nom d'utilisateur"
 msgid "Action"
 msgstr "Action"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -115,7 +124,7 @@ msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 "Après, rechargez la page et cliquez de nouveau sur ajouter une clé d'accès."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr "Tous"
@@ -221,7 +230,7 @@ msgstr "Etes-vous sûr que vous voulez supprimer ?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Voulez-vous vraiment supprimer cette directive ?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Etes-vous sûr que vous voulez supprimer ?"
@@ -239,7 +248,7 @@ msgstr "Voulez-vous vraiment supprimer cette directive ?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Voulez-vous vraiment supprimer cette localisation ?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Voulez-vous vraiment effacer l'historique du chat ?"
@@ -279,6 +288,10 @@ msgstr "Options d'authentification"
 msgid "Author"
 msgstr "Autheur"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "Actualisation automatique"
@@ -398,10 +411,27 @@ msgstr "Build avec"
 msgid "CA Dir"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -426,6 +456,10 @@ msgstr "Interdire la modification du mot de passe root dans la démo"
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgstr "Impossible de retirer l'utilisateur initial"
@@ -661,6 +695,11 @@ msgstr "Le fichier de configuration est testé avec succès"
 msgid "Configuration History"
 msgstr "Configurations"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Configurations"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "Nom de la configuration"
@@ -677,6 +716,10 @@ msgstr "Configurer SSL"
 msgid "Connected"
 msgstr "Connecté"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr "Connexion perdue, merci de recharger la page."
@@ -715,6 +758,14 @@ msgstr "Mise à jour du core"
 msgid "CPU Status"
 msgstr "État du processeur"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU :"
@@ -782,11 +833,20 @@ msgstr "Le compte actuel a le TOTP d'activé."
 msgid "Current account is not enabled TOTP."
 msgstr "Le compte actuel n'a pas le TOTP d'activé."
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 msgid "Current Content"
 msgstr "Version actuelle"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Version actuelle"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "Version actuelle"
@@ -1269,6 +1329,10 @@ msgstr "Dupliqué avec succès"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Dupliqué avec succès"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "Activer TLS"
@@ -1570,6 +1634,11 @@ msgstr "Échec de l'obtention des informations sur le certificat"
 msgid "Failed to get certificate information"
 msgstr "Échec de l'obtention des informations sur le certificat"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "Échec de l'obtention des informations sur le certificat"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 msgid "Failed to load history records"
@@ -1746,6 +1815,11 @@ msgstr "Enregistré avec succès"
 msgid "Generating private key for registering account"
 msgstr "Génération de clé privée pour l'enregistrement du compte"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "Enregistrement de l'utilisateur"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
@@ -1767,6 +1841,10 @@ msgstr ""
 msgid "Hide"
 msgstr "Cacher"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1859,6 +1937,12 @@ msgstr "Exporter"
 msgid "Import Certificate"
 msgstr "État du certificat"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1869,6 +1953,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -2037,6 +2125,11 @@ msgstr "Custom"
 msgid "Last checked at"
 msgstr "Dernière vérification le"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "Dernière vérification le"
+
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 msgid "Last used at"
@@ -2102,6 +2195,10 @@ msgstr "Charger à partir des options"
 msgid "Load successfully"
 msgstr "Enregistré avec succès"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
@@ -2201,10 +2298,46 @@ msgstr "Gérer les utilisateurs"
 msgid "Managed Certificate"
 msgstr "Changer de certificat"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr "Tentatives maximum"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "Version actuelle"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -2214,6 +2347,10 @@ msgstr "Mémoire"
 msgid "Memory and Storage"
 msgstr "Mémoire et stockage"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr ""
@@ -2273,6 +2410,10 @@ msgstr "Directive multiligne"
 msgid "Name"
 msgstr "Nom"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "Réseau"
@@ -2314,7 +2455,7 @@ msgstr "Nouvelle version publiée"
 msgid "Next"
 msgstr "Suivant"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 #, fuzzy
 msgid "Nginx"
 msgstr "Journal Nginx"
@@ -2376,14 +2517,27 @@ msgstr "Erreur d'analyse de configuration Nginx"
 msgid "Nginx Control"
 msgstr "Contrôle Nginx"
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr "Chemin du journal des erreurs Nginx"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+msgid "Nginx is running"
+msgstr ""
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr "Journal Nginx"
@@ -2393,6 +2547,11 @@ msgstr "Journal Nginx"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Erreur d'analyse de configuration Nginx"
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 msgid "Nginx PID Path"
@@ -2429,6 +2588,10 @@ msgstr "Nginx a redémarré avec succès"
 msgid "Nginx Test Config Command"
 msgstr "Commande de démarrage du terminal"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgstr ""
@@ -2446,8 +2609,8 @@ msgid ""
 msgstr "Erreur d'analyse de configuration Nginx"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2470,6 +2633,10 @@ msgstr "Non"
 msgid "No Action"
 msgstr "Action"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2548,6 +2715,13 @@ msgstr "Certification"
 msgid "Notifier not found"
 msgstr "Fichier introuvable"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgstr "Obtenir un certificat"
@@ -2566,7 +2740,7 @@ msgid ""
 "Firefox."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2601,7 +2775,7 @@ msgstr "OK"
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2637,6 +2811,20 @@ msgstr "OS"
 msgid "OS:"
 msgstr "OS :"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgstr ""
@@ -2709,6 +2897,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgstr "Erreur lors de la mise a niveau du core"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr "Exécution de la mise à niveau du core"
@@ -2717,6 +2909,12 @@ msgstr "Exécution de la mise à niveau du core"
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2863,6 +3061,15 @@ msgstr "Préférence"
 msgid "Preparing lego configurations"
 msgstr "Préparation des configurations de lego"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "Information générale"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr "Interdire la modification du mot de passe root dans la démo"
@@ -2888,6 +3095,11 @@ msgstr "Proxy d'API"
 msgid "Public Security Number"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #, fuzzy
@@ -2989,7 +3201,7 @@ msgstr "Note de version"
 msgid "Reload"
 msgstr "Recharger"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -3018,7 +3230,7 @@ msgstr "Changer de certificat"
 msgid "Reload Remote Nginx Success"
 msgstr "Changer de certificat"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -3151,6 +3363,11 @@ msgstr "Changer de certificat"
 msgid "Renew successfully"
 msgstr "Activé avec succès"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Statistiques du réseau"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -3159,6 +3376,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr "Réinitialiser"
@@ -3168,11 +3389,23 @@ msgstr "Réinitialiser"
 msgid "Reset 2FA"
 msgstr "Réinitialiser"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr "Redémarrer"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
@@ -3199,7 +3432,7 @@ msgstr "Changer de certificat"
 msgid "Restart Remote Nginx Success"
 msgstr "Changer de certificat"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3396,7 +3629,7 @@ msgstr ""
 msgid "Send"
 msgstr "Envoyer"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 msgid "Server"
 msgstr "Informations sur le serveur"
@@ -3704,7 +3937,7 @@ msgstr "Changer de certificat"
 msgid "Sync Config Success"
 msgstr "Changer de certificat"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgstr ""
@@ -3867,6 +4100,14 @@ msgstr ""
 msgid "The username or password is incorrect"
 msgstr "Le pseudo ou mot de passe est incorect"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3909,6 +4150,12 @@ msgid ""
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3955,6 +4202,12 @@ msgstr ""
 msgid "Tips"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr ""
@@ -3995,6 +4248,11 @@ msgid ""
 "local API."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Échec de l'activation"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr ""
@@ -4005,6 +4263,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr ""
@@ -4030,6 +4315,10 @@ msgstr ""
 msgid "Type"
 msgstr "Type"
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -4124,6 +4413,10 @@ msgstr "Nom d'utilisateur (*)"
 msgid "Valid"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -4163,6 +4456,11 @@ msgstr ""
 msgid "Viewed"
 msgstr "Voir"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4230,6 +4528,16 @@ msgid ""
 "codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -4243,8 +4551,8 @@ msgstr "Écriture de la clé privée du certificat sur le disque"
 msgid "Writing certificate to disk"
 msgstr "Écriture du certificat sur le disque"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 324 - 16
app/src/language/ko_KR/app.po

@@ -55,6 +55,15 @@ msgstr "ACME 사용자"
 msgid "Action"
 msgstr "작업"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -109,7 +118,7 @@ msgstr "고급 모드"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr ""
@@ -203,7 +212,7 @@ msgstr "정말 삭제하시겠습니까?"
 msgid "Are you sure you want to recover this item?"
 msgstr "정말로 이 항목을 복구하시겠습니까?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "다음 동기화 노드에서 Nginx를 다시 로드하시겠습니까?"
 
@@ -219,7 +228,7 @@ msgstr "이 항목을 제거하시겠습니까?"
 msgid "Are you sure you want to remove this location?"
 msgstr "이 위치를 제거하시겠습니까?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "다음 동기화 노드에서 Nginx를 다시 시작하시겠습니까?"
 
@@ -256,6 +265,10 @@ msgstr "인증 설정"
 msgid "Author"
 msgstr "저자"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "자동 새로고침"
@@ -372,10 +385,27 @@ msgstr "빌드 환경"
 msgid "CA Dir"
 msgstr "CA 디렉토리"
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr "CA 디렉토리"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -400,6 +430,10 @@ msgstr "데모에서 루트 비밀번호 변경 금지"
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgstr ""
@@ -625,6 +659,11 @@ msgstr "구성 파일 테스트 성공"
 msgid "Configuration History"
 msgstr "구성들"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "구성들"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "구성 이름"
@@ -641,6 +680,10 @@ msgstr "SSL 구성하기"
 msgid "Connected"
 msgstr "연결됨"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr "연결이 끊어졌습니다. 페이지를 새로 고침하세요."
@@ -678,6 +721,14 @@ msgstr "코어 업그레이드"
 msgid "CPU Status"
 msgstr "CPU 상태"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU:"
@@ -744,11 +795,20 @@ msgstr ""
 msgid "Current account is not enabled TOTP."
 msgstr ""
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 msgid "Current Content"
 msgstr "현재 버전"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "현재 버전"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "현재 버전"
@@ -1212,6 +1272,10 @@ msgstr "%{node_name}에서 %{conf_name} 활성화 실패"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "TLS 활성화"
@@ -1511,6 +1575,11 @@ msgstr "인증서 정보 가져오기 실패"
 msgid "Failed to get certificate information"
 msgstr "인증서 정보 가져오기 실패"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "인증서 정보 가져오기 실패"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 msgid "Failed to load history records"
@@ -1677,6 +1746,11 @@ msgstr "성공적으로 제거됨"
 msgid "Generating private key for registering account"
 msgstr "계정 등록을 위한 개인 키 생성 중"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "사용자 등록 중"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #, fuzzy
@@ -1699,6 +1773,10 @@ msgstr ""
 msgid "Hide"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1778,6 +1856,12 @@ msgstr "가져오기"
 msgid "Import Certificate"
 msgstr "인증서 상태"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1788,6 +1872,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -1954,6 +2042,11 @@ msgstr "사용자 정의"
 msgid "Last checked at"
 msgstr "마지막 확인 시간"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "마지막 확인 시간"
+
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 msgid "Last used at"
@@ -2019,6 +2112,10 @@ msgstr ""
 msgid "Load successfully"
 msgstr "성공적으로 저장됨"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
@@ -2120,10 +2217,46 @@ msgstr "사용자 관리"
 msgid "Managed Certificate"
 msgstr "인증서 유효"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "현재 버전"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -2133,6 +2266,10 @@ msgstr "메모리"
 msgid "Memory and Storage"
 msgstr "메모리 및 저장소"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr "분"
@@ -2194,6 +2331,10 @@ msgstr "단일 지시문"
 msgid "Name"
 msgstr "이름"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "네트워크"
@@ -2235,7 +2376,7 @@ msgstr "새 버전 출시"
 msgid "Next"
 msgstr "다음"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr "Nginx"
 
@@ -2297,14 +2438,27 @@ msgstr "Nginx 구성 오류름"
 msgid "Nginx Control"
 msgstr "Nginx 제어"
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr "Nginx 오류 로그 경로"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+msgid "Nginx is running"
+msgstr ""
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr "Nginx 로그"
@@ -2313,6 +2467,11 @@ msgstr "Nginx 로그"
 msgid "Nginx Log Directory Whitelist"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 msgid "Nginx PID Path"
@@ -2350,6 +2509,10 @@ msgstr "Nginx가 성공적으로 재시작됨"
 msgid "Nginx Test Config Command"
 msgstr "터미널 시작 명령"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgstr ""
@@ -2367,8 +2530,8 @@ msgid ""
 msgstr "Nginx 구성 오류름"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2391,6 +2554,10 @@ msgstr "아니요"
 msgid "No Action"
 msgstr "작업"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2468,6 +2635,13 @@ msgstr "알림"
 msgid "Notifier not found"
 msgstr "파일을 찾을 수 없음"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 msgid "Obtain certificate"
@@ -2487,7 +2661,7 @@ msgid ""
 "Firefox."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2522,7 +2696,7 @@ msgstr "확인"
 msgid "Once the verification is complete, the records will be removed."
 msgstr "검증이 완료되면, 레코드는 제거됩니다."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2559,6 +2733,20 @@ msgstr "OS"
 msgid "OS:"
 msgstr "OS:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgstr ""
@@ -2631,6 +2819,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgstr "핵심 업그레이드 오류 수행"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr "핵심 업그레이드 수행 중"
@@ -2639,6 +2831,12 @@ msgstr "핵심 업그레이드 수행 중"
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2784,6 +2982,15 @@ msgstr "환경설정"
 msgid "Preparing lego configurations"
 msgstr "lego 구성 준비 중"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "기본 정보"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr "데모에서 루트 비밀번호 변경 금지"
@@ -2809,6 +3016,11 @@ msgstr "API 프록시"
 msgid "Public Security Number"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2909,7 +3121,7 @@ msgstr "릴리스 노트"
 msgid "Reload"
 msgstr "리로드"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -2938,7 +3150,7 @@ msgstr "인증서 갱신 오류"
 msgid "Reload Remote Nginx Success"
 msgstr "인증서 갱신 성공"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -3071,6 +3283,11 @@ msgstr "인증서 갱신 성공"
 msgid "Renew successfully"
 msgstr "성공적으로 갱신됨"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "네트워크 통계"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -3079,6 +3296,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr "잘못된 매개변수로 요청됨"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr "재설정"
@@ -3088,11 +3309,23 @@ msgstr "재설정"
 msgid "Reset 2FA"
 msgstr "재설정"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr "재시작"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
@@ -3119,7 +3352,7 @@ msgstr "인증서 갱신 오류"
 msgid "Restart Remote Nginx Success"
 msgstr "인증서 갱신 성공"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3317,7 +3550,7 @@ msgstr ""
 msgid "Send"
 msgstr "보내기"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 msgid "Server"
 msgstr "서버 정보"
@@ -3621,7 +3854,7 @@ msgstr "인증서 갱신 오류"
 msgid "Sync Config Success"
 msgstr "인증서 갱신 성공"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgstr ""
@@ -3782,6 +4015,14 @@ msgstr "유효한 URL이 아닙니다"
 msgid "The username or password is incorrect"
 msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3823,6 +4064,12 @@ msgid ""
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3868,6 +4115,12 @@ msgstr ""
 msgid "Tips"
 msgstr "팁"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr "제목"
@@ -3907,6 +4160,11 @@ msgid ""
 "local API."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "활성화 실패"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr "토큰이 유효하지 않습니다"
@@ -3917,6 +4175,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr ""
@@ -3942,6 +4227,10 @@ msgstr ""
 msgid "Type"
 msgstr "유형"
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -4038,6 +4327,10 @@ msgstr "사용자 이름 (*)"
 msgid "Valid"
 msgstr "유효함"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -4078,6 +4371,11 @@ msgstr ""
 msgid "Viewed"
 msgstr "보기"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4147,6 +4445,16 @@ msgid ""
 "codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -4160,8 +4468,8 @@ msgstr "인증서 개인 키를 디스크에 쓰기"
 msgid "Writing certificate to disk"
 msgstr "인증서를 디스크에 쓰기"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 302 - 14
app/src/language/messages.pot

@@ -45,6 +45,15 @@ msgstr ""
 msgid "Action"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -101,7 +110,7 @@ msgstr ""
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr ""
@@ -193,7 +202,7 @@ msgstr ""
 msgid "Are you sure you want to recover this item?"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr ""
 
@@ -209,7 +218,7 @@ msgstr ""
 msgid "Are you sure you want to remove this location?"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr ""
 
@@ -246,6 +255,10 @@ msgstr ""
 msgid "Author"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr ""
@@ -360,10 +373,25 @@ msgstr ""
 msgid "CA Dir"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid "Calculated based on worker_processes * worker_connections. Actual performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -387,6 +415,10 @@ msgstr ""
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgstr ""
@@ -591,6 +623,10 @@ msgstr ""
 msgid "Configuration History"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+msgid "Configuration information"
+msgstr ""
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr ""
@@ -607,6 +643,10 @@ msgstr ""
 msgid "Connected"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr ""
@@ -644,6 +684,14 @@ msgstr ""
 msgid "CPU Status"
 msgstr ""
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr ""
@@ -705,10 +753,18 @@ msgstr ""
 msgid "Current account is not enabled TOTP."
 msgstr ""
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 msgid "Current Content"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+msgid "Current usage"
+msgstr ""
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr ""
@@ -1137,6 +1193,10 @@ msgstr ""
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr ""
@@ -1407,6 +1467,10 @@ msgstr ""
 msgid "Failed to get certificate information"
 msgstr ""
 
+#: src/composables/useNginxPerformance.ts:50
+msgid "Failed to get performance data"
+msgstr ""
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 msgid "Failed to load history records"
 msgstr ""
@@ -1559,6 +1623,10 @@ msgstr ""
 msgid "Generating private key for registering account"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+msgid "Get data failed"
+msgstr ""
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
@@ -1580,6 +1648,10 @@ msgstr ""
 msgid "Hide"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1647,6 +1719,10 @@ msgstr ""
 msgid "Import Certificate"
 msgstr ""
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid "Includes master process, worker processes, cache processes, and other Nginx processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1657,6 +1733,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24
 #: src/views/notification/notificationColumns.tsx:29
@@ -1810,6 +1890,10 @@ msgstr ""
 msgid "Last checked at"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+msgid "Last update"
+msgstr ""
+
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgstr ""
@@ -1868,6 +1952,10 @@ msgstr ""
 msgid "Load successfully"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
@@ -1955,10 +2043,45 @@ msgstr ""
 msgid "Managed Certificate"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+msgid "Max Concurrent Connections"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -1968,6 +2091,10 @@ msgstr ""
 msgid "Memory and Storage"
 msgstr ""
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr ""
@@ -2026,6 +2153,10 @@ msgstr ""
 msgid "Name"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr ""
@@ -2064,6 +2195,7 @@ msgstr ""
 msgid "Next"
 msgstr ""
 
+#: src/routes/modules/dashboard.ts:27
 #: src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr ""
@@ -2121,14 +2253,27 @@ msgstr ""
 msgid "Nginx Control"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr ""
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+msgid "Nginx is running"
+msgstr ""
+
 #: src/routes/modules/nginx_log.ts:9
 #: src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
@@ -2138,6 +2283,11 @@ msgstr ""
 msgid "Nginx Log Directory Whitelist"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgstr ""
@@ -2170,6 +2320,10 @@ msgstr ""
 msgid "Nginx Test Config Command"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgstr ""
@@ -2183,8 +2337,8 @@ msgid "Nginx UI configuration has been restored and will restart automatically i
 msgstr ""
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2206,6 +2360,10 @@ msgstr ""
 msgid "No Action"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2273,6 +2431,13 @@ msgstr ""
 msgid "Notifier not found"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgstr ""
@@ -2289,7 +2454,7 @@ msgstr ""
 msgid "OCSP Must Staple may cause errors for some users on first access using Firefox."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2324,7 +2489,7 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2361,6 +2526,20 @@ msgstr ""
 msgid "OS:"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgstr ""
@@ -2430,6 +2609,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr ""
@@ -2438,6 +2621,10 @@ msgstr ""
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid "Please enable the stub_status module to get request statistics, connection count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid "Please enter a name for the passkey you wish to create and click the OK button below."
 msgstr ""
@@ -2563,6 +2750,14 @@ msgstr ""
 msgid "Preparing lego configurations"
 msgstr ""
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+msgid "Process information"
+msgstr ""
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr ""
@@ -2587,6 +2782,11 @@ msgstr ""
 msgid "Public Security Number"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2675,7 +2875,7 @@ msgstr ""
 msgid "Reload"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -2699,7 +2899,7 @@ msgstr ""
 msgid "Reload Remote Nginx Success"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -2813,6 +3013,10 @@ msgstr ""
 msgid "Renew successfully"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+msgid "Request statistics"
+msgstr ""
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -2821,6 +3025,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr ""
@@ -2829,11 +3037,20 @@ msgstr ""
 msgid "Reset 2FA"
 msgstr ""
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid "Resident Set Size: Actual memory resident in physical memory, including all shared library memory, which will be repeated calculated for multiple processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 msgid "Restart Nginx"
@@ -2855,7 +3072,7 @@ msgstr ""
 msgid "Restart Remote Nginx Success"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3036,6 +3253,7 @@ msgstr ""
 msgid "Send"
 msgstr ""
 
+#: src/routes/modules/dashboard.ts:19
 #: src/views/preference/Preference.vue:157
 msgid "Server"
 msgstr ""
@@ -3306,7 +3524,7 @@ msgstr ""
 msgid "Sync Config Success"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgstr ""
@@ -3436,6 +3654,14 @@ msgstr ""
 msgid "The username or password is incorrect"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid "These codes are the last resort for accessing your account in case you lose your password and second factors. If you cannot find these codes, you will lose access to your account."
 msgstr ""
@@ -3471,6 +3697,10 @@ msgstr ""
 msgid "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid "This module provides Nginx request statistics, connection count, etc. data. After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid "This operation will only remove the certificate from the database. The certificate files on the file system will not be deleted."
 msgstr ""
@@ -3507,6 +3737,10 @@ msgstr ""
 msgid "Tips"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid "Tips: You can increase the concurrency processing capacity by increasing worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr ""
@@ -3531,6 +3765,10 @@ msgstr ""
 msgid "To use a local large model, deploy it with ollama, vllm or lmdeploy. They provide an OpenAI-compatible API endpoint, so just set the baseUrl to your local API."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+msgid "Toggle failed"
+msgstr ""
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr ""
@@ -3541,6 +3779,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr ""
@@ -3564,6 +3829,10 @@ msgstr ""
 msgid "Type"
 msgstr ""
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -3658,6 +3927,10 @@ msgstr ""
 msgid "Valid"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -3693,6 +3966,11 @@ msgstr ""
 msgid "Viewed"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23
 #: src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
@@ -3743,6 +4021,16 @@ msgstr ""
 msgid "When you generate new recovery codes, you must download or print the new codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -3756,8 +4044,8 @@ msgstr ""
 msgid "Writing certificate to disk"
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 325 - 16
app/src/language/ru_RU/app.po

@@ -57,6 +57,15 @@ msgstr "Пользователь ACME"
 msgid "Action"
 msgstr "Действие"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -111,7 +120,7 @@ msgstr "Расширенный режим"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr "Затем, обновите эту страницу и снова нажмите «Добавить ключ доступа»."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr "Все"
@@ -205,7 +214,7 @@ msgstr "Вы уверены, что хотите удалить?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Вы уверены, что хотите восстановить этот элемент?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Вы уверены, что хотите удалить?"
@@ -222,7 +231,7 @@ msgstr "Вы уверены, что хотите удалить этот эле
 msgid "Are you sure you want to remove this location?"
 msgstr "Вы уверены, что хотите удалить location?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Вы уверены, что хотите очистить все уведомления?"
@@ -260,6 +269,10 @@ msgstr "Настройки аутентификации"
 msgid "Author"
 msgstr "Автор"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "Автообновление"
@@ -376,10 +389,27 @@ msgstr "Собрать с"
 msgid "CA Dir"
 msgstr "Директория корневого сертификата"
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -403,6 +433,10 @@ msgstr "Невозможно изменить пароль начального
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgstr "Невозможно удалить начального пользователя"
@@ -623,6 +657,11 @@ msgstr "Проверка конфигурации успешна"
 msgid "Configuration History"
 msgstr "Конфигурации"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Конфигурации"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "Название конфигурации"
@@ -639,6 +678,10 @@ msgstr "Настроить SSL"
 msgid "Connected"
 msgstr "Подключено"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr "Соединение потеряно, пожалуйста, обновите страницу."
@@ -677,6 +720,14 @@ msgstr "Обновление ядра"
 msgid "CPU Status"
 msgstr "Нагрузка CPU"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU:"
@@ -740,11 +791,20 @@ msgstr "Текущая учетная запись имеет включенну
 msgid "Current account is not enabled TOTP."
 msgstr "Для текущей учетной записи TOTP не включен."
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 msgid "Current Content"
 msgstr "Текущяя версия"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Текущяя версия"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "Текущяя версия"
@@ -1206,6 +1266,10 @@ msgstr "Включение %{conf_name} in %{node_name} нипалучилася
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Поток %{name} успешно включён на %{node}"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "Включить TLS"
@@ -1501,6 +1565,11 @@ msgstr "Не удалось получить информацию о серти
 msgid "Failed to get certificate information"
 msgstr "Не удалось получить информацию о сертификате"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "Не удалось получить информацию о сертификате"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 msgid "Failed to load history records"
@@ -1668,6 +1737,11 @@ msgstr "Коды восстановления успешно сгенериро
 msgid "Generating private key for registering account"
 msgstr "Генерация приватного ключа для регистрации учетной записи"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "Регистрация не удалась"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
@@ -1689,6 +1763,10 @@ msgstr ""
 msgid "Hide"
 msgstr "Скрыть"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1776,6 +1854,12 @@ msgstr "Импорт"
 msgid "Import Certificate"
 msgstr "Импортировать сертификат"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1786,6 +1870,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -1946,6 +2034,11 @@ msgstr "Пользовательский"
 msgid "Last checked at"
 msgstr "Последняя проверка в"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "Последняя проверка в"
+
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 msgid "Last used at"
@@ -2006,6 +2099,10 @@ msgstr "Загрузить из настроек"
 msgid "Load successfully"
 msgstr "Загружено успешно"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
@@ -2104,10 +2201,46 @@ msgstr "Пользователи"
 msgid "Managed Certificate"
 msgstr "Управление сертификатом"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr "Максимальное количество попыток"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "Текущяя версия"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -2117,6 +2250,10 @@ msgstr "Память"
 msgid "Memory and Storage"
 msgstr "Память и хранилище"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr "Минуты"
@@ -2173,6 +2310,10 @@ msgstr "Многострочная директива"
 msgid "Name"
 msgstr "Имя"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "Сеть"
@@ -2212,7 +2353,7 @@ msgstr "Вышла новая версия"
 msgid "Next"
 msgstr "Дальше"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr "Nginx"
 
@@ -2273,14 +2414,28 @@ msgstr "Ошибка разбора конфигурации Nginx"
 msgid "Nginx Control"
 msgstr "Управление Nginx"
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr "Путь для Nginx Error Log"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr "Nginx не работает"
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+#, fuzzy
+msgid "Nginx is running"
+msgstr "Nginx не работает"
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr "Журнал"
@@ -2289,6 +2444,11 @@ msgstr "Журнал"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Белый список директорий для логов Nginx"
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 msgid "Nginx PID Path"
@@ -2324,6 +2484,10 @@ msgstr "Nginx успешно перезапущен"
 msgid "Nginx Test Config Command"
 msgstr "Терминальная команда запуска"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgstr ""
@@ -2341,8 +2505,8 @@ msgid ""
 msgstr "Ошибка разбора конфигурации Nginx"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2365,6 +2529,10 @@ msgstr "Нет"
 msgid "No Action"
 msgstr "Действие"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2441,6 +2609,13 @@ msgstr "Уведомления"
 msgid "Notifier not found"
 msgstr "Файл не найден"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgstr "Получить сертификат"
@@ -2461,7 +2636,7 @@ msgstr ""
 "OCSP Must Staple может вызвать ошибки у некоторых пользователей при первом "
 "доступе через Firefox."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2496,7 +2671,7 @@ msgstr "ОК"
 msgid "Once the verification is complete, the records will be removed."
 msgstr "После завершения проверки записи будут удалены."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2532,6 +2707,20 @@ msgstr "ОС"
 msgid "OS:"
 msgstr "OS:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgstr "Код OTP или восстановления пуст"
@@ -2604,6 +2793,10 @@ msgstr "Выполнить"
 msgid "Perform core upgrade error"
 msgstr "Ошибка обновления ядра"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr "Выполнение обновления ядра"
@@ -2612,6 +2805,12 @@ msgstr "Выполнение обновления ядра"
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2763,6 +2962,15 @@ msgstr "Настройки"
 msgid "Preparing lego configurations"
 msgstr "Подготовка конфигураций Lego"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "Основная информация"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr "Запретить изменение пароля root в демо"
@@ -2787,6 +2995,11 @@ msgstr ""
 msgid "Public Security Number"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2884,7 +3097,7 @@ msgstr "Что нового"
 msgid "Reload"
 msgstr "Перегрузить"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -2913,7 +3126,7 @@ msgstr "Ошибка переименования удаленной конфи
 msgid "Reload Remote Nginx Success"
 msgstr "Переименование удаленной конфигурации прошло успешно"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -3033,6 +3246,11 @@ msgstr "Успешное обновление сертификата"
 msgid "Renew successfully"
 msgstr "Успешно обновлено"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Статистика сети"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -3041,6 +3259,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr "Запрос с неправильными параметрами"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr "Сброс"
@@ -3049,11 +3271,23 @@ msgstr "Сброс"
 msgid "Reset 2FA"
 msgstr "Сброс 2FA"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr "Перезапуск"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
@@ -3080,7 +3314,7 @@ msgstr "Ошибка переименования удаленной конфи
 msgid "Restart Remote Nginx Success"
 msgstr "Переименование удаленной конфигурации прошло успешно"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3277,7 +3511,7 @@ msgstr ""
 msgid "Send"
 msgstr "Отправлено"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 msgid "Server"
 msgstr "Информация о сервере"
@@ -3570,7 +3804,7 @@ msgstr "Ошибка синхронизации конфигурации"
 msgid "Sync Config Success"
 msgstr "Синхронизация конфигурации успешна"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #, fuzzy
 msgid "Sync Nodes"
@@ -3742,6 +3976,14 @@ msgstr "URL недействителен."
 msgid "The username or password is incorrect"
 msgstr "Имя пользователя или пароль неверны"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3786,6 +4028,12 @@ msgstr ""
 "Имя модели должно содержать только буквы, юникод, цифры, дефисы, тире и "
 "точки."
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3833,6 +4081,12 @@ msgstr ""
 msgid "Tips"
 msgstr "Советы"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr "Заголовок"
@@ -3875,6 +4129,11 @@ msgid ""
 "local API."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Не удалось включить"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr "Токен недействителен"
@@ -3885,6 +4144,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr ""
@@ -3912,6 +4198,10 @@ msgstr "Требуется двухфакторная аутентификаци
 msgid "Type"
 msgstr "Тип"
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -4004,6 +4294,10 @@ msgstr "Имя пользователя (*)"
 msgid "Valid"
 msgstr "Действительный"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -4042,6 +4336,11 @@ msgstr "Код восстановления"
 msgid "Viewed"
 msgstr "Просмотр"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4111,6 +4410,16 @@ msgid ""
 "codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -4124,8 +4433,8 @@ msgstr "Запись закрытого ключа сертификата на 
 msgid "Writing certificate to disk"
 msgstr "Запись сертификата на диск"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 325 - 16
app/src/language/tr_TR/app.po

@@ -54,6 +54,15 @@ msgstr "ACME Kullanıcısı"
 msgid "Action"
 msgstr "Eylem"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -109,7 +118,7 @@ msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 "Daha sonra, bu sayfayı yenileyin ve tekrar geçiş anahtarı ekle'ye tıklayın."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr "Hepsi"
@@ -201,7 +210,7 @@ msgstr "Silmek istediğine emin misin?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Bu öğeyi kurtarmak istediğinizden emin misiniz?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Silmek istediğine emin misin?"
@@ -218,7 +227,7 @@ msgstr "Bu öğeyi kaldırmak istediğinizden emin misiniz?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Bu konumu kaldırmak istediğinizden emin misiniz?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Tüm bildirimleri temizlemek istediğinizden emin misiniz?"
@@ -257,6 +266,10 @@ msgstr "Kimlik Doğrulama Ayarları"
 msgid "Author"
 msgstr "Yazar"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "Otomatik Yenileme"
@@ -373,10 +386,27 @@ msgstr "İle Oluşturuldu"
 msgid "CA Dir"
 msgstr "CA Dizini"
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr "CADizini"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -401,6 +431,10 @@ msgstr "Demoda kök parolasını değiştirmeyi yasakla"
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #, fuzzy
 msgid "Cannot remove initial user"
@@ -624,6 +658,11 @@ msgstr "Yapılandırma dosyası başarıyla test edildi"
 msgid "Configuration History"
 msgstr "Yapılandırmalar"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Yapılandırmalar"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "Yapılandırma Adı"
@@ -640,6 +679,10 @@ msgstr "SSL'yi Yapılandırma"
 msgid "Connected"
 msgstr "Bağlandı"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr "Bağlantı kesildi, lütfen sayfayı yenileyin."
@@ -679,6 +722,14 @@ msgstr "Çekirdek Yükseltme"
 msgid "CPU Status"
 msgstr "CPU Durumu"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU:"
@@ -742,11 +793,20 @@ msgstr "Mevcut hesap için TOTP etkinleştirildi."
 msgid "Current account is not enabled TOTP."
 msgstr "Mevcut hesap için TOTP etkin değil."
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 msgid "Current Content"
 msgstr "Mevcut sürüm"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Mevcut sürüm"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "Mevcut sürüm"
@@ -1239,6 +1299,10 @@ msgstr ""
 "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı "
 "oldu"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "TLS'yi Etkinleştir"
@@ -1534,6 +1598,11 @@ msgstr "Sertifika bilgileri alınamadı"
 msgid "Failed to get certificate information"
 msgstr "Sertifika bilgileri alınamadı"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "Sertifika bilgileri alınamadı"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 msgid "Failed to load history records"
@@ -1701,6 +1770,11 @@ msgstr "Başarıyla Kurtarıldı"
 msgid "Generating private key for registering account"
 msgstr "Hesap kaydı için özel anahtar oluşturuluyor"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "Kayıt başarısız"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
@@ -1722,6 +1796,10 @@ msgstr ""
 msgid "Hide"
 msgstr "Gizle"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1810,6 +1888,12 @@ msgstr "İçe Aktar"
 msgid "Import Certificate"
 msgstr "Sertifika İçe Aktar"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1820,6 +1904,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -1982,6 +2070,11 @@ msgstr "Özelleştirilmiş"
 msgid "Last checked at"
 msgstr "En son şu tarihte kontrol edildi"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "En son kullanıldığı zaman"
+
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgstr "En son kullanıldığı zaman"
@@ -2041,6 +2134,10 @@ msgstr "Ayarlar'dan yükle"
 msgid "Load successfully"
 msgstr "Başarıyla yüklendi"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
@@ -2145,11 +2242,47 @@ msgstr "Kullanıcıları Yönet"
 msgid "Managed Certificate"
 msgstr "Yönetilen Sertifika"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 #, fuzzy
 msgid "Max Attempts"
 msgstr "Maksimum Deneme"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "Mevcut sürüm"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #, fuzzy
@@ -2161,6 +2294,10 @@ msgstr "Hafıza"
 msgid "Memory and Storage"
 msgstr "Bellek ve Depolama"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #, fuzzy
 msgid "Minutes"
@@ -2225,6 +2362,10 @@ msgstr "Çok Hatlı Direktif"
 msgid "Name"
 msgstr "İsim"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #, fuzzy
 msgid "Network"
@@ -2272,7 +2413,7 @@ msgstr "Yeni sürüm yayınlandı"
 msgid "Next"
 msgstr "Sonraki"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 #, fuzzy
 msgid "Nginx"
 msgstr "Nginx"
@@ -2337,16 +2478,30 @@ msgstr "Nginx Yapılandırma Ayrıştırma Hatası"
 msgid "Nginx Control"
 msgstr "Nginx Kontrolü"
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 #, fuzzy
 msgid "Nginx Error Log Path"
 msgstr "Nginx Hata Günlüğü Yolu"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 #, fuzzy
 msgid "Nginx is not running"
 msgstr "Nginx çalışmıyor"
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+#, fuzzy
+msgid "Nginx is running"
+msgstr "Nginx çalışmıyor"
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 #, fuzzy
 msgid "Nginx Log"
@@ -2356,6 +2511,11 @@ msgstr "Nginx Günlüğü"
 msgid "Nginx Log Directory Whitelist"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 msgid "Nginx PID Path"
@@ -2393,6 +2553,10 @@ msgstr "Nginx başarıyla yeniden başlatıldı"
 msgid "Nginx Test Config Command"
 msgstr "Terminal Başlatma Komutu"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgstr ""
@@ -2410,8 +2574,8 @@ msgid ""
 msgstr "Nginx Yapılandırma Ayrıştırma Hatası"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2435,6 +2599,10 @@ msgstr "Hayır"
 msgid "No Action"
 msgstr "Eylem"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2517,6 +2685,13 @@ msgstr "Bildirimler"
 msgid "Notifier not found"
 msgstr "Dosya bulunamadı"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 msgid "Obtain certificate"
@@ -2541,7 +2716,7 @@ msgstr ""
 "OCSP Must Staple, Firefox kullanarak ilk erişimde bazı kullanıcılar için "
 "hatalara neden olabilir."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2580,7 +2755,7 @@ msgstr "Tamam"
 msgid "Once the verification is complete, the records will be removed."
 msgstr "Doğrulama tamamlandıktan sonra kayıtlar kaldırılacaktır."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2622,6 +2797,20 @@ msgstr "OS"
 msgid "OS:"
 msgstr "İŞLETIM SISTEMI:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 #, fuzzy
 msgid "Otp or recovery code empty"
@@ -2708,6 +2897,10 @@ msgstr "Uygula"
 msgid "Perform core upgrade error"
 msgstr "Çekirdek yükseltme hatası gerçekleştirin"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #, fuzzy
 msgid "Performing core upgrade"
@@ -2717,6 +2910,12 @@ msgstr "Çekirdek yükseltme gerçekleştirme"
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 #, fuzzy
 msgid ""
@@ -2884,6 +3083,15 @@ msgstr "Tercih"
 msgid "Preparing lego configurations"
 msgstr "Lego konfigürasyonlarının hazırlanması"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "Temel bilgiler"
+
 #: src/language/constants.ts:3
 #, fuzzy
 msgid "Prohibit changing root password in demo"
@@ -2913,6 +3121,11 @@ msgstr "Proxy"
 msgid "Public Security Number"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #, fuzzy
@@ -3026,7 +3239,7 @@ msgstr "Yayın Notu"
 msgid "Reload"
 msgstr "Tekrar yükle"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -3055,7 +3268,7 @@ msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
 msgid "Reload Remote Nginx Success"
 msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -3197,6 +3410,11 @@ msgstr "Sertifika Yenileme Başarısı"
 msgid "Renew successfully"
 msgstr "Başarıyla yenileyin"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Ağ İstatistikleri"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -3206,6 +3424,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr "Yanlış parametrelerle talep edildi"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #, fuzzy
 msgid "Reset"
@@ -3216,12 +3438,24 @@ msgstr "Sıfırla"
 msgid "Reset 2FA"
 msgstr "2FA'yı Sıfırla"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 #, fuzzy
 msgid "Restart"
 msgstr "Yeniden başlat"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
@@ -3250,7 +3484,7 @@ msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
 msgid "Restart Remote Nginx Success"
 msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3461,7 +3695,7 @@ msgstr ""
 msgid "Send"
 msgstr "Gönder"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 msgid "Server"
 msgstr "Sunucu Bilgisi"
@@ -3786,7 +4020,7 @@ msgstr "Senkronizasyon Yapılandırma Hatası"
 msgid "Sync Config Success"
 msgstr "Senkronizasyon Yapılandırması Başarılı"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #, fuzzy
 msgid "Sync Nodes"
@@ -3971,6 +4205,14 @@ msgstr "URL geçersiz."
 msgid "The username or password is incorrect"
 msgstr "Kullanıcı adı veya şifre yanlış"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -4018,6 +4260,12 @@ msgid ""
 msgstr ""
 "Model adı yalnızca harf, unicode, sayı, tire, çizgi ve nokta içermelidir."
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -4067,6 +4315,12 @@ msgstr ""
 msgid "Tips"
 msgstr "İpuçları"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 #, fuzzy
 msgid "Title"
@@ -4120,6 +4374,11 @@ msgstr ""
 "uyumlu bir API uç noktası sağlarlar, bu nedenle baseUrl'yi yerel API'nize "
 "ayarlamanız yeterlidir."
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Etkinleştirme başarısız"
+
 #: src/views/preference/OpenAISettings.vue:61
 #, fuzzy
 msgid "Token is not valid"
@@ -4131,6 +4390,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 #, fuzzy
 msgid "TOTP"
@@ -4163,6 +4449,10 @@ msgstr "İki faktörlü kimlik doğrulama gerekiyor"
 msgid "Type"
 msgstr "Tip"
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -4270,6 +4560,10 @@ msgstr "Kullanıcı adı (*)"
 msgid "Valid"
 msgstr "Geçerli"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -4312,6 +4606,11 @@ msgstr "Kurtarma Kodu"
 msgid "Viewed"
 msgstr "Görünüm"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4388,6 +4687,16 @@ msgid ""
 "codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #, fuzzy
@@ -4404,8 +4713,8 @@ msgstr "Sertifika özel anahtarını diske yazma"
 msgid "Writing certificate to disk"
 msgstr "Sertifikayı diske yazma"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 324 - 16
app/src/language/vi_VN/app.po

@@ -51,6 +51,15 @@ msgstr "Người dùng"
 msgid "Action"
 msgstr "Hành động"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -109,7 +118,7 @@ msgstr "Nâng cao"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr ""
@@ -214,7 +223,7 @@ msgstr "Bạn chắc chắn muốn xóa nó "
 msgid "Are you sure you want to recover this item?"
 msgstr "Bạn chắc chắn muốn xoá directive này ?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Bạn chắc chắn muốn xóa nó "
@@ -233,7 +242,7 @@ msgstr "Bạn chắc chắn muốn xoá directive này ?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Bạn chắc chắn muốn xoá location này ?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Bạn có chắc chắn muốn xóa tất cả thông báo không ?"
@@ -272,6 +281,10 @@ msgstr ""
 msgid "Author"
 msgstr "Tác giả"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "Tự động làm mới"
@@ -392,10 +405,27 @@ msgstr "Xây dựng với"
 msgid "CA Dir"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -420,6 +450,10 @@ msgstr "Cấm thay đổi mật khẩu root trong demo"
 msgid "Cannot compare: Missing content"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgstr ""
@@ -653,6 +687,11 @@ msgstr "Tệp cấu hình được kiểm tra thành công"
 msgid "Configuration History"
 msgstr "Cấu hình"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Cấu hình"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "Tên cấu hình"
@@ -669,6 +708,10 @@ msgstr "Cấu hình SSL"
 msgid "Connected"
 msgstr "Đã kết nối"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr ""
@@ -706,6 +749,14 @@ msgstr "Cập nhật core"
 msgid "CPU Status"
 msgstr "Trạng thái CPU"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU:"
@@ -773,11 +824,20 @@ msgstr ""
 msgid "Current account is not enabled TOTP."
 msgstr ""
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 msgid "Current Content"
 msgstr "Phiên bản hiện tại"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Phiên bản hiện tại"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "Phiên bản hiện tại"
@@ -1253,6 +1313,10 @@ msgstr "Không thể bật %{conf_name} trên %{node_name}"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Đã bật %{conf_name} trên %{node_name}"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "Bật TLS"
@@ -1553,6 +1617,11 @@ msgstr "Không thể truy xuất thông tin chứng chỉ"
 msgid "Failed to get certificate information"
 msgstr "Không thể truy xuất thông tin chứng chỉ"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "Không thể truy xuất thông tin chứng chỉ"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 msgid "Failed to load history records"
@@ -1720,6 +1789,11 @@ msgstr "Xoá thành công"
 msgid "Generating private key for registering account"
 msgstr "Tạo khóa riêng để đăng ký tài khoản"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "Đăng ký người dùng"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #, fuzzy
@@ -1742,6 +1816,10 @@ msgstr ""
 msgid "Hide"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1820,6 +1898,12 @@ msgstr "Xuất"
 msgid "Import Certificate"
 msgstr "Chứng chỉ"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1830,6 +1914,10 @@ msgstr ""
 msgid "Indexing..."
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -1997,6 +2085,11 @@ msgstr "Tuỳ chỉnh"
 msgid "Last checked at"
 msgstr "Kiểm tra lần cuối lúc"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "Kiểm tra lần cuối lúc"
+
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 msgid "Last used at"
@@ -2062,6 +2155,10 @@ msgstr ""
 msgid "Load successfully"
 msgstr "Lưu thành công"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
@@ -2157,10 +2254,46 @@ msgstr "Người dùng"
 msgid "Managed Certificate"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "Phiên bản hiện tại"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -2170,6 +2303,10 @@ msgstr "Memory"
 msgid "Memory and Storage"
 msgstr "Memory và Storage"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr ""
@@ -2231,6 +2368,10 @@ msgstr "Single Directive"
 msgid "Name"
 msgstr "Tên"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "Mạng"
@@ -2272,7 +2413,7 @@ msgstr "Đã có phiên bản mới"
 msgid "Next"
 msgstr "Tiếp theo"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr ""
 
@@ -2334,14 +2475,27 @@ msgstr "Lỗi phân tích cú pháp cấu hình Nginx"
 msgid "Nginx Control"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr "Vị trí lưu log lỗi (Error log) của Nginx"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+msgid "Nginx is running"
+msgstr ""
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr ""
@@ -2350,6 +2504,11 @@ msgstr ""
 msgid "Nginx Log Directory Whitelist"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 msgid "Nginx PID Path"
@@ -2385,6 +2544,10 @@ msgstr "Restart Nginx thành công"
 msgid "Nginx Test Config Command"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgstr ""
@@ -2402,8 +2565,8 @@ msgid ""
 msgstr "Lỗi phân tích cú pháp cấu hình Nginx"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2426,6 +2589,10 @@ msgstr "Không"
 msgid "No Action"
 msgstr "Hành động"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr ""
@@ -2503,6 +2670,13 @@ msgstr "Thông báo"
 msgid "Notifier not found"
 msgstr "Không tìm thấy tệp tin"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 msgid "Obtain certificate"
@@ -2522,7 +2696,7 @@ msgid ""
 "Firefox."
 msgstr ""
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2557,7 +2731,7 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 msgstr "Sau khi quá trình xác minh hoàn tất, bản ghi sẽ bị xóa."
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2594,6 +2768,20 @@ msgstr "Hệ điều hành"
 msgid "OS:"
 msgstr "Hệ điều hành:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgstr ""
@@ -2666,6 +2854,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgstr "Nâng cấp core không thành công"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr "Nâng cấp core"
@@ -2674,6 +2866,12 @@ msgstr "Nâng cấp core"
 msgid "Plain text is empty"
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2818,6 +3016,15 @@ msgstr "Cài đặt"
 msgid "Preparing lego configurations"
 msgstr "Chuẩn bị cấu hình Lego"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "Thông tin"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr "Cấm thay đổi mật khẩu root trong demo"
@@ -2842,6 +3049,11 @@ msgstr ""
 msgid "Public Security Number"
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2942,7 +3154,7 @@ msgstr "Ghi chú phát hành"
 msgid "Reload"
 msgstr "Tải lại"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -2971,7 +3183,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại"
 msgid "Reload Remote Nginx Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 
@@ -3104,6 +3316,11 @@ msgstr "Gia hạn chứng chỉ SSL thành công"
 msgid "Renew successfully"
 msgstr "Gia hạn chứng chỉ SSL"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Thống kê mạng"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr ""
@@ -3112,6 +3329,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgstr "Yêu cầu có chứa tham số sai"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr "Đặt lại"
@@ -3121,11 +3342,23 @@ msgstr "Đặt lại"
 msgid "Reset 2FA"
 msgstr "Đặt lại"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr "Khởi động lại"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
@@ -3152,7 +3385,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại"
 msgid "Restart Remote Nginx Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 
@@ -3350,7 +3583,7 @@ msgstr ""
 msgid "Send"
 msgstr "Gửi"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 msgid "Server"
 msgstr "Thông tin máy chủ"
@@ -3651,7 +3884,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại"
 msgid "Sync Config Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgstr ""
@@ -3807,6 +4040,14 @@ msgstr ""
 msgid "The username or password is incorrect"
 msgstr "Tên người dùng hoặc mật khẩu không chính xác"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3848,6 +4089,12 @@ msgid ""
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3893,6 +4140,12 @@ msgstr ""
 msgid "Tips"
 msgstr ""
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr "Tiêu đề"
@@ -3933,6 +4186,11 @@ msgid ""
 "local API."
 msgstr ""
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Bật không thành công"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr ""
@@ -3943,6 +4201,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr ""
@@ -3968,6 +4253,10 @@ msgstr ""
 msgid "Type"
 msgstr "Loại"
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr ""
@@ -4064,6 +4353,10 @@ msgstr "Username (*)"
 msgid "Valid"
 msgstr "Hợp lệ"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -4104,6 +4397,11 @@ msgstr ""
 msgid "Viewed"
 msgstr "Xem"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4173,6 +4471,16 @@ msgid ""
 "codes."
 msgstr ""
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -4186,8 +4494,8 @@ msgstr "Ghi Private Key vào disk"
 msgid "Writing certificate to disk"
 msgstr "Ghi chứng chỉ vào disk"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 321 - 17
app/src/language/zh_CN/app.po

@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2025-04-10 16:13+0800\n"
+"PO-Revision-Date: 2025-04-10 21:06+0800\n"
 "Last-Translator: 0xJacky <me@jackyu.cn>\n"
 "Language-Team: Chinese (Simplified Han script) <https://weblate.nginxui.com/"
 "projects/nginx-ui/frontend/zh_Hans/>\n"
@@ -55,6 +55,15 @@ msgstr "ACME 用户"
 msgid "Action"
 msgstr "操作"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr "活跃的连接"
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr "实际 Worker 与配置比例"
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -109,7 +118,7 @@ msgstr "高级模式"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr "然后,刷新此页面并再次点击添加 Passkey。"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr "全部"
@@ -201,7 +210,7 @@ msgstr "您确定要删除吗?"
 msgid "Are you sure you want to recover this item?"
 msgstr "您确定要恢复这个项目吗?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "你确定要在以下同步节点上重载 Nginx?"
 
@@ -217,7 +226,7 @@ msgstr "您确定要删除这个项目吗?"
 msgid "Are you sure you want to remove this location?"
 msgstr "您确定要删除这个 Location?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "你确定要在以下同步节点上重启 Nginx 吗?"
 
@@ -254,6 +263,10 @@ msgstr "认证设置"
 msgid "Author"
 msgstr "作者"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr "自动 = CPU 线程数"
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "自动刷新"
@@ -366,10 +379,29 @@ msgstr "构建基于"
 msgid "CA Dir"
 msgstr "CA Dir"
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr "缓存管理器进程数"
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr "缓存进程数"
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr "CADir"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+"根据 worker_processes * worker_connections 计算。实际性能取决于硬件、配置和工"
+"作量"
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -393,6 +425,10 @@ msgstr "不可在 Demo 中修改初始用户的密码"
 msgid "Cannot compare: Missing content"
 msgstr "无法比较:内容缺失"
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr "在此状态下无法获取性能数据"
+
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgstr "不可删除初始用户"
@@ -604,6 +640,10 @@ msgstr "配置文件测试成功"
 msgid "Configuration History"
 msgstr "配置历史记录"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+msgid "Configuration information"
+msgstr "配置信息"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "配置名称"
@@ -620,6 +660,10 @@ msgstr "配置 SSL"
 msgid "Connected"
 msgstr "已连接"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr "连接错误,尝试重新连接..."
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr "连接中断,请刷新页面。"
@@ -657,6 +701,14 @@ msgstr "核心升级"
 msgid "CPU Status"
 msgstr "CPU 状态"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr "CPU 占用率"
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr "CPU 使用率相对较高,请考虑优化 Nginx 配置"
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "CPU:"
@@ -720,10 +772,18 @@ msgstr "当前账户已启用 TOTP 验证。"
 msgid "Current account is not enabled TOTP."
 msgstr "当前用户未启用 TOTP 验证。"
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr "当前活动连接"
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 msgid "Current Content"
 msgstr "当前内容"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+msgid "Current usage"
+msgstr "当前用量"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "当前版本"
@@ -1145,6 +1205,10 @@ msgstr "在 %{node} 中启用 %{name} 失败"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "在 %{node} 上启用 %{name} 成功"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr "启用 stub_status 模块"
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "启用 TLS"
@@ -1412,6 +1476,10 @@ msgstr "生成初始化向量失败:{0}"
 msgid "Failed to get certificate information"
 msgstr "获取证书信息失败"
 
+#: src/composables/useNginxPerformance.ts:50
+msgid "Failed to get performance data"
+msgstr "获取性能数据失败"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 msgid "Failed to load history records"
 msgstr "加载历史记录失败"
@@ -1565,6 +1633,10 @@ msgstr "成功生成恢复代码"
 msgid "Generating private key for registering account"
 msgstr "正在生成私钥用于注册账户"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+msgid "Get data failed"
+msgstr "获取数据失败"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
@@ -1586,6 +1658,10 @@ msgstr "哈希验证失败:文件完整性受损"
 msgid "Hide"
 msgstr "隐藏"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr "更高的值意味着更好的连接再利用"
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1664,6 +1740,12 @@ msgstr "导入"
 msgid "Import Certificate"
 msgstr "导入证书"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr "包括主进程、工作进程、缓存进程和其他 Nginx 进程"
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1674,6 +1756,10 @@ msgstr "已索引"
 msgid "Indexing..."
 msgstr "索引中..."
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr "指示器"
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -1830,6 +1916,10 @@ msgstr "Lark 自定义"
 msgid "Last checked at"
 msgstr "最后检查时间"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+msgid "Last update"
+msgstr "上次更新"
+
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgstr "上次使用"
@@ -1888,6 +1978,10 @@ msgstr "从设置中加载"
 msgid "Load successfully"
 msgstr "加载成功"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr "正在加载数据..."
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
@@ -1981,10 +2075,45 @@ msgstr "用户管理"
 msgid "Managed Certificate"
 msgstr "托管证书"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr "手动设置"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr "主进程"
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr "主进程"
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr "主进程"
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr "最大尝试次数"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+msgid "Max Concurrent Connections"
+msgstr "最大并发连接数"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr "每秒最大请求次数"
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr "每个工作进程的最大连接数"
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr "最大工作进程数:"
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -1994,6 +2123,10 @@ msgstr "内存"
 msgid "Memory and Storage"
 msgstr "内存与存储"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr "内存使用量(RSS)"
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr "分钟"
@@ -2050,6 +2183,10 @@ msgstr "多行指令"
 msgid "Name"
 msgstr "名称"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr "需要启用 stub_status 模块"
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "网络"
@@ -2088,7 +2225,7 @@ msgstr "新版本发布"
 msgid "Next"
 msgstr "下一步"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr "Nginx"
 
@@ -2145,14 +2282,27 @@ msgstr "Nginx 配置目录"
 msgid "Nginx Control"
 msgstr "控制 Nginx"
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr "Nginx CPU 使用率"
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr "Nginx 错误日志路径"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr "Nginx 未启动"
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+msgid "Nginx is running"
+msgstr "Nginx 正在运行"
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr "Nginx 日志"
@@ -2161,6 +2311,11 @@ msgstr "Nginx 日志"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Nginx 日志目录白名单"
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr "Nginx 内存使用量"
+
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgstr "Nginx PID 路径"
@@ -2193,6 +2348,10 @@ msgstr "Nginx 重启成功"
 msgid "Nginx Test Config Command"
 msgstr "Nginx 测试配置命令"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr "Nginx 理论最高性能"
+
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgstr "Nginx UI 已安装"
@@ -2208,8 +2367,8 @@ msgid ""
 msgstr "Nginx UI 配置已恢复,几秒钟后将自动重启。"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2231,6 +2390,10 @@ msgstr "取消"
 msgid "No Action"
 msgstr "无操作"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr "没有数据"
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr "未选择记录"
@@ -2300,6 +2463,13 @@ msgstr "通知"
 msgid "Notifier not found"
 msgstr "未找到通知程序"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr "工作进程数量"
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgstr "获取证书"
@@ -2318,7 +2488,7 @@ msgid ""
 "Firefox."
 msgstr "某些用户在使用 Firefox 首次访问时,OCSP Must Staple 可能会导致错误。"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2353,7 +2523,7 @@ msgstr "确定"
 msgid "Once the verification is complete, the records will be removed."
 msgstr "一旦验证完成,这些记录将被删除。"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2389,6 +2559,20 @@ msgstr "OS"
 msgid "OS:"
 msgstr "OS:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr "其他 Nginx 进程"
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr "其他流程"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr "其他"
+
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgstr "OTP 或恢复代码为空"
@@ -2461,6 +2645,10 @@ msgstr "执行"
 msgid "Perform core upgrade error"
 msgstr "执行核心升级错误"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr "性能指标"
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr "正在进行核心升级"
@@ -2469,6 +2657,12 @@ msgstr "正在进行核心升级"
 msgid "Plain text is empty"
 msgstr "原文为空"
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr "请启用 stub_status 模块,以获取请求统计信息、连接数等。"
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2604,6 +2798,14 @@ msgstr "偏好设置"
 msgid "Preparing lego configurations"
 msgstr "正在准备 Lego 的配置"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr "进程分布"
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+msgid "Process information"
+msgstr "进程信息"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr "禁止在演示模式下修改 root 账户的密码"
@@ -2628,6 +2830,11 @@ msgstr "代理"
 msgid "Public Security Number"
 msgstr "公安备案号"
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr "读取请求数"
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2722,7 +2929,7 @@ msgstr "发行日志"
 msgid "Reload"
 msgstr "重载"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -2746,7 +2953,7 @@ msgstr "重载远程 Nginx 错误"
 msgid "Reload Remote Nginx Success"
 msgstr "重载远程 Nginx 成功"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr "重载请求失败,请检查网络连接"
 
@@ -2858,6 +3065,10 @@ msgstr "证书续期成功"
 msgid "Renew successfully"
 msgstr "更新成功"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+msgid "Request statistics"
+msgstr "请求统计"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr "请求超时"
@@ -2866,6 +3077,10 @@ msgstr "请求超时"
 msgid "Requested with wrong parameters"
 msgstr "请求参数错误"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr "每次连接请求数"
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr "重置"
@@ -2874,11 +3089,25 @@ msgstr "重置"
 msgid "Reset 2FA"
 msgstr "重置二步验证"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+"驻留集大小:实际驻留在物理内存中的内存,包括所有共享库内存,将为多个进程重复"
+"计算"
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr "响应"
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr "重启"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 msgid "Restart Nginx"
@@ -2900,7 +3129,7 @@ msgstr "重启远程 Nginx 错误"
 msgid "Restart Remote Nginx Success"
 msgstr "重启远程 Nginx 成功"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr "重启请求失败,请检查网络连接"
 
@@ -3082,7 +3311,7 @@ msgstr "自我检查"
 msgid "Send"
 msgstr "上传"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 msgid "Server"
 msgstr "服务器"
 
@@ -3361,7 +3590,7 @@ msgstr "同步配置错误"
 msgid "Sync Config Success"
 msgstr "同步配置成功"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgstr "同步节点"
@@ -3510,6 +3739,14 @@ msgstr "URL 无效."
 msgid "The username or password is incorrect"
 msgstr "用户名或密码错误"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr "理论最大并发连接数:"
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr "理论最大 RPS(每秒请求次数):"
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3551,6 +3788,12 @@ msgid ""
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr "该字段只能包含字母、unicode 字符、数字和 -_。"
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr "该模块提供 Nginx 请求统计、连接数等数据。启用后,可以查看性能统计"
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3596,6 +3839,13 @@ msgstr "限流"
 msgid "Tips"
 msgstr "提示"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+"提示您可以通过增加 worker_processes 或 worker_connections 来提高并发处理能力"
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr "标题"
@@ -3639,6 +3889,10 @@ msgstr ""
 "要使用本地大型模型,可使用 ollama、vllm 或 lmdeploy 进行部署。它们提供了与 "
 "OpenAI 兼容的 API 端点,因此只需将 baseUrl 设置为本地 API 即可。"
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+msgid "Toggle failed"
+msgstr "切换失败"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr "Token 无效"
@@ -3648,6 +3902,33 @@ msgid "Total %{total} item"
 msgid_plural "Total %{total} items"
 msgstr[0] "共 %{total} 个项目"
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr "连接总数"
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr "握手总数"
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr "Nginx 进程总数"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr "Nginx 进程总数"
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr "总请求数"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr "请求总数/连接总数"
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr "TOTP"
@@ -3673,6 +3954,10 @@ msgstr "需要两步验证"
 msgid "Type"
 msgstr "类型"
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr "未知"
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr "未知问题"
@@ -3763,6 +4048,10 @@ msgstr "用户名 (*)"
 msgid "Valid"
 msgstr "有效的"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr "值"
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -3798,6 +4087,11 @@ msgstr "查看恢复代码"
 msgid "Viewed"
 msgstr "已查看"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr "等待处理"
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -3872,6 +4166,16 @@ msgid ""
 "codes."
 msgstr "当您生成新的恢复代码时,必须下载或打印新的代码。"
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr "工作进程"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr "Workers"
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -3885,8 +4189,8 @@ msgstr "正在将证书私钥写入磁盘"
 msgid "Writing certificate to disk"
 msgstr "正在将证书写入磁盘"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 326 - 16
app/src/language/zh_TW/app.po

@@ -59,6 +59,15 @@ msgstr "ACME 用戶"
 msgid "Action"
 msgstr "操作"
 
+#: src/composables/usePerformanceMetrics.ts:86
+#: src/views/dashboard/components/PerformanceTablesCard.vue:44
+msgid "Active connections"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:48
+msgid "Actual worker to configured ratio"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
@@ -113,7 +122,7 @@ msgstr "進階模式"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr "然後,重新整理此頁面並再次點選新增通行密鑰。"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgstr "全部"
@@ -205,7 +214,7 @@ msgstr "您確定要刪除嗎?"
 msgid "Are you sure you want to recover this item?"
 msgstr "您確定要恢復此項目嗎?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "您確定要在以下同步節點上重新載入Nginx嗎?"
 
@@ -221,7 +230,7 @@ msgstr "您確定要刪除此項目嗎?"
 msgid "Are you sure you want to remove this location?"
 msgstr "您確定要刪除此 Location 嗎?"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "您確定要在以下同步節點上重新啟動Nginx嗎?"
 
@@ -258,6 +267,10 @@ msgstr "認證設定"
 msgid "Author"
 msgstr "作者"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgstr "自動重新整理"
@@ -370,10 +383,27 @@ msgstr "構建基於"
 msgid "CA Dir"
 msgstr "CA Dir"
 
+#: src/composables/usePerformanceMetrics.ts:141
+#: src/views/dashboard/components/PerformanceTablesCard.vue:95
+msgid "Cache manager processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:59
+#: src/views/dashboard/components/ProcessDistributionCard.vue:14
+msgid "Cache Processes"
+msgstr ""
+
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgstr "CADir"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
+#: src/views/dashboard/components/PerformanceTablesCard.vue:191
+msgid ""
+"Calculated based on worker_processes * worker_connections. Actual "
+"performance depends on hardware, configuration, and workload"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -397,6 +427,10 @@ msgstr "無法在示範模式下更改初始使用者密碼"
 msgid "Cannot compare: Missing content"
 msgstr "無法比較:缺少內容"
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgstr "無法移除初始使用者"
@@ -611,6 +645,11 @@ msgstr "設定檔案測試成功"
 msgid "Configuration History"
 msgstr "配置歷史"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "配置歷史"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgstr "設定名稱"
@@ -627,6 +666,10 @@ msgstr "設定 SSL"
 msgid "Connected"
 msgstr "已連結"
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgstr "連接丟失,請重新整理。"
@@ -664,6 +707,14 @@ msgstr "核心升級"
 msgid "CPU Status"
 msgstr "中央處理器狀態"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:27
+msgid "CPU Usage"
+msgstr ""
+
+#: src/views/dashboard/components/ResourceUsageCard.vue:38
+msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgstr "中央處理器:"
@@ -727,10 +778,19 @@ msgstr "當前帳戶已啟用 TOTP。"
 msgid "Current account is not enabled TOTP."
 msgstr "當前帳戶未啟用 TOTP。"
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 msgid "Current Content"
 msgstr "當前內容"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "當前內容"
+
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgstr "目前版本"
@@ -1153,6 +1213,10 @@ msgstr "在 %{node} 上啟用串流 %{name} 失敗"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "在 %{node} 上成功啟用串流 %{name}"
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgstr "啟用 TLS"
@@ -1421,6 +1485,11 @@ msgstr "無法生成初始化向量:{0}"
 msgid "Failed to get certificate information"
 msgstr "取得憑證資訊失敗"
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "取得憑證資訊失敗"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 msgid "Failed to load history records"
 msgstr "無法載入歷史記錄"
@@ -1575,6 +1644,11 @@ msgstr "成功生成復原代碼"
 msgid "Generating private key for registering account"
 msgstr "產生註冊帳號的私鑰"
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "註冊失敗"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
@@ -1596,6 +1670,10 @@ msgstr "哈希驗證失敗:檔案完整性受損"
 msgid "Hide"
 msgstr "隱藏"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
@@ -1674,6 +1752,12 @@ msgstr "導入"
 msgid "Import Certificate"
 msgstr "導入憑證"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:54
+msgid ""
+"Includes master process, worker processes, cache processes, and other Nginx "
+"processes"
+msgstr ""
+
 #: src/views/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
@@ -1684,6 +1768,10 @@ msgstr "已索引"
 msgid "Indexing..."
 msgstr "索引中..."
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
@@ -1840,6 +1928,11 @@ msgstr "Lark 自定義"
 msgid "Last checked at"
 msgstr "上次檢查時間"
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "最後使用時間"
+
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgstr "最後使用時間"
@@ -1898,6 +1991,10 @@ msgstr "從設置加載"
 msgid "Load successfully"
 msgstr "加載成功"
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
@@ -1990,10 +2087,46 @@ msgstr "管理使用者"
 msgid "Managed Certificate"
 msgstr "受管理的憑證"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "manually set"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Master"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:136
+#: src/views/dashboard/components/PerformanceTablesCard.vue:90
+msgid "Master process"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:58
+#: src/views/dashboard/components/ProcessDistributionCard.vue:13
+msgid "Master Process"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgstr "最大嘗試次數"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
+#, fuzzy
+msgid "Max Concurrent Connections"
+msgstr "當前內容"
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
+msgid "Max Requests Per Second"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:176
+#: src/views/dashboard/components/PerformanceTablesCard.vue:126
+msgid "Maximum number of connections per worker process"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:196
+msgid "Maximum worker process number:"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
@@ -2003,6 +2136,10 @@ msgstr "記憶體"
 msgid "Memory and Storage"
 msgstr "記憶體與儲存"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgstr "分鐘"
@@ -2059,6 +2196,10 @@ msgstr "多行指令"
 msgid "Name"
 msgstr "名稱"
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgstr "網路"
@@ -2097,7 +2238,7 @@ msgstr "新版本發布"
 msgid "Next"
 msgstr "下一步"
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgstr "Nginx"
 
@@ -2154,14 +2295,28 @@ msgstr "Nginx 配置目錄"
 msgid "Nginx Control"
 msgstr "Nginx 控制元件"
 
+#: src/composables/usePerformanceMetrics.ts:151
+#: src/views/dashboard/components/PerformanceTablesCard.vue:105
+msgid "Nginx CPU usage rate"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgstr "Nginx 錯誤日誌路徑"
 
+#: src/composables/useNginxPerformance.ts:44
+#: src/views/dashboard/NginxDashBoard.vue:114
+#: src/views/dashboard/NginxDashBoard.vue:133
+#: src/views/dashboard/NginxDashBoard.vue:82
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgstr "Nginx 未執行"
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+#, fuzzy
+msgid "Nginx is running"
+msgstr "Nginx 未執行"
+
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgstr "Nginx 日誌"
@@ -2170,6 +2325,11 @@ msgstr "Nginx 日誌"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Nginx 日誌目錄白名單"
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgstr "Nginx PID 路徑"
@@ -2202,6 +2362,10 @@ msgstr "Nginx 重啟成功"
 msgid "Nginx Test Config Command"
 msgstr "Nginx 測試配置指令"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgstr "Nginx UI 已安裝"
@@ -2217,8 +2381,8 @@ msgid ""
 msgstr "Nginx UI 設定已恢復,將在幾秒後自動重新啟動。"
 
 #: src/components/ChatGPT/ChatGPT.vue:374
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:163
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145
 #: src/components/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2240,6 +2404,10 @@ msgstr "取消"
 msgid "No Action"
 msgstr "無行動"
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgstr "未選取任何記錄"
@@ -2309,6 +2477,13 @@ msgstr "通知"
 msgid "Notifier not found"
 msgstr "通知器未找到"
 
+#: src/composables/usePerformanceMetrics.ts:131
+#: src/composables/usePerformanceMetrics.ts:171
+#: src/views/dashboard/components/PerformanceTablesCard.vue:121
+#: src/views/dashboard/components/PerformanceTablesCard.vue:85
+msgid "Number of worker processes"
+msgstr ""
+
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgstr "取得憑證"
@@ -2327,7 +2502,7 @@ msgid ""
 "Firefox."
 msgstr "OCSP 必須裝訂可能會導致某些用戶在首次使用 Firefox 訪問時出現錯誤。"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
@@ -2362,7 +2537,7 @@ msgstr "確定"
 msgid "Once the verification is complete, the records will be removed."
 msgstr "驗證完成後,記錄將被刪除。"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
@@ -2398,6 +2573,20 @@ msgstr "作業系統"
 msgid "OS:"
 msgstr "作業系統:"
 
+#: src/composables/usePerformanceMetrics.ts:146
+#: src/views/dashboard/components/PerformanceTablesCard.vue:100
+msgid "Other Nginx processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:60
+#: src/views/dashboard/components/ProcessDistributionCard.vue:15
+msgid "Other Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Others"
+msgstr ""
+
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgstr "OTP 或復原代碼為空"
@@ -2470,6 +2659,10 @@ msgstr "執行"
 msgid "Perform core upgrade error"
 msgstr "執行核心升級錯誤"
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgstr "正在執行核心升級"
@@ -2478,6 +2671,12 @@ msgstr "正在執行核心升級"
 msgid "Plain text is empty"
 msgstr "明文為空"
 
+#: src/views/dashboard/NginxDashBoard.vue:176
+msgid ""
+"Please enable the stub_status module to get request statistics, connection "
+"count, etc."
+msgstr ""
+
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2613,6 +2812,15 @@ msgstr "偏好設定"
 msgid "Preparing lego configurations"
 msgstr "準備 Lego 設定"
 
+#: src/views/dashboard/components/ProcessDistributionCard.vue:26
+msgid "Process Distribution"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:155
+#, fuzzy
+msgid "Process information"
+msgstr "基本資訊"
+
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgstr "在示範模式中禁止更改 root 密碼"
@@ -2637,6 +2845,11 @@ msgstr "代理伺服器"
 msgid "Public Security Number"
 msgstr "公安編號"
 
+#: src/composables/usePerformanceMetrics.ts:106
+#: src/views/dashboard/components/PerformanceTablesCard.vue:64
+msgid "Read requests"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
@@ -2730,7 +2943,7 @@ msgstr "發行公告"
 msgid "Reload"
 msgstr "重新載入"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
@@ -2754,7 +2967,7 @@ msgstr "重新載入遠端Nginx錯誤"
 msgid "Reload Remote Nginx Success"
 msgstr "遠端Nginx重載成功"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgstr "重新載入請求失敗,請檢查您的網路連線"
 
@@ -2866,6 +3079,11 @@ msgstr "更新憑證成功"
 msgid "Renew successfully"
 msgstr "更新成功"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "網路統計"
+
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgstr "請求逾時"
@@ -2874,6 +3092,10 @@ msgstr "請求逾時"
 msgid "Requested with wrong parameters"
 msgstr "請求參數錯誤"
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgstr "重設"
@@ -2882,11 +3104,23 @@ msgstr "重設"
 msgid "Reset 2FA"
 msgstr "重置多重因素驗證"
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:53
+msgid ""
+"Resident Set Size: Actual memory resident in physical memory, including all "
+"shared library memory, which will be repeated calculated for multiple "
+"processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:111
+#: src/views/dashboard/components/PerformanceTablesCard.vue:69
+msgid "Responses"
+msgstr ""
+
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgstr "重新啟動"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:168
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
 #: src/views/environments/list/Environment.vue:141
 #: src/views/environments/list/Environment.vue:149
 msgid "Restart Nginx"
@@ -2908,7 +3142,7 @@ msgstr "遠端Nginx重啟錯誤"
 msgid "Restart Remote Nginx Success"
 msgstr "遠端Nginx重啟成功"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgstr "重新啟動請求失敗,請檢查您的網路連線"
 
@@ -3092,7 +3326,7 @@ msgstr "自我檢測"
 msgid "Send"
 msgstr "傳送"
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 msgid "Server"
 msgstr "伺服器"
 
@@ -3372,7 +3606,7 @@ msgstr "同步配置錯誤"
 msgid "Sync Config Success"
 msgstr "同步配置成功"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgstr "同步節點"
@@ -3521,6 +3755,14 @@ msgstr "網址無效。"
 msgid "The username or password is incorrect"
 msgstr "使用者名稱或密碼不正確"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:185
+msgid "Theoretical maximum concurrent connections:"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceTablesCard.vue:189
+msgid "Theoretical maximum RPS (Requests Per Second):"
+msgstr ""
+
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
@@ -3562,6 +3804,12 @@ msgid ""
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr "此欄位僅能包含字母、Unicode字元、數字、連字號、破折號和底線。"
 
+#: src/views/dashboard/NginxDashBoard.vue:155
+msgid ""
+"This module provides Nginx request statistics, connection count, etc. data. "
+"After enabling it, you can view performance statistics"
+msgstr ""
+
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 "This operation will only remove the certificate from the database. The "
@@ -3607,6 +3855,12 @@ msgstr "節流"
 msgid "Tips"
 msgstr "提示"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:203
+msgid ""
+"Tips: You can increase the concurrency processing capacity by increasing "
+"worker_processes or worker_connections"
+msgstr ""
+
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgstr "標題"
@@ -3650,6 +3904,11 @@ msgstr ""
 "要使用本地大型模型,請使用 ollama、vllm 或 lmdeploy 部署。它們提供與 OpenAI "
 "相容的 API 端點,因此只需將 baseUrl 設定為您的本地 API。"
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "啟用失敗"
+
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr "令牌無效"
@@ -3659,6 +3918,33 @@ msgid "Total %{total} item"
 msgid_plural "Total %{total} items"
 msgstr[0] "總計 %{total} 項"
 
+#: src/composables/usePerformanceMetrics.ts:96
+#: src/views/dashboard/components/PerformanceTablesCard.vue:54
+msgid "Total connections"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:91
+#: src/views/dashboard/components/PerformanceTablesCard.vue:49
+msgid "Total handshakes"
+msgstr ""
+
+#: src/views/dashboard/components/ProcessDistributionCard.vue:53
+msgid "Total Nginx processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
+msgid "Total Nginx Processes"
+msgstr ""
+
+#: src/composables/usePerformanceMetrics.ts:101
+#: src/views/dashboard/components/PerformanceTablesCard.vue:59
+msgid "Total requests"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
+msgid "Total Requests / Total Connections"
+msgstr ""
+
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr "TOTP"
@@ -3684,6 +3970,11 @@ msgstr "需要多重因素驗證"
 msgid "Type"
 msgstr "類型"
 
+#: src/composables/useNginxPerformance.ts:19
+#, fuzzy
+msgid "Unknown"
+msgstr "未知問題"
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgstr "未知問題"
@@ -3774,6 +4065,10 @@ msgstr "使用者名稱 (*)"
 msgid "Valid"
 msgstr "有效"
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
@@ -3809,6 +4104,11 @@ msgstr "檢視復原代碼"
 msgid "Viewed"
 msgstr "已檢視"
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
@@ -3884,6 +4184,16 @@ msgid ""
 "codes."
 msgstr "當您生成新的復原代碼時,必須下載或列印新的代碼。"
 
+#: src/composables/usePerformanceMetrics.ts:57
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:49
+#: src/views/dashboard/components/ProcessDistributionCard.vue:12
+msgid "Worker Processes"
+msgstr ""
+
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
+msgid "Workers"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
@@ -3897,8 +4207,8 @@ msgstr "將憑證私鑰寫入磁碟"
 msgid "Writing certificate to disk"
 msgstr "將憑證寫入磁碟"
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144
 #: src/views/preference/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

+ 1 - 1
app/src/views/dashboard/NginxDashBoard.vue

@@ -144,7 +144,7 @@ onMounted(() => {
       :description="error"
     />
 
-    <!-- stub_status 开关 -->
+    <!-- stub_status switch -->
     <ACard class="mb-4" :bordered="false">
       <div class="flex items-center justify-between">
         <div>

+ 1 - 1
app/src/views/dashboard/components/ResourceUsageCard.vue

@@ -48,7 +48,7 @@ const cpuUsage = computed(() => {
               <FundProjectionScreenOutlined />
             </div>
             <div class="text-base font-medium">
-              {{ $gettext('Memory Usage(RSS)') }}: <span class="text-blue-500">{{ nginxInfo.memory_usage.toFixed(2) }} MB</span>
+              {{ $gettext('Memory Usage (RSS)') }}: <span class="text-blue-500">{{ nginxInfo.memory_usage.toFixed(2) }} MB</span>
             </div>
             <ATooltip :title="$gettext('Resident Set Size: Actual memory resident in physical memory, including all shared library memory, which will be repeated calculated for multiple processes')">
               <InfoCircleOutlined class="ml-1 text-gray-500" />