소스 검색

chore: update translations

Jacky 3 달 전
부모
커밋
d487af0567

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

@@ -1,24 +1,6 @@
 import type { NginxPerformanceInfo } from '@/api/ngx'
 import type { NginxPerformanceInfo } from '@/api/ngx'
 import ngx 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() {
 export function useNginxPerformance() {
   const loading = ref(false)
   const loading = ref(false)
@@ -35,7 +17,7 @@ export function useNginxPerformance() {
   const formattedUpdateTime = computed(() => {
   const formattedUpdateTime = computed(() => {
     if (!lastUpdateTime.value)
     if (!lastUpdateTime.value)
       return $gettext('Unknown')
       return $gettext('Unknown')
-    return formatTimeAgo(lastUpdateTime.value)
+    return fromNow(lastUpdateTime.value.toLocaleString())
   })
   })
 
 
   // Update the last update time
   // Update the last update time

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

@@ -54,6 +54,15 @@ msgstr "مستخدم ACME"
 msgid "Action"
 msgid "Action"
 msgstr "إجراء"
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -108,7 +117,7 @@ msgstr "الوضع المتقدم"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr "بعد ذلك، قم بتحديث هذه الصفحة وانقر فوق إضافة مفتاح مرور مرة أخرى."
 msgstr "بعد ذلك، قم بتحديث هذه الصفحة وانقر فوق إضافة مفتاح مرور مرة أخرى."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr "الكل"
 msgstr "الكل"
@@ -205,7 +214,7 @@ msgstr "هل أنت متأكد أنك تريد الحذف؟"
 msgid "Are you sure you want to recover this item?"
 msgid "Are you sure you want to recover this item?"
 msgstr "هل أنت متأكد أنك تريد استرداد هذا العنصر؟"
 msgstr "هل أنت متأكد أنك تريد استرداد هذا العنصر؟"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "هل أنت متأكد أنك تريد الحذف؟"
 msgstr "هل أنت متأكد أنك تريد الحذف؟"
@@ -222,7 +231,7 @@ msgstr "هل أنت متأكد أنك تريد إزالة هذا العنصر؟"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "هل أنت متأكد أنك تريد إزالة هذا المكان؟"
 msgstr "هل أنت متأكد أنك تريد إزالة هذا المكان؟"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "هل أنت متأكد أنك تريد مسح كافة التنبيهات؟"
 msgstr "هل أنت متأكد أنك تريد مسح كافة التنبيهات؟"
@@ -261,6 +270,10 @@ msgstr "إعدادات المصادقة"
 msgid "Author"
 msgid "Author"
 msgstr "الكاتب"
 msgstr "الكاتب"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "التحديث التلقائي"
 msgstr "التحديث التلقائي"
@@ -377,10 +390,27 @@ msgstr "بناء مع"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr "مجلد سلطة التصديق"
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr "مجلد سلطة التصديق"
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -405,6 +435,10 @@ msgstr "حظر تغيير كلمة مرور root في العرض التوضيح
 msgid "Cannot compare: Missing content"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 #, fuzzy
 #, fuzzy
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
@@ -636,6 +670,11 @@ msgstr "تم اختبار ملف التكوين بنجاح"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "التكوينات"
 msgstr "التكوينات"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "التكوينات"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "اسم التكوين"
 msgstr "اسم التكوين"
@@ -652,6 +691,10 @@ msgstr "تكوين SSL"
 msgid "Connected"
 msgid "Connected"
 msgstr "متصل"
 msgstr "متصل"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr "تم فقدان الاتصال، يرجى تحديث الصفحة."
 msgstr "تم فقدان الاتصال، يرجى تحديث الصفحة."
@@ -691,6 +734,14 @@ msgstr "ترقية نواة"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "حالة CPU"
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
@@ -754,11 +805,20 @@ msgstr "TOTP مفعل للحساب الحالي."
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr "TOTP معطل للحساب الحالي."
 msgstr "TOTP معطل للحساب الحالي."
 
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 #, fuzzy
 msgid "Current Content"
 msgid "Current Content"
 msgstr "الإصدار الحالي"
 msgstr "الإصدار الحالي"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "الإصدار الحالي"
+
 #: src/views/system/Upgrade.vue:165
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "الإصدار الحالي"
 msgstr "الإصدار الحالي"
@@ -1219,6 +1279,10 @@ msgstr "فشل تفعيل %{conf_name} في %{node_name}"
 msgid "Enable stream %{name} on %{node} successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "تم تفعيل الموقع %{site} على %{node} بنجاح"
 msgstr "تم تفعيل الموقع %{site} على %{node} بنجاح"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "تفعيل TLS"
 msgstr "تفعيل TLS"
@@ -1515,6 +1579,11 @@ msgstr "فشل في الحصول على معلومات الشهادة"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "فشل في الحصول على معلومات الشهادة"
 msgstr "فشل في الحصول على معلومات الشهادة"
 
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "فشل في الحصول على معلومات الشهادة"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 #, fuzzy
 msgid "Failed to load history records"
 msgid "Failed to load history records"
@@ -1684,6 +1753,11 @@ msgstr "تم الاسترداد بنجاح"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "توليد مفتاح خاص لتسجيل الحساب"
 msgstr "توليد مفتاح خاص لتسجيل الحساب"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "فشل التسجيل"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
 msgid "Get release information error"
@@ -1705,6 +1779,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr "إخفاء"
 msgstr "إخفاء"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1790,6 +1868,12 @@ msgstr "استيراد"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "استيراد شهادة"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1800,6 +1884,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -1965,6 +2053,11 @@ msgstr "مخصص"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "آخر فحص في"
 msgstr "آخر فحص في"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "آخر استخدام في"
+
 #: src/views/preference/components/Passkey.vue:96
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgid "Last used at"
 msgstr "آخر استخدام في"
 msgstr "آخر استخدام في"
@@ -2023,6 +2116,10 @@ msgstr "تحميل من الإعدادات"
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "تم التحميل بنجاح"
 msgstr "تم التحميل بنجاح"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
 msgid "Local"
@@ -2121,10 +2218,46 @@ msgstr "إدارة المستخدمين"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "شهادة مُدارة"
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr "الحد الأقصى للمحاولات"
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -2134,6 +2267,10 @@ msgstr "ذاكرة"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "الذاكرة والتخزين"
 msgstr "الذاكرة والتخزين"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr "دقائق"
 msgstr "دقائق"
@@ -2190,6 +2327,10 @@ msgstr "توجيه متعدد الأسطر"
 msgid "Name"
 msgid "Name"
 msgstr "اسم"
 msgstr "اسم"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "شبكة"
 msgstr "شبكة"
@@ -2229,7 +2370,7 @@ msgstr "تم إصدار نسخة جديدة"
 msgid "Next"
 msgid "Next"
 msgstr "التالي"
 msgstr "التالي"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -2289,14 +2430,28 @@ msgstr "مجلد تكوينات Nginx"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "التحكم في Nginx"
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "مسار سجل أخطاء Nginx"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr "Nginx لا يعمل"
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "سجل Nginx"
 msgstr "سجل Nginx"
@@ -2305,6 +2460,11 @@ msgstr "سجل Nginx"
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr "قائمة السماح لمجلد سجلات Nginx"
 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
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
 msgstr "مسار PID لـ Nginx"
 msgstr "مسار PID لـ Nginx"
@@ -2338,6 +2498,10 @@ msgstr "تم إعادة تشغيل Nginx بنجاح"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr "أمر إعادة تشغيل Nginx"
 msgstr "أمر إعادة تشغيل Nginx"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #: src/constants/errors/system.ts:2
 #, fuzzy
 #, fuzzy
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
@@ -2356,8 +2520,8 @@ msgid ""
 msgstr "خطأ في تحليل تكوين Nginx"
 msgstr "خطأ في تحليل تكوين Nginx"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2380,6 +2544,10 @@ msgstr "لا"
 msgid "No Action"
 msgid "No Action"
 msgstr "إجراء"
 msgstr "إجراء"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2456,6 +2624,13 @@ msgstr "الإشعارات"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "لم يتم العثور على الملف"
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgid "Obtain certificate"
 msgstr "الحصول على شهادة"
 msgstr "الحصول على شهادة"
@@ -2476,7 +2651,7 @@ msgstr ""
 "قد يتسبب وجوب تثبيت OCSP في حدوث أخطاء لبعض المستخدمين عند الوصول لأول مرة "
 "قد يتسبب وجوب تثبيت OCSP في حدوث أخطاء لبعض المستخدمين عند الوصول لأول مرة "
 "باستخدام Firefox."
 "باستخدام Firefox."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2511,7 +2686,7 @@ msgstr "حسنًا"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "بمجرد اكتمال التحقق، سيتم إزالة السجلات."
 msgstr "بمجرد اكتمال التحقق، سيتم إزالة السجلات."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2547,6 +2722,20 @@ msgstr "نظام التشغيل"
 msgid "OS:"
 msgid "OS:"
 msgstr "نظام التشغيل:"
 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
 #: src/constants/errors/user.ts:9
 #, fuzzy
 #, fuzzy
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
@@ -2623,6 +2812,10 @@ msgstr "نفذ"
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "خطأ في تنفيذ ترقية النواة"
 msgstr "خطأ في تنفيذ ترقية النواة"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "تنفيذ ترقية النواة"
 msgstr "تنفيذ ترقية النواة"
@@ -2631,6 +2824,12 @@ msgstr "تنفيذ ترقية النواة"
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2773,6 +2972,15 @@ msgstr "تفضيل"
 msgid "Preparing lego configurations"
 msgid "Preparing lego configurations"
 msgstr "تحضير تكوينات Lego"
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr "حظر تغيير كلمة مرور root في العرض التوضيحي"
 msgstr "حظر تغيير كلمة مرور root في العرض التوضيحي"
@@ -2797,6 +3005,11 @@ msgstr "وكيل"
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2890,7 +3103,7 @@ msgstr "ملاحظة الإصدار"
 msgid "Reload"
 msgid "Reload"
 msgstr "إعادة تحميل"
 msgstr "إعادة تحميل"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -2919,7 +3132,7 @@ msgstr "خطأ في إعادة تسمية الموقع البعيد"
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr "تم إعادة تسمية الموقع البعيد بنجاح"
 msgstr "تم إعادة تسمية الموقع البعيد بنجاح"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3038,6 +3251,11 @@ msgstr "تجديد الشهادة بنجاح"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "تم التجديد بنجاح"
 msgstr "تم التجديد بنجاح"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "إحصائيات الشبكة"
+
 #: src/constants/errors/crypto.ts:4
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -3046,6 +3264,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr "تم الطلب باستخدام عوامل خاطئة"
 msgstr "تم الطلب باستخدام عوامل خاطئة"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr "إعادة تعيين"
 msgstr "إعادة تعيين"
@@ -3054,11 +3276,23 @@ msgstr "إعادة تعيين"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "إعادة تعيين التحقق بخطوتين"
 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr "إعادة تشغيل"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
 #, fuzzy
@@ -3085,7 +3319,7 @@ msgstr "خطأ في إعادة تسمية الموقع البعيد"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "تم إعادة تسمية الموقع البعيد بنجاح"
 msgstr "تم إعادة تسمية الموقع البعيد بنجاح"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3280,7 +3514,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr "إرسال"
 msgstr "إرسال"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 #, fuzzy
 msgid "Server"
 msgid "Server"
 msgstr "معلومات الخادم"
 msgstr "معلومات الخادم"
@@ -3577,7 +3811,7 @@ msgstr "خطأ في تزامن التكوين"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "تمت مزامنة التكوين بنجاح"
 msgstr "تمت مزامنة التكوين بنجاح"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgid "Sync Nodes"
 msgstr "مزامنة العقد"
 msgstr "مزامنة العقد"
@@ -3743,6 +3977,14 @@ msgstr "عنوان URL غير صالح."
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "اسم المستخدم أو كلمة المرور غير صحيحة"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "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 -_."
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr "يجب أن يحتوي هذا الحقل على حروف وأحرف يونيكود وأرقام و-_. فقط."
 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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3827,6 +4075,12 @@ msgstr "كبح"
 msgid "Tips"
 msgid "Tips"
 msgstr "نصائح"
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr "عنوان"
 msgstr "عنوان"
@@ -3874,6 +4128,11 @@ msgstr ""
 "نهاية API متوافقة مع OpenAI، لذا قم فقط بتعيين baseUrl إلىAPI المحلية الخاصة "
 "نهاية API متوافقة مع OpenAI، لذا قم فقط بتعيين baseUrl إلىAPI المحلية الخاصة "
 "بك."
 "بك."
 
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "فشل التفعيل"
+
 #: src/views/preference/OpenAISettings.vue:61
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "الرمز غير صالح"
 msgstr "الرمز غير صالح"
@@ -3888,6 +4147,33 @@ msgstr[3] ""
 msgstr[4] ""
 msgstr[4] ""
 msgstr[5] ""
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr "كلمة مرور لمرة واحدة تعتمد على الوقت"
 msgstr "كلمة مرور لمرة واحدة تعتمد على الوقت"
@@ -3915,6 +4201,10 @@ msgstr "يتطلب المصادقة الثنائية"
 msgid "Type"
 msgid "Type"
 msgstr "نوع"
 msgstr "نوع"
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -4006,6 +4296,10 @@ msgstr "اسم المستخدم (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "صالح"
 msgstr "صالح"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -4043,6 +4337,11 @@ msgstr "رمز الاسترداد"
 msgid "Viewed"
 msgid "Viewed"
 msgstr "عرض"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4119,6 +4418,16 @@ msgid ""
 "codes."
 "codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -4132,8 +4441,8 @@ msgstr "كتابة مفتاح الشهادة الخاص إلى القرص"
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "كتابة الشهادة إلى القرص"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: 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"
 msgid "Action"
 msgstr "Aktion"
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -111,7 +120,7 @@ msgstr ""
 "Anschließend diese Seite aktualisieren und erneut auf Passkey hinzufügen "
 "Anschließend diese Seite aktualisieren und erneut auf Passkey hinzufügen "
 "klicken."
 "klicken."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr "Alle"
 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?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?"
 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
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 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?"
 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?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?"
 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
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 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?"
 msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?"
@@ -275,6 +284,10 @@ msgstr "Authentifizierungseinstellungen"
 msgid "Author"
 msgid "Author"
 msgstr "Autor"
 msgstr "Autor"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "Automatische Aktualisierung"
 msgstr "Automatische Aktualisierung"
@@ -395,10 +408,27 @@ msgstr "Build mit"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr "CA-Verzeichnis"
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr "CA-Verzeichnis"
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: 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"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 #, fuzzy
 #, fuzzy
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
@@ -656,6 +690,11 @@ msgstr "Konfigurationsdatei erfolgreich getestet"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "Konfigurationen"
 msgstr "Konfigurationen"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Konfigurationen"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "Konf"
 msgstr "Konf"
@@ -672,6 +711,10 @@ msgstr "SSL konfigurieren"
 msgid "Connected"
 msgid "Connected"
 msgstr "Verbunden"
 msgstr "Verbunden"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr "Ver"
 msgstr "Ver"
@@ -711,6 +754,14 @@ msgstr "Core-Upgrade"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
@@ -778,11 +829,20 @@ msgstr "Aktuelles Konto ist TOTP aktiviert."
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr "Aktuelles Konto ist nicht TOTP aktiviert."
 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
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 #, fuzzy
 msgid "Current Content"
 msgid "Current Content"
 msgstr "Aktuelle Version"
 msgstr "Aktuelle Version"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Aktuelle Version"
+
 #: src/views/system/Upgrade.vue:165
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "Aktuelle Version"
 msgstr "Aktuelle Version"
@@ -1263,6 +1323,10 @@ msgstr "Aktivieren von %{conf_name} in %{node_name} fehlgeschlagen"
 msgid "Enable stream %{name} on %{node} successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Erfolgreich gespeichert"
 msgstr "Erfolgreich gespeichert"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Aktiviere TLS"
 msgstr "Aktiviere TLS"
@@ -1562,6 +1626,11 @@ msgstr "Fehler beim Abrufen von Zertifikatsinformationen"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "Fehler beim Abrufen von Zertifikatsinformationen"
 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
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 #, fuzzy
 msgid "Failed to load history records"
 msgid "Failed to load history records"
@@ -1733,6 +1802,11 @@ msgstr "Speichern erfolgreich"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "Generiere privaten Schlüssel zur Registrierung des Kontos"
 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/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 #, fuzzy
 #, fuzzy
@@ -1755,6 +1829,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr "Verstecken"
 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/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1841,6 +1919,12 @@ msgstr "Import"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "Zertifikatsstatus"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1851,6 +1935,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -2019,6 +2107,11 @@ msgstr "Benutzerdefiniert"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "Zuletzt überprüft am"
 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
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 #, fuzzy
 msgid "Last used at"
 msgid "Last used at"
@@ -2084,6 +2177,10 @@ msgstr "Aus Einstellungen laden"
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "Speichern erfolgreich"
 msgstr "Speichern erfolgreich"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
 #, fuzzy
@@ -2188,10 +2285,46 @@ msgstr "Verwalte Benutzer"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "Zertifikat ist gültig"
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr "Maximale Versuche"
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -2201,6 +2334,10 @@ msgstr "Arbeitsspeicher"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "Arbeitsspeicher und Speicher"
 msgstr "Arbeitsspeicher und Speicher"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr "Minuten"
 msgstr "Minuten"
@@ -2262,6 +2399,10 @@ msgstr "Einzelne Anweisung"
 msgid "Name"
 msgid "Name"
 msgstr "Name"
 msgstr "Name"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "Netzwerk"
 msgstr "Netzwerk"
@@ -2303,7 +2444,7 @@ msgstr "Neue Version veröffentlicht"
 msgid "Next"
 msgid "Next"
 msgstr "Nächster"
 msgstr "Nächster"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr ""
 msgstr ""
 
 
@@ -2365,14 +2506,28 @@ msgstr "Name der Konfiguration"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Nginx-Steuerung"
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Nginx Fehlerlog-Pfad"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr "Nginx läuft nicht"
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Nginx-Log"
 msgstr "Nginx-Log"
@@ -2381,6 +2536,11 @@ msgstr "Nginx-Log"
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Nginx-Log-Verzeichnis-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
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
 msgstr "Nginx PID-Pfad"
 msgstr "Nginx PID-Pfad"
@@ -2416,6 +2576,10 @@ msgstr "Speichern erfolgreich"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr "Beffehl zum Neustarten von Nginx"
 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
 #: src/constants/errors/system.ts:2
 #, fuzzy
 #, fuzzy
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
@@ -2434,8 +2598,8 @@ msgid ""
 msgstr "Name der Konfiguration"
 msgstr "Name der Konfiguration"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2458,6 +2622,10 @@ msgstr "Nein"
 msgid "No Action"
 msgid "No Action"
 msgstr "Aktion"
 msgstr "Aktion"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2538,6 +2706,13 @@ msgstr "Zertifikat ist gültig"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "File 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 #, fuzzy
 msgid "Obtain certificate"
 msgid "Obtain certificate"
@@ -2559,7 +2734,7 @@ msgstr ""
 "OCSP Must Staple kann bei einigen Benutzern beim ersten Zugriff mit Firefox "
 "OCSP Must Staple kann bei einigen Benutzern beim ersten Zugriff mit Firefox "
 "Fehler verursachen."
 "Fehler verursachen."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2595,7 +2770,7 @@ msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 msgstr ""
 "Sobaöd die Überprüfung abgeschlossen ist, werden die Einträge entfernt."
 "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:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2632,6 +2807,20 @@ msgstr "OS:"
 msgid "OS:"
 msgid "OS:"
 msgstr "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
 #: src/constants/errors/user.ts:9
 #, fuzzy
 #, fuzzy
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
@@ -2708,6 +2897,10 @@ msgstr "Ausführen"
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "Führe Core-Upgrade-Fehler aus"
 msgstr "Führe Core-Upgrade-Fehler aus"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "Führe Core-Upgrade aus"
 msgstr "Führe Core-Upgrade aus"
@@ -2716,6 +2909,12 @@ msgstr "Führe Core-Upgrade aus"
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "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"
 msgid "Preparing lego configurations"
 msgstr "Konfigurationen"
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr "Verhindere das Ändern des Root-Passworts in der Demo"
 msgstr "Verhindere das Ändern des Root-Passworts in der Demo"
@@ -2894,6 +3102,11 @@ msgstr "Proxy"
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr "Öffentliche Sicherheitsnummer"
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2994,7 +3207,7 @@ msgstr "Änderungsprotokoll"
 msgid "Reload"
 msgid "Reload"
 msgstr "Neu laden"
 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/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -3023,7 +3236,7 @@ msgstr "Zertifikat ist gültig"
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr "Zertifikat ist gültig"
 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"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3156,6 +3369,11 @@ msgstr "Zertifikat ist gültig"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "Aktivierung erfolgreich"
 msgstr "Aktivierung erfolgreich"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Netzwerkstatistiken"
+
 #: src/constants/errors/crypto.ts:4
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -3164,6 +3382,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr "Forderte mit falschen Parametern an"
 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
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr "Zurücksetzen"
 msgstr "Zurücksetzen"
@@ -3172,11 +3394,23 @@ msgstr "Zurücksetzen"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "Setze 2FA zurück"
 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr "Neustart"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
 #, fuzzy
@@ -3203,7 +3437,7 @@ msgstr "Zertifikat ist gültig"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "Zertifikat ist gültig"
 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"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3403,7 +3637,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr "Senden"
 msgstr "Senden"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 #, fuzzy
 msgid "Server"
 msgid "Server"
 msgstr "Serverinformationen"
 msgstr "Serverinformationen"
@@ -3709,7 +3943,7 @@ msgstr "Zertifikat ist gültig"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "Zertifikat ist gültig"
 msgstr "Zertifikat ist gültig"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgid "Sync Nodes"
 msgstr "Synchrone Knoten"
 msgstr "Synchrone Knoten"
@@ -3879,6 +4113,14 @@ msgstr "Die URL ist ungültig."
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "Benuztername oder Passwort ist falsch"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "These codes are the last resort for accessing your account in case you lose "
@@ -3919,6 +4161,12 @@ msgid ""
 msgstr ""
 msgstr ""
 "Dieses Feld sollte nur Buchstaben, Unicode-Zeichen, Zahlen und -_ enthalten."
 "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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3966,6 +4214,12 @@ msgstr "Begrenzung"
 msgid "Tips"
 msgid "Tips"
 msgstr "Tipps"
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr "Titel"
 msgstr "Titel"
@@ -4013,6 +4267,11 @@ msgstr ""
 "oder lmdeploy. Sie bieten einen OpenAI-kompatiblen API-Endpunkt, also setze "
 "oder lmdeploy. Sie bieten einen OpenAI-kompatiblen API-Endpunkt, also setze "
 "die baseUrl auf deine lokale API."
 "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
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "Schlüssel ist ungültig"
 msgstr "Schlüssel ist ungültig"
@@ -4023,6 +4282,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] "Gesamt %{total} Element"
 msgstr[0] "Gesamt %{total} Element"
 msgstr[1] "Gesamt %{total} Elemente"
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr "TOTP"
 msgstr "TOTP"
@@ -4050,6 +4336,10 @@ msgstr "Zwei-Faktor-Authentifizierung erforderlich"
 msgid "Type"
 msgid "Type"
 msgstr "Typ"
 msgstr "Typ"
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -4146,6 +4436,10 @@ msgstr "Benutzername (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "Gültig"
 msgstr "Gültig"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -4185,6 +4479,11 @@ msgstr "Wiederherstellungscode"
 msgid "Viewed"
 msgid "Viewed"
 msgstr "Anzeigen"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4264,6 +4563,16 @@ msgid ""
 "codes."
 "codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -4277,8 +4586,8 @@ msgstr "Scrheibe Zertifikat-Privatschlüssel auf die Festplatte"
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "Schreibe Zertifikat auf die Festplatte"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: 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"
 msgid "Action"
 msgstr "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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -110,7 +119,7 @@ msgstr "Advance Mode"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr ""
 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?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Are you sure you want to remove this directive?"
 msgstr "Are you sure you want to remove this directive?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Are you sure you want to remove this directive?"
 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?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Are you sure you want to remove this directive?"
 msgstr "Are you sure you want to remove this directive?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Are you sure you want to remove this directive?"
 msgstr "Are you sure you want to remove this directive?"
@@ -272,6 +281,10 @@ msgstr ""
 msgid "Author"
 msgid "Author"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr ""
 msgstr ""
@@ -391,10 +404,27 @@ msgstr "Build with"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr ""
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -418,6 +448,10 @@ msgstr ""
 msgid "Cannot compare: Missing content"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
 msgstr ""
 msgstr ""
@@ -650,6 +684,11 @@ msgstr ""
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "Configurations"
 msgstr "Configurations"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Configurations"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "Configuration Name"
 msgstr "Configuration Name"
@@ -666,6 +705,10 @@ msgstr "Configure SSL"
 msgid "Connected"
 msgid "Connected"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr ""
 msgstr ""
@@ -703,6 +746,14 @@ msgstr ""
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
@@ -770,11 +821,20 @@ msgstr ""
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 #, fuzzy
 msgid "Current Content"
 msgid "Current Content"
 msgstr "Content"
 msgstr "Content"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Content"
+
 #: src/views/system/Upgrade.vue:165
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr ""
 msgstr ""
@@ -1249,6 +1309,10 @@ msgstr "Saved successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Saved successfully"
 msgstr "Saved successfully"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Enable TLS"
 msgstr "Enable TLS"
@@ -1549,6 +1613,11 @@ msgstr "Certificate is valid"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "Certificate is valid"
 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
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 #, fuzzy
 msgid "Failed to load history records"
 msgid "Failed to load history records"
@@ -1720,6 +1789,11 @@ msgstr "Saved successfully"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "Enable failed"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 #, fuzzy
 #, fuzzy
@@ -1742,6 +1816,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1819,6 +1897,12 @@ msgstr ""
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "Certificate Status"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1829,6 +1913,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -2001,6 +2089,11 @@ msgstr ""
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "Created at"
 msgstr "Created at"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "Created at"
+
 #: src/views/preference/components/Passkey.vue:96
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 #, fuzzy
 msgid "Last used at"
 msgid "Last used at"
@@ -2066,6 +2159,10 @@ msgstr ""
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "Saved successfully"
 msgstr "Saved successfully"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
 #, fuzzy
@@ -2162,10 +2259,46 @@ msgstr "Manage Users"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "Certificate is valid"
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr ""
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -2175,6 +2308,10 @@ msgstr "Memory"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "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
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
@@ -2236,6 +2373,10 @@ msgstr "Single Directive"
 msgid "Name"
 msgid "Name"
 msgstr "Name"
 msgstr "Name"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "Network"
 msgstr "Network"
@@ -2277,7 +2418,7 @@ msgstr ""
 msgid "Next"
 msgid "Next"
 msgstr "Next"
 msgstr "Next"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr ""
 msgstr ""
 
 
@@ -2339,14 +2480,27 @@ msgstr "Configuration Name"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr ""
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr ""
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr ""
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr ""
 msgstr ""
@@ -2356,6 +2510,11 @@ msgstr ""
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Configuration Name"
 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
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
 msgstr ""
 msgstr ""
@@ -2390,6 +2549,10 @@ msgstr "Saved successfully"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
 msgstr ""
 msgstr ""
@@ -2407,8 +2570,8 @@ msgid ""
 msgstr "Configuration Name"
 msgstr "Configuration Name"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2431,6 +2594,10 @@ msgstr "No"
 msgid "No Action"
 msgid "No Action"
 msgstr "Action"
 msgstr "Action"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2509,6 +2676,13 @@ msgstr "Certificate is valid"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "File 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 #, fuzzy
 msgid "Obtain certificate"
 msgid "Obtain certificate"
@@ -2529,7 +2703,7 @@ msgid ""
 "Firefox."
 "Firefox."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2564,7 +2738,7 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2601,6 +2775,20 @@ msgstr "OS:"
 msgid "OS:"
 msgid "OS:"
 msgstr "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
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
 msgstr ""
 msgstr ""
@@ -2674,6 +2862,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "Certificate has expired"
 msgstr "Certificate has expired"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr ""
 msgstr ""
@@ -2682,6 +2874,12 @@ msgstr ""
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2820,6 +3018,15 @@ msgstr ""
 msgid "Preparing lego configurations"
 msgid "Preparing lego configurations"
 msgstr "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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr ""
 msgstr ""
@@ -2844,6 +3051,11 @@ msgstr ""
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2944,7 +3156,7 @@ msgstr ""
 msgid "Reload"
 msgid "Reload"
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -2972,7 +3184,7 @@ msgstr "Certificate is valid"
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr "Certificate is valid"
 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"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3105,6 +3317,11 @@ msgstr "Certificate is valid"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "Enabled successfully"
 msgstr "Enabled successfully"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Network Statistics"
+
 #: src/constants/errors/crypto.ts:4
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -3113,6 +3330,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr ""
 msgstr ""
@@ -3121,11 +3342,23 @@ msgstr ""
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr ""
 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr ""
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 msgid "Restart Nginx"
 msgid "Restart Nginx"
@@ -3151,7 +3384,7 @@ msgstr "Certificate is valid"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "Certificate is valid"
 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"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3351,7 +3584,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr "Send"
 msgstr "Send"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 #, fuzzy
 msgid "Server"
 msgid "Server"
 msgstr "Server Info"
 msgstr "Server Info"
@@ -3659,7 +3892,7 @@ msgstr "Certificate is valid"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "Certificate is valid"
 msgstr "Certificate is valid"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgid "Sync Nodes"
 msgstr ""
 msgstr ""
@@ -3820,6 +4053,14 @@ msgstr ""
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "Password"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "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 -_."
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3905,6 +4152,12 @@ msgstr ""
 msgid "Tips"
 msgid "Tips"
 msgstr ""
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr ""
 msgstr ""
@@ -3941,6 +4194,11 @@ msgid ""
 "local API."
 "local API."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Enable failed"
+
 #: src/views/preference/OpenAISettings.vue:61
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
@@ -3951,6 +4209,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr ""
 msgstr ""
@@ -3976,6 +4261,10 @@ msgstr ""
 msgid "Type"
 msgid "Type"
 msgstr ""
 msgstr ""
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -4073,6 +4362,10 @@ msgstr "Username (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "Invalid E-mail!"
 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:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -4113,6 +4406,11 @@ msgstr "Invalid E-mail!"
 msgid "Viewed"
 msgid "Viewed"
 msgstr "Basic Mode"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4178,6 +4476,16 @@ msgid ""
 "codes."
 "codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -4192,8 +4500,8 @@ msgstr ""
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "Certificate is valid"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: 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"
 msgid "Action"
 msgstr "Acción"
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -113,7 +122,7 @@ msgstr ""
 "Luego, actualice esta página y haga clic nuevamente en Agregar llave de "
 "Luego, actualice esta página y haga clic nuevamente en Agregar llave de "
 "acceso."
 "acceso."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr "Todo"
 msgstr "Todo"
@@ -210,7 +219,7 @@ msgstr "¿Está seguro de que quiere borrar?"
 msgid "Are you sure you want to recover this item?"
 msgid "Are you sure you want to recover this item?"
 msgstr "¿Está seguro de que quiere recuperar este elemento?"
 msgstr "¿Está seguro de que quiere recuperar este elemento?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "¿Está seguro de que quiere borrar?"
 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?"
 msgid "Are you sure you want to remove this location?"
 msgstr "¿Está seguro de que quiere borrar esta ubicación?"
 msgstr "¿Está seguro de que quiere borrar esta ubicación?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "¿Está seguro de que desea borrar todas las notificaciones?"
 msgstr "¿Está seguro de que desea borrar todas las notificaciones?"
@@ -266,6 +275,10 @@ msgstr "Configuración de autenticación"
 msgid "Author"
 msgid "Author"
 msgstr "Autor"
 msgstr "Autor"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "Actualización automática"
 msgstr "Actualización automática"
@@ -384,10 +397,27 @@ msgstr "Desarrollado con"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr "Dir CA"
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr "Directorio CA"
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: 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"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 #, fuzzy
 #, fuzzy
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
@@ -635,6 +669,11 @@ msgstr "El archivo de configuración se probó exitosamente"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "Configuraciones"
 msgstr "Configuraciones"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Configuraciones"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "Nombre de la configuración"
 msgstr "Nombre de la configuración"
@@ -651,6 +690,10 @@ msgstr "Configurar SSL"
 msgid "Connected"
 msgid "Connected"
 msgstr "Conectado"
 msgstr "Conectado"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr "Conexión perdida, por favor actualice la página."
 msgstr "Conexión perdida, por favor actualice la página."
@@ -690,6 +733,14 @@ msgstr "Actualización del kernel"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "Estado del CPU"
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
@@ -753,11 +804,20 @@ msgstr "La cuenta actual tiene habilitada TOTP."
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr "La cuenta actual no tiene habilitada 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
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 #, fuzzy
 msgid "Current Content"
 msgid "Current Content"
 msgstr "Versión actual"
 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
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "Versión actual"
 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"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Habilitado exitoso de %{conf_name} en %{node_name}"
 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
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Habilitar TLS"
 msgstr "Habilitar TLS"
@@ -1517,6 +1581,11 @@ msgstr "No se pudo obtener la información del certificado"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "No se pudo obtener la información del certificado"
 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
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 #, fuzzy
 msgid "Failed to load history records"
 msgid "Failed to load history records"
@@ -1685,6 +1754,11 @@ msgstr "Recuperado con éxito"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "Generando clave privada para registrar cuenta"
 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/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
 msgid "Get release information error"
@@ -1706,6 +1780,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr "Ocultar"
 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/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1793,6 +1871,12 @@ msgstr "Importar"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "Importar Certificado"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1803,6 +1887,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -1965,6 +2053,11 @@ msgstr "Personalizado"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "Comprobado por última vez el"
 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
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 #, fuzzy
 msgid "Last used at"
 msgid "Last used at"
@@ -2025,6 +2118,10 @@ msgstr "Cargar desde configuraciones"
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "Cargado con éxito"
 msgstr "Cargado con éxito"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
 msgid "Local"
@@ -2124,10 +2221,46 @@ msgstr "Administrar usuarios"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "Certificado Administrado"
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr "Intentos máximos"
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -2137,6 +2270,10 @@ msgstr "Memoria"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "Memoria y almacenamiento"
 msgstr "Memoria y almacenamiento"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr "Minutos"
 msgstr "Minutos"
@@ -2193,6 +2330,10 @@ msgstr "Directiva multilínea"
 msgid "Name"
 msgid "Name"
 msgstr "Nombre"
 msgstr "Nombre"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "Red"
 msgstr "Red"
@@ -2232,7 +2373,7 @@ msgstr "Se liberó una nueva versión"
 msgid "Next"
 msgid "Next"
 msgstr "Siguiente"
 msgstr "Siguiente"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -2293,14 +2434,28 @@ msgstr "Error de análisis de configuración de Nginx"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Control de Nginx"
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Ruta de registro de errores de Nginx"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr "Nginx no se está ejecutando"
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Registro Nginx"
 msgstr "Registro Nginx"
@@ -2309,6 +2464,11 @@ msgstr "Registro Nginx"
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Lista blanca de directorios de registro de Nginx"
 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
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 #, fuzzy
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
@@ -2344,6 +2504,10 @@ msgstr "Nginx reiniciado con éxito"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr "Comando de inicio de terminal"
 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
 #: src/constants/errors/system.ts:2
 #, fuzzy
 #, fuzzy
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
@@ -2362,8 +2526,8 @@ msgid ""
 msgstr "Error de análisis de configuración de Nginx"
 msgstr "Error de análisis de configuración de Nginx"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2386,6 +2550,10 @@ msgstr "No"
 msgid "No Action"
 msgid "No Action"
 msgstr "Acción"
 msgstr "Acción"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2464,6 +2632,13 @@ msgstr "Notificaciones"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "Archivo no Encontrado"
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgid "Obtain certificate"
 msgstr "Obtener certificado"
 msgstr "Obtener certificado"
@@ -2484,7 +2659,7 @@ msgstr ""
 "OCSP Must Staple puede causar errores para algunos usuarios en el primer "
 "OCSP Must Staple puede causar errores para algunos usuarios en el primer "
 "acceso usando Firefox."
 "acceso usando Firefox."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2519,7 +2694,7 @@ msgstr "OK"
 msgid "Once the verification is complete, the records will be removed."
 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."
 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:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2555,6 +2730,20 @@ msgstr "SO"
 msgid "OS:"
 msgid "OS:"
 msgstr "SO:"
 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
 #: src/constants/errors/user.ts:9
 #, fuzzy
 #, fuzzy
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
@@ -2632,6 +2821,10 @@ msgstr "Realizar"
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "Error al ejecutar la actualización del kernel"
 msgstr "Error al ejecutar la actualización del kernel"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "Realizando la actualizaciónd el kernel"
 msgstr "Realizando la actualizaciónd el kernel"
@@ -2640,6 +2833,12 @@ msgstr "Realizando la actualizaciónd el kernel"
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "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"
 msgid "Preparing lego configurations"
 msgstr "Preparar la configuración de LEGO"
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr "Prohibir cambiar la contraseña de root en la demostración"
 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"
 msgid "Public Security Number"
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2915,7 +3128,7 @@ msgstr "Nota de versión"
 msgid "Reload"
 msgid "Reload"
 msgstr "Recargar"
 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/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -2944,7 +3157,7 @@ msgstr "Error al renombrar la configuración remota"
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr "Renombrar Configuración Remota Exitosa"
 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"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3066,6 +3279,11 @@ msgstr "Renovado de Certificado exitoso"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "Renovado con éxito"
 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
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -3074,6 +3292,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr "Pedido con parámetros incorrectos"
 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
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr "Limpiar"
 msgstr "Limpiar"
@@ -3082,11 +3304,23 @@ msgstr "Limpiar"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "Restablecer 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr "Reiniciar"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
 #, fuzzy
@@ -3113,7 +3347,7 @@ msgstr "Error al renombrar la configuración remota"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "Renombrar Configuración Remota Exitosa"
 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"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3312,7 +3546,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr "Enviado"
 msgstr "Enviado"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 #, fuzzy
 msgid "Server"
 msgid "Server"
 msgstr "Información del servidor"
 msgstr "Información del servidor"
@@ -3606,7 +3840,7 @@ msgstr "Error de Configuración de Sincronización"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "Configuración de sincronización exitosa"
 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
 #: src/views/environments/group/EnvGroup.vue:18
 #, fuzzy
 #, fuzzy
 msgid "Sync Nodes"
 msgid "Sync Nodes"
@@ -3779,6 +4013,14 @@ msgstr "La URL no es válida."
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "El nombre de usuario o contraseña son incorrectos"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "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, "
 "El nombre del modelo solo debe contener letras, unicode, números, guiones, "
 "rayas y puntos."
 "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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3870,6 +4118,12 @@ msgstr "Acelerador"
 msgid "Tips"
 msgid "Tips"
 msgstr "Consejos"
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr "Título"
 msgstr "Título"
@@ -3919,6 +4173,11 @@ msgstr ""
 "Estos proporcionan un API endpoint compatible con OpenAI, por lo que solo "
 "Estos proporcionan un API endpoint compatible con OpenAI, por lo que solo "
 "debe configurar la baseUrl en su API local."
 "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
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "El token no es válido"
 msgstr "El token no es válido"
@@ -3929,6 +4188,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr "TOTP"
 msgstr "TOTP"
@@ -3956,6 +4242,10 @@ msgstr "Se requiere autenticación de dos factores"
 msgid "Type"
 msgid "Type"
 msgstr "Tipo"
 msgstr "Tipo"
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -4048,6 +4338,10 @@ msgstr "Nombre de usuario (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "Válido"
 msgstr "Válido"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -4085,6 +4379,11 @@ msgstr "Código de Recuperación"
 msgid "Viewed"
 msgid "Viewed"
 msgstr "Ver"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4165,6 +4464,16 @@ msgid ""
 "codes."
 "codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -4178,8 +4487,8 @@ msgstr "Escribir la clave privada del certificado a disco"
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "Escribir certificado a disco"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: 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"
 msgid "Action"
 msgstr "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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -115,7 +124,7 @@ msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 msgstr ""
 "Après, rechargez la page et cliquez de nouveau sur ajouter une clé d'accès."
 "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
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr "Tous"
 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?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Voulez-vous vraiment supprimer cette directive ?"
 msgstr "Voulez-vous vraiment supprimer cette directive ?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Etes-vous sûr que vous voulez supprimer ?"
 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?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Voulez-vous vraiment supprimer cette localisation ?"
 msgstr "Voulez-vous vraiment supprimer cette localisation ?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Voulez-vous vraiment effacer l'historique du chat ?"
 msgstr "Voulez-vous vraiment effacer l'historique du chat ?"
@@ -279,6 +288,10 @@ msgstr "Options d'authentification"
 msgid "Author"
 msgid "Author"
 msgstr "Autheur"
 msgstr "Autheur"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "Actualisation automatique"
 msgstr "Actualisation automatique"
@@ -398,10 +411,27 @@ msgstr "Build avec"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr ""
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: 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"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
 msgstr "Impossible de retirer l'utilisateur initial"
 msgstr "Impossible de retirer l'utilisateur initial"
@@ -661,6 +695,11 @@ msgstr "Le fichier de configuration est testé avec succès"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "Configurations"
 msgstr "Configurations"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Configurations"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "Nom de la configuration"
 msgstr "Nom de la configuration"
@@ -677,6 +716,10 @@ msgstr "Configurer SSL"
 msgid "Connected"
 msgid "Connected"
 msgstr "Connecté"
 msgstr "Connecté"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr "Connexion perdue, merci de recharger la page."
 msgstr "Connexion perdue, merci de recharger la page."
@@ -715,6 +758,14 @@ msgstr "Mise à jour du core"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "État du processeur"
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU :"
 msgstr "CPU :"
@@ -782,11 +833,20 @@ msgstr "Le compte actuel a le TOTP d'activé."
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr "Le compte actuel n'a pas le TOTP d'activé."
 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
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 #, fuzzy
 msgid "Current Content"
 msgid "Current Content"
 msgstr "Version actuelle"
 msgstr "Version actuelle"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Version actuelle"
+
 #: src/views/system/Upgrade.vue:165
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "Version actuelle"
 msgstr "Version actuelle"
@@ -1269,6 +1329,10 @@ msgstr "Dupliqué avec succès"
 msgid "Enable stream %{name} on %{node} successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Dupliqué avec succès"
 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
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Activer TLS"
 msgstr "Activer TLS"
@@ -1570,6 +1634,11 @@ msgstr "Échec de l'obtention des informations sur le certificat"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "Échec de l'obtention des informations sur le certificat"
 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
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 #, fuzzy
 msgid "Failed to load history records"
 msgid "Failed to load history records"
@@ -1746,6 +1815,11 @@ msgstr "Enregistré avec succès"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "Génération de clé privée pour l'enregistrement du compte"
 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/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
 msgid "Get release information error"
@@ -1767,6 +1841,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr "Cacher"
 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/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1859,6 +1937,12 @@ msgstr "Exporter"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "État du certificat"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1869,6 +1953,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -2037,6 +2125,11 @@ msgstr "Custom"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "Dernière vérification le"
 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
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 #, fuzzy
 msgid "Last used at"
 msgid "Last used at"
@@ -2102,6 +2195,10 @@ msgstr "Charger à partir des options"
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "Enregistré avec succès"
 msgstr "Enregistré avec succès"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
 #, fuzzy
@@ -2201,10 +2298,46 @@ msgstr "Gérer les utilisateurs"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "Changer de certificat"
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr "Tentatives maximum"
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -2214,6 +2347,10 @@ msgstr "Mémoire"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "Mémoire et stockage"
 msgstr "Mémoire et stockage"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
@@ -2273,6 +2410,10 @@ msgstr "Directive multiligne"
 msgid "Name"
 msgid "Name"
 msgstr "Nom"
 msgstr "Nom"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "Réseau"
 msgstr "Réseau"
@@ -2314,7 +2455,7 @@ msgstr "Nouvelle version publiée"
 msgid "Next"
 msgid "Next"
 msgstr "Suivant"
 msgstr "Suivant"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 #, fuzzy
 #, fuzzy
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Journal Nginx"
 msgstr "Journal Nginx"
@@ -2376,14 +2517,27 @@ msgstr "Erreur d'analyse de configuration Nginx"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Contrôle Nginx"
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Chemin du journal des erreurs Nginx"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr ""
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Journal Nginx"
 msgstr "Journal Nginx"
@@ -2393,6 +2547,11 @@ msgstr "Journal Nginx"
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Erreur d'analyse de configuration Nginx"
 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
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 #, fuzzy
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
@@ -2429,6 +2588,10 @@ msgstr "Nginx a redémarré avec succès"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr "Commande de démarrage du terminal"
 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
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
 msgstr ""
 msgstr ""
@@ -2446,8 +2609,8 @@ msgid ""
 msgstr "Erreur d'analyse de configuration Nginx"
 msgstr "Erreur d'analyse de configuration Nginx"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2470,6 +2633,10 @@ msgstr "Non"
 msgid "No Action"
 msgid "No Action"
 msgstr "Action"
 msgstr "Action"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2548,6 +2715,13 @@ msgstr "Certification"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "Fichier introuvable"
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgid "Obtain certificate"
 msgstr "Obtenir un certificat"
 msgstr "Obtenir un certificat"
@@ -2566,7 +2740,7 @@ msgid ""
 "Firefox."
 "Firefox."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2601,7 +2775,7 @@ msgstr "OK"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2637,6 +2811,20 @@ msgstr "OS"
 msgid "OS:"
 msgid "OS:"
 msgstr "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
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
 msgstr ""
 msgstr ""
@@ -2709,6 +2897,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "Erreur lors de la mise a niveau du core"
 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
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "Exécution de la mise à niveau du core"
 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"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "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"
 msgid "Preparing lego configurations"
 msgstr "Préparation des configurations de lego"
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr "Interdire la modification du mot de passe root dans la démo"
 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"
 msgid "Public Security Number"
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 #, fuzzy
 #, fuzzy
@@ -2989,7 +3201,7 @@ msgstr "Note de version"
 msgid "Reload"
 msgid "Reload"
 msgstr "Recharger"
 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/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -3018,7 +3230,7 @@ msgstr "Changer de certificat"
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr "Changer de certificat"
 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"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3151,6 +3363,11 @@ msgstr "Changer de certificat"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "Activé avec succès"
 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
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -3159,6 +3376,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr "Réinitialiser"
 msgstr "Réinitialiser"
@@ -3168,11 +3389,23 @@ msgstr "Réinitialiser"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "Réinitialiser"
 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr "Redémarrer"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
 #, fuzzy
@@ -3199,7 +3432,7 @@ msgstr "Changer de certificat"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "Changer de certificat"
 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"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3396,7 +3629,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr "Envoyer"
 msgstr "Envoyer"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 #, fuzzy
 msgid "Server"
 msgid "Server"
 msgstr "Informations sur le serveur"
 msgstr "Informations sur le serveur"
@@ -3704,7 +3937,7 @@ msgstr "Changer de certificat"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "Changer de certificat"
 msgstr "Changer de certificat"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgid "Sync Nodes"
 msgstr ""
 msgstr ""
@@ -3867,6 +4100,14 @@ msgstr ""
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "Le pseudo ou mot de passe est incorect"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "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 -_."
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3955,6 +4202,12 @@ msgstr ""
 msgid "Tips"
 msgid "Tips"
 msgstr ""
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr ""
 msgstr ""
@@ -3995,6 +4248,11 @@ msgid ""
 "local API."
 "local API."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Échec de l'activation"
+
 #: src/views/preference/OpenAISettings.vue:61
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
@@ -4005,6 +4263,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr ""
 msgstr ""
@@ -4030,6 +4315,10 @@ msgstr ""
 msgid "Type"
 msgid "Type"
 msgstr "Type"
 msgstr "Type"
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -4124,6 +4413,10 @@ msgstr "Nom d'utilisateur (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -4163,6 +4456,11 @@ msgstr ""
 msgid "Viewed"
 msgid "Viewed"
 msgstr "Voir"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4230,6 +4528,16 @@ msgid ""
 "codes."
 "codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -4243,8 +4551,8 @@ msgstr "Écriture de la clé privée du certificat sur le disque"
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "Écriture du certificat sur le disque"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: 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"
 msgid "Action"
 msgstr "작업"
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -109,7 +118,7 @@ msgstr "고급 모드"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr ""
 msgstr ""
@@ -203,7 +212,7 @@ msgstr "정말 삭제하시겠습니까?"
 msgid "Are you sure you want to recover this item?"
 msgid "Are you sure you want to recover this item?"
 msgstr "정말로 이 항목을 복구하시겠습니까?"
 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?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "다음 동기화 노드에서 Nginx를 다시 로드하시겠습니까?"
 msgstr "다음 동기화 노드에서 Nginx를 다시 로드하시겠습니까?"
 
 
@@ -219,7 +228,7 @@ msgstr "이 항목을 제거하시겠습니까?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "이 위치를 제거하시겠습니까?"
 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?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "다음 동기화 노드에서 Nginx를 다시 시작하시겠습니까?"
 msgstr "다음 동기화 노드에서 Nginx를 다시 시작하시겠습니까?"
 
 
@@ -256,6 +265,10 @@ msgstr "인증 설정"
 msgid "Author"
 msgid "Author"
 msgstr "저자"
 msgstr "저자"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "자동 새로고침"
 msgstr "자동 새로고침"
@@ -372,10 +385,27 @@ msgstr "빌드 환경"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr "CA 디렉토리"
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr "CA 디렉토리"
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -400,6 +430,10 @@ msgstr "데모에서 루트 비밀번호 변경 금지"
 msgid "Cannot compare: Missing content"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
 msgstr ""
 msgstr ""
@@ -625,6 +659,11 @@ msgstr "구성 파일 테스트 성공"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "구성들"
 msgstr "구성들"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "구성들"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "구성 이름"
 msgstr "구성 이름"
@@ -641,6 +680,10 @@ msgstr "SSL 구성하기"
 msgid "Connected"
 msgid "Connected"
 msgstr "연결됨"
 msgstr "연결됨"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr "연결이 끊어졌습니다. 페이지를 새로 고침하세요."
 msgstr "연결이 끊어졌습니다. 페이지를 새로 고침하세요."
@@ -678,6 +721,14 @@ msgstr "코어 업그레이드"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "CPU 상태"
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
@@ -744,11 +795,20 @@ msgstr ""
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 #, fuzzy
 msgid "Current Content"
 msgid "Current Content"
 msgstr "현재 버전"
 msgstr "현재 버전"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "현재 버전"
+
 #: src/views/system/Upgrade.vue:165
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "현재 버전"
 msgstr "현재 버전"
@@ -1212,6 +1272,10 @@ msgstr "%{node_name}에서 %{conf_name} 활성화 실패"
 msgid "Enable stream %{name} on %{node} successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨"
 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
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "TLS 활성화"
 msgstr "TLS 활성화"
@@ -1511,6 +1575,11 @@ msgstr "인증서 정보 가져오기 실패"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "인증서 정보 가져오기 실패"
 msgstr "인증서 정보 가져오기 실패"
 
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "인증서 정보 가져오기 실패"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 #, fuzzy
 msgid "Failed to load history records"
 msgid "Failed to load history records"
@@ -1677,6 +1746,11 @@ msgstr "성공적으로 제거됨"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "계정 등록을 위한 개인 키 생성 중"
 msgstr "계정 등록을 위한 개인 키 생성 중"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "사용자 등록 중"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 #, fuzzy
 #, fuzzy
@@ -1699,6 +1773,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1778,6 +1856,12 @@ msgstr "가져오기"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "인증서 상태"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1788,6 +1872,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -1954,6 +2042,11 @@ msgstr "사용자 정의"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "마지막 확인 시간"
 msgstr "마지막 확인 시간"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "마지막 확인 시간"
+
 #: src/views/preference/components/Passkey.vue:96
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 #, fuzzy
 msgid "Last used at"
 msgid "Last used at"
@@ -2019,6 +2112,10 @@ msgstr ""
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "성공적으로 저장됨"
 msgstr "성공적으로 저장됨"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
 #, fuzzy
@@ -2120,10 +2217,46 @@ msgstr "사용자 관리"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "인증서 유효"
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr ""
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -2133,6 +2266,10 @@ msgstr "메모리"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "메모리 및 저장소"
 msgstr "메모리 및 저장소"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr "분"
 msgstr "분"
@@ -2194,6 +2331,10 @@ msgstr "단일 지시문"
 msgid "Name"
 msgid "Name"
 msgstr "이름"
 msgstr "이름"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "네트워크"
 msgstr "네트워크"
@@ -2235,7 +2376,7 @@ msgstr "새 버전 출시"
 msgid "Next"
 msgid "Next"
 msgstr "다음"
 msgstr "다음"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -2297,14 +2438,27 @@ msgstr "Nginx 구성 오류름"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Nginx 제어"
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Nginx 오류 로그 경로"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr ""
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Nginx 로그"
 msgstr "Nginx 로그"
@@ -2313,6 +2467,11 @@ msgstr "Nginx 로그"
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr ""
 msgstr ""
 
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 #, fuzzy
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
@@ -2350,6 +2509,10 @@ msgstr "Nginx가 성공적으로 재시작됨"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr "터미널 시작 명령"
 msgstr "터미널 시작 명령"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
 msgstr ""
 msgstr ""
@@ -2367,8 +2530,8 @@ msgid ""
 msgstr "Nginx 구성 오류름"
 msgstr "Nginx 구성 오류름"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2391,6 +2554,10 @@ msgstr "아니요"
 msgid "No Action"
 msgid "No Action"
 msgstr "작업"
 msgstr "작업"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2468,6 +2635,13 @@ msgstr "알림"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "파일을 찾을 수 없음"
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 #, fuzzy
 msgid "Obtain certificate"
 msgid "Obtain certificate"
@@ -2487,7 +2661,7 @@ msgid ""
 "Firefox."
 "Firefox."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2522,7 +2696,7 @@ msgstr "확인"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "검증이 완료되면, 레코드는 제거됩니다."
 msgstr "검증이 완료되면, 레코드는 제거됩니다."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2559,6 +2733,20 @@ msgstr "OS"
 msgid "OS:"
 msgid "OS:"
 msgstr "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
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
 msgstr ""
 msgstr ""
@@ -2631,6 +2819,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "핵심 업그레이드 오류 수행"
 msgstr "핵심 업그레이드 오류 수행"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "핵심 업그레이드 수행 중"
 msgstr "핵심 업그레이드 수행 중"
@@ -2639,6 +2831,12 @@ msgstr "핵심 업그레이드 수행 중"
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2784,6 +2982,15 @@ msgstr "환경설정"
 msgid "Preparing lego configurations"
 msgid "Preparing lego configurations"
 msgstr "lego 구성 준비 중"
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr "데모에서 루트 비밀번호 변경 금지"
 msgstr "데모에서 루트 비밀번호 변경 금지"
@@ -2809,6 +3016,11 @@ msgstr "API 프록시"
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2909,7 +3121,7 @@ msgstr "릴리스 노트"
 msgid "Reload"
 msgid "Reload"
 msgstr "리로드"
 msgstr "리로드"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -2938,7 +3150,7 @@ msgstr "인증서 갱신 오류"
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr "인증서 갱신 성공"
 msgstr "인증서 갱신 성공"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3071,6 +3283,11 @@ msgstr "인증서 갱신 성공"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "성공적으로 갱신됨"
 msgstr "성공적으로 갱신됨"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "네트워크 통계"
+
 #: src/constants/errors/crypto.ts:4
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -3079,6 +3296,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr "잘못된 매개변수로 요청됨"
 msgstr "잘못된 매개변수로 요청됨"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr "재설정"
 msgstr "재설정"
@@ -3088,11 +3309,23 @@ msgstr "재설정"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "재설정"
 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr "재시작"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
 #, fuzzy
@@ -3119,7 +3352,7 @@ msgstr "인증서 갱신 오류"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "인증서 갱신 성공"
 msgstr "인증서 갱신 성공"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3317,7 +3550,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr "보내기"
 msgstr "보내기"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 #, fuzzy
 msgid "Server"
 msgid "Server"
 msgstr "서버 정보"
 msgstr "서버 정보"
@@ -3621,7 +3854,7 @@ msgstr "인증서 갱신 오류"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "인증서 갱신 성공"
 msgstr "인증서 갱신 성공"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgid "Sync Nodes"
 msgstr ""
 msgstr ""
@@ -3782,6 +4015,14 @@ msgstr "유효한 URL이 아닙니다"
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "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 -_."
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3868,6 +4115,12 @@ msgstr ""
 msgid "Tips"
 msgid "Tips"
 msgstr "팁"
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr "제목"
 msgstr "제목"
@@ -3907,6 +4160,11 @@ msgid ""
 "local API."
 "local API."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "활성화 실패"
+
 #: src/views/preference/OpenAISettings.vue:61
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "토큰이 유효하지 않습니다"
 msgstr "토큰이 유효하지 않습니다"
@@ -3917,6 +4175,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr ""
 msgstr ""
@@ -3942,6 +4227,10 @@ msgstr ""
 msgid "Type"
 msgid "Type"
 msgstr "유형"
 msgstr "유형"
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -4038,6 +4327,10 @@ msgstr "사용자 이름 (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "유효함"
 msgstr "유효함"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -4078,6 +4371,11 @@ msgstr ""
 msgid "Viewed"
 msgid "Viewed"
 msgstr "보기"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4147,6 +4445,16 @@ msgid ""
 "codes."
 "codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -4160,8 +4468,8 @@ msgstr "인증서 개인 키를 디스크에 쓰기"
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "인증서를 디스크에 쓰기"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

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

@@ -45,6 +45,15 @@ msgstr ""
 msgid "Action"
 msgid "Action"
 msgstr ""
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -101,7 +110,7 @@ msgstr ""
 msgid "Afterwards, refresh this page and click add passkey again."
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr ""
 msgstr ""
@@ -193,7 +202,7 @@ msgstr ""
 msgid "Are you sure you want to recover this item?"
 msgid "Are you sure you want to recover this item?"
 msgstr ""
 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?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr ""
 msgstr ""
 
 
@@ -209,7 +218,7 @@ msgstr ""
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr ""
 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?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr ""
 msgstr ""
 
 
@@ -246,6 +255,10 @@ msgstr ""
 msgid "Author"
 msgid "Author"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr ""
 msgstr ""
@@ -360,10 +373,25 @@ msgstr ""
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr ""
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -387,6 +415,10 @@ msgstr ""
 msgid "Cannot compare: Missing content"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
 msgstr ""
 msgstr ""
@@ -591,6 +623,10 @@ msgstr ""
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+msgid "Configuration information"
+msgstr ""
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr ""
 msgstr ""
@@ -607,6 +643,10 @@ msgstr ""
 msgid "Connected"
 msgid "Connected"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr ""
 msgstr ""
@@ -644,6 +684,14 @@ msgstr ""
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr ""
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr ""
 msgstr ""
@@ -705,10 +753,18 @@ msgstr ""
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #: src/components/ConfigHistory/DiffViewer.vue:62
 msgid "Current Content"
 msgid "Current Content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+msgid "Current usage"
+msgstr ""
+
 #: src/views/system/Upgrade.vue:165
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr ""
 msgstr ""
@@ -1137,6 +1193,10 @@ msgstr ""
 msgid "Enable stream %{name} on %{node} successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr ""
 msgstr ""
@@ -1407,6 +1467,10 @@ msgstr ""
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr ""
 msgstr ""
 
 
+#: src/composables/useNginxPerformance.ts:50
+msgid "Failed to get performance data"
+msgstr ""
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 msgid "Failed to load history records"
 msgid "Failed to load history records"
 msgstr ""
 msgstr ""
@@ -1559,6 +1623,10 @@ msgstr ""
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+msgid "Get data failed"
+msgstr ""
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
 msgid "Get release information error"
@@ -1580,6 +1648,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1647,6 +1719,10 @@ msgstr ""
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr ""
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1657,6 +1733,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24
 #: src/constants/index.ts:24
 #: src/views/notification/notificationColumns.tsx:29
 #: src/views/notification/notificationColumns.tsx:29
@@ -1810,6 +1890,10 @@ msgstr ""
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+msgid "Last update"
+msgstr ""
+
 #: src/views/preference/components/Passkey.vue:96
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgid "Last used at"
 msgstr ""
 msgstr ""
@@ -1868,6 +1952,10 @@ msgstr ""
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
 msgid "Local"
@@ -1955,10 +2043,45 @@ msgstr ""
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr ""
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr ""
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -1968,6 +2091,10 @@ msgstr ""
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
@@ -2026,6 +2153,10 @@ msgstr ""
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr ""
 msgstr ""
@@ -2064,6 +2195,7 @@ msgstr ""
 msgid "Next"
 msgid "Next"
 msgstr ""
 msgstr ""
 
 
+#: src/routes/modules/dashboard.ts:27
 #: src/views/preference/Preference.vue:205
 #: src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr ""
 msgstr ""
@@ -2121,14 +2253,27 @@ msgstr ""
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr ""
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr ""
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:114
+msgid "Nginx is running"
+msgstr ""
+
 #: src/routes/modules/nginx_log.ts:9
 #: src/routes/modules/nginx_log.ts:9
 #: src/views/nginx_log/NginxLog.vue:143
 #: src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
@@ -2138,6 +2283,11 @@ msgstr ""
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr ""
 msgstr ""
 
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
 msgstr ""
 msgstr ""
@@ -2170,6 +2320,10 @@ msgstr ""
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
 msgstr ""
 msgstr ""
@@ -2183,8 +2337,8 @@ msgid "Nginx UI configuration has been restored and will restart automatically i
 msgstr ""
 msgstr ""
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2206,6 +2360,10 @@ msgstr ""
 msgid "No Action"
 msgid "No Action"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2273,6 +2431,13 @@ msgstr ""
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr ""
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgid "Obtain certificate"
 msgstr ""
 msgstr ""
@@ -2289,7 +2454,7 @@ msgstr ""
 msgid "OCSP Must Staple may cause errors for some users on first access using Firefox."
 msgid "OCSP Must Staple may cause errors for some users on first access using Firefox."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2324,7 +2489,7 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2361,6 +2526,20 @@ msgstr ""
 msgid "OS:"
 msgid "OS:"
 msgstr ""
 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
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
 msgstr ""
 msgstr ""
@@ -2430,6 +2609,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr ""
 msgstr ""
@@ -2438,6 +2621,10 @@ msgstr ""
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: 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."
 msgid "Please enter a name for the passkey you wish to create and click the OK button below."
 msgstr ""
 msgstr ""
@@ -2563,6 +2750,14 @@ msgstr ""
 msgid "Preparing lego configurations"
 msgid "Preparing lego configurations"
 msgstr ""
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr ""
 msgstr ""
@@ -2587,6 +2782,11 @@ msgstr ""
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2675,7 +2875,7 @@ msgstr ""
 msgid "Reload"
 msgid "Reload"
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -2699,7 +2899,7 @@ msgstr ""
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -2813,6 +3013,10 @@ msgstr ""
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+msgid "Request statistics"
+msgstr ""
+
 #: src/constants/errors/crypto.ts:4
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -2821,6 +3025,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr ""
 msgstr ""
@@ -2829,11 +3037,20 @@ msgstr ""
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr ""
 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr ""
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 msgid "Restart Nginx"
 msgid "Restart Nginx"
@@ -2855,7 +3072,7 @@ msgstr ""
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3036,6 +3253,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr ""
 msgstr ""
 
 
+#: src/routes/modules/dashboard.ts:19
 #: src/views/preference/Preference.vue:157
 #: src/views/preference/Preference.vue:157
 msgid "Server"
 msgid "Server"
 msgstr ""
 msgstr ""
@@ -3306,7 +3524,7 @@ msgstr ""
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgid "Sync Nodes"
 msgstr ""
 msgstr ""
@@ -3436,6 +3654,14 @@ msgstr ""
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr ""
 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
 #: 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."
 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 ""
 msgstr ""
@@ -3471,6 +3697,10 @@ msgstr ""
 msgid "This field should only contain letters, unicode characters, numbers, and -_."
 msgid "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 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
 #: 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."
 msgid "This operation will only remove the certificate from the database. The certificate files on the file system will not be deleted."
 msgstr ""
 msgstr ""
@@ -3507,6 +3737,10 @@ msgstr ""
 msgid "Tips"
 msgid "Tips"
 msgstr ""
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr ""
 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."
 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 ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+msgid "Toggle failed"
+msgstr ""
+
 #: src/views/preference/OpenAISettings.vue:61
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
@@ -3541,6 +3779,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr ""
 msgstr ""
@@ -3564,6 +3829,10 @@ msgstr ""
 msgid "Type"
 msgid "Type"
 msgstr ""
 msgstr ""
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -3658,6 +3927,10 @@ msgstr ""
 msgid "Valid"
 msgid "Valid"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -3693,6 +3966,11 @@ msgstr ""
 msgid "Viewed"
 msgid "Viewed"
 msgstr ""
 msgstr ""
 
 
+#: src/composables/usePerformanceMetrics.ts:116
+#: src/views/dashboard/components/PerformanceTablesCard.vue:74
+msgid "Waiting processes"
+msgstr ""
+
 #: src/constants/index.ts:23
 #: src/constants/index.ts:23
 #: src/views/config/InspectConfig.vue:33
 #: src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: 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."
 msgid "When you generate new recovery codes, you must download or print the new codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -3756,8 +4044,8 @@ msgstr ""
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr ""
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: 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"
 msgid "Action"
 msgstr "Действие"
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -111,7 +120,7 @@ msgstr "Расширенный режим"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr "Затем, обновите эту страницу и снова нажмите «Добавить ключ доступа»."
 msgstr "Затем, обновите эту страницу и снова нажмите «Добавить ключ доступа»."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr "Все"
 msgstr "Все"
@@ -205,7 +214,7 @@ msgstr "Вы уверены, что хотите удалить?"
 msgid "Are you sure you want to recover this item?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Вы уверены, что хотите восстановить этот элемент?"
 msgstr "Вы уверены, что хотите восстановить этот элемент?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Вы уверены, что хотите удалить?"
 msgstr "Вы уверены, что хотите удалить?"
@@ -222,7 +231,7 @@ msgstr "Вы уверены, что хотите удалить этот эле
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Вы уверены, что хотите удалить location?"
 msgstr "Вы уверены, что хотите удалить location?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Вы уверены, что хотите очистить все уведомления?"
 msgstr "Вы уверены, что хотите очистить все уведомления?"
@@ -260,6 +269,10 @@ msgstr "Настройки аутентификации"
 msgid "Author"
 msgid "Author"
 msgstr "Автор"
 msgstr "Автор"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "Автообновление"
 msgstr "Автообновление"
@@ -376,10 +389,27 @@ msgstr "Собрать с"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr "Директория корневого сертификата"
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -403,6 +433,10 @@ msgstr "Невозможно изменить пароль начального
 msgid "Cannot compare: Missing content"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
 msgstr "Невозможно удалить начального пользователя"
 msgstr "Невозможно удалить начального пользователя"
@@ -623,6 +657,11 @@ msgstr "Проверка конфигурации успешна"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "Конфигурации"
 msgstr "Конфигурации"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "Конфигурации"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "Название конфигурации"
 msgstr "Название конфигурации"
@@ -639,6 +678,10 @@ msgstr "Настроить SSL"
 msgid "Connected"
 msgid "Connected"
 msgstr "Подключено"
 msgstr "Подключено"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr "Соединение потеряно, пожалуйста, обновите страницу."
 msgstr "Соединение потеряно, пожалуйста, обновите страницу."
@@ -677,6 +720,14 @@ msgstr "Обновление ядра"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "Нагрузка CPU"
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
@@ -740,11 +791,20 @@ msgstr "Текущая учетная запись имеет включенну
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr "Для текущей учетной записи TOTP не включен."
 msgstr "Для текущей учетной записи TOTP не включен."
 
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 #, fuzzy
 msgid "Current Content"
 msgid "Current Content"
 msgstr "Текущяя версия"
 msgstr "Текущяя версия"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "Текущяя версия"
+
 #: src/views/system/Upgrade.vue:165
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "Текущяя версия"
 msgstr "Текущяя версия"
@@ -1206,6 +1266,10 @@ msgstr "Включение %{conf_name} in %{node_name} нипалучилася
 msgid "Enable stream %{name} on %{node} successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Поток %{name} успешно включён на %{node}"
 msgstr "Поток %{name} успешно включён на %{node}"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Включить TLS"
 msgstr "Включить TLS"
@@ -1501,6 +1565,11 @@ msgstr "Не удалось получить информацию о серти
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "Не удалось получить информацию о сертификате"
 msgstr "Не удалось получить информацию о сертификате"
 
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "Не удалось получить информацию о сертификате"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 #, fuzzy
 msgid "Failed to load history records"
 msgid "Failed to load history records"
@@ -1668,6 +1737,11 @@ msgstr "Коды восстановления успешно сгенериро
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "Генерация приватного ключа для регистрации учетной записи"
 msgstr "Генерация приватного ключа для регистрации учетной записи"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "Регистрация не удалась"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
 msgid "Get release information error"
@@ -1689,6 +1763,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr "Скрыть"
 msgstr "Скрыть"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1776,6 +1854,12 @@ msgstr "Импорт"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "Импортировать сертификат"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1786,6 +1870,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -1946,6 +2034,11 @@ msgstr "Пользовательский"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "Последняя проверка в"
 msgstr "Последняя проверка в"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "Последняя проверка в"
+
 #: src/views/preference/components/Passkey.vue:96
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 #, fuzzy
 msgid "Last used at"
 msgid "Last used at"
@@ -2006,6 +2099,10 @@ msgstr "Загрузить из настроек"
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "Загружено успешно"
 msgstr "Загружено успешно"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
 msgid "Local"
@@ -2104,10 +2201,46 @@ msgstr "Пользователи"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "Управление сертификатом"
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr "Максимальное количество попыток"
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -2117,6 +2250,10 @@ msgstr "Память"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "Память и хранилище"
 msgstr "Память и хранилище"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr "Минуты"
 msgstr "Минуты"
@@ -2173,6 +2310,10 @@ msgstr "Многострочная директива"
 msgid "Name"
 msgid "Name"
 msgstr "Имя"
 msgstr "Имя"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "Сеть"
 msgstr "Сеть"
@@ -2212,7 +2353,7 @@ msgstr "Вышла новая версия"
 msgid "Next"
 msgid "Next"
 msgstr "Дальше"
 msgstr "Дальше"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -2273,14 +2414,28 @@ msgstr "Ошибка разбора конфигурации Nginx"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Управление Nginx"
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Путь для Nginx Error Log"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr "Nginx не работает"
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Журнал"
 msgstr "Журнал"
@@ -2289,6 +2444,11 @@ msgstr "Журнал"
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Белый список директорий для логов Nginx"
 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
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 #, fuzzy
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
@@ -2324,6 +2484,10 @@ msgstr "Nginx успешно перезапущен"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr "Терминальная команда запуска"
 msgstr "Терминальная команда запуска"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
 msgstr ""
 msgstr ""
@@ -2341,8 +2505,8 @@ msgid ""
 msgstr "Ошибка разбора конфигурации Nginx"
 msgstr "Ошибка разбора конфигурации Nginx"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2365,6 +2529,10 @@ msgstr "Нет"
 msgid "No Action"
 msgid "No Action"
 msgstr "Действие"
 msgstr "Действие"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2441,6 +2609,13 @@ msgstr "Уведомления"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "Файл не найден"
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgid "Obtain certificate"
 msgstr "Получить сертификат"
 msgstr "Получить сертификат"
@@ -2461,7 +2636,7 @@ msgstr ""
 "OCSP Must Staple может вызвать ошибки у некоторых пользователей при первом "
 "OCSP Must Staple может вызвать ошибки у некоторых пользователей при первом "
 "доступе через Firefox."
 "доступе через Firefox."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2496,7 +2671,7 @@ msgstr "ОК"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "После завершения проверки записи будут удалены."
 msgstr "После завершения проверки записи будут удалены."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2532,6 +2707,20 @@ msgstr "ОС"
 msgid "OS:"
 msgid "OS:"
 msgstr "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
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
 msgstr "Код OTP или восстановления пуст"
 msgstr "Код OTP или восстановления пуст"
@@ -2604,6 +2793,10 @@ msgstr "Выполнить"
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "Ошибка обновления ядра"
 msgstr "Ошибка обновления ядра"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "Выполнение обновления ядра"
 msgstr "Выполнение обновления ядра"
@@ -2612,6 +2805,12 @@ msgstr "Выполнение обновления ядра"
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2763,6 +2962,15 @@ msgstr "Настройки"
 msgid "Preparing lego configurations"
 msgid "Preparing lego configurations"
 msgstr "Подготовка конфигураций Lego"
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr "Запретить изменение пароля root в демо"
 msgstr "Запретить изменение пароля root в демо"
@@ -2787,6 +2995,11 @@ msgstr ""
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2884,7 +3097,7 @@ msgstr "Что нового"
 msgid "Reload"
 msgid "Reload"
 msgstr "Перегрузить"
 msgstr "Перегрузить"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -2913,7 +3126,7 @@ msgstr "Ошибка переименования удаленной конфи
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr "Переименование удаленной конфигурации прошло успешно"
 msgstr "Переименование удаленной конфигурации прошло успешно"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3033,6 +3246,11 @@ msgstr "Успешное обновление сертификата"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "Успешно обновлено"
 msgstr "Успешно обновлено"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "Статистика сети"
+
 #: src/constants/errors/crypto.ts:4
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -3041,6 +3259,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr "Запрос с неправильными параметрами"
 msgstr "Запрос с неправильными параметрами"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr "Сброс"
 msgstr "Сброс"
@@ -3049,11 +3271,23 @@ msgstr "Сброс"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "Сброс 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr "Перезапуск"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
 #, fuzzy
@@ -3080,7 +3314,7 @@ msgstr "Ошибка переименования удаленной конфи
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "Переименование удаленной конфигурации прошло успешно"
 msgstr "Переименование удаленной конфигурации прошло успешно"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3277,7 +3511,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr "Отправлено"
 msgstr "Отправлено"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 #, fuzzy
 msgid "Server"
 msgid "Server"
 msgstr "Информация о сервере"
 msgstr "Информация о сервере"
@@ -3570,7 +3804,7 @@ msgstr "Ошибка синхронизации конфигурации"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "Синхронизация конфигурации успешна"
 msgstr "Синхронизация конфигурации успешна"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #: src/views/environments/group/EnvGroup.vue:18
 #, fuzzy
 #, fuzzy
 msgid "Sync Nodes"
 msgid "Sync Nodes"
@@ -3742,6 +3976,14 @@ msgstr "URL недействителен."
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "Имя пользователя или пароль неверны"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3833,6 +4081,12 @@ msgstr ""
 msgid "Tips"
 msgid "Tips"
 msgstr "Советы"
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr "Заголовок"
 msgstr "Заголовок"
@@ -3875,6 +4129,11 @@ msgid ""
 "local API."
 "local API."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "Не удалось включить"
+
 #: src/views/preference/OpenAISettings.vue:61
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "Токен недействителен"
 msgstr "Токен недействителен"
@@ -3885,6 +4144,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr ""
 msgstr ""
@@ -3912,6 +4198,10 @@ msgstr "Требуется двухфакторная аутентификаци
 msgid "Type"
 msgid "Type"
 msgstr "Тип"
 msgstr "Тип"
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -4004,6 +4294,10 @@ msgstr "Имя пользователя (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "Действительный"
 msgstr "Действительный"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -4042,6 +4336,11 @@ msgstr "Код восстановления"
 msgid "Viewed"
 msgid "Viewed"
 msgstr "Просмотр"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4111,6 +4410,16 @@ msgid ""
 "codes."
 "codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -4124,8 +4433,8 @@ msgstr "Запись закрытого ключа сертификата на 
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "Запись сертификата на диск"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: 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"
 msgid "Action"
 msgstr "Eylem"
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -109,7 +118,7 @@ msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 msgstr ""
 "Daha sonra, bu sayfayı yenileyin ve tekrar geçiş anahtarı ekle'ye tıklayın."
 "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
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr "Hepsi"
 msgstr "Hepsi"
@@ -201,7 +210,7 @@ msgstr "Silmek istediğine emin misin?"
 msgid "Are you sure you want to recover this item?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Bu öğeyi kurtarmak istediğinizden emin misiniz?"
 msgstr "Bu öğeyi kurtarmak istediğinizden emin misiniz?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:149
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "Silmek istediğine emin misin?"
 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?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Bu konumu kaldırmak istediğinizden emin misiniz?"
 msgstr "Bu konumu kaldırmak istediğinizden emin misiniz?"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "Tüm bildirimleri temizlemek istediğinizden emin misiniz?"
 msgstr "Tüm bildirimleri temizlemek istediğinizden emin misiniz?"
@@ -257,6 +266,10 @@ msgstr "Kimlik Doğrulama Ayarları"
 msgid "Author"
 msgid "Author"
 msgstr "Yazar"
 msgstr "Yazar"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "Otomatik Yenileme"
 msgstr "Otomatik Yenileme"
@@ -373,10 +386,27 @@ msgstr "İle Oluşturuldu"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr "CA Dizini"
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr "CADizini"
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: 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"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 #, fuzzy
 #, fuzzy
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
@@ -624,6 +658,11 @@ msgstr "Yapılandırma dosyası başarıyla test edildi"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "Yapılandırmalar"
 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
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "Yapılandırma Adı"
 msgstr "Yapılandırma Adı"
@@ -640,6 +679,10 @@ msgstr "SSL'yi Yapılandırma"
 msgid "Connected"
 msgid "Connected"
 msgstr "Bağlandı"
 msgstr "Bağlandı"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr "Bağlantı kesildi, lütfen sayfayı yenileyin."
 msgstr "Bağlantı kesildi, lütfen sayfayı yenileyin."
@@ -679,6 +722,14 @@ msgstr "Çekirdek Yükseltme"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "CPU Durumu"
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
@@ -742,11 +793,20 @@ msgstr "Mevcut hesap için TOTP etkinleştirildi."
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr "Mevcut hesap için TOTP etkin değil."
 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
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 #, fuzzy
 msgid "Current Content"
 msgid "Current Content"
 msgstr "Mevcut sürüm"
 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
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "Mevcut sürüm"
 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ı "
 "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı "
 "oldu"
 "oldu"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "TLS'yi Etkinleştir"
 msgstr "TLS'yi Etkinleştir"
@@ -1534,6 +1598,11 @@ msgstr "Sertifika bilgileri alınamadı"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "Sertifika bilgileri alınamadı"
 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
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 #, fuzzy
 msgid "Failed to load history records"
 msgid "Failed to load history records"
@@ -1701,6 +1770,11 @@ msgstr "Başarıyla Kurtarıldı"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "Hesap kaydı için özel anahtar oluşturuluyor"
 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/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
 msgid "Get release information error"
@@ -1722,6 +1796,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr "Gizle"
 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/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1810,6 +1888,12 @@ msgstr "İçe Aktar"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "Sertifika İçe Aktar"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1820,6 +1904,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -1982,6 +2070,11 @@ msgstr "Özelleştirilmiş"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "En son şu tarihte kontrol edildi"
 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
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgid "Last used at"
 msgstr "En son kullanıldığı zaman"
 msgstr "En son kullanıldığı zaman"
@@ -2041,6 +2134,10 @@ msgstr "Ayarlar'dan yükle"
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "Başarıyla yüklendi"
 msgstr "Başarıyla yüklendi"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
 msgid "Local"
@@ -2145,11 +2242,47 @@ msgstr "Kullanıcıları Yönet"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "Yönetilen Sertifika"
 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
 #: src/views/preference/AuthSettings.vue:135
 #, fuzzy
 #, fuzzy
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr "Maksimum Deneme"
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 #, fuzzy
 #, fuzzy
@@ -2161,6 +2294,10 @@ msgstr "Hafıza"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "Bellek ve Depolama"
 msgstr "Bellek ve Depolama"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 #, fuzzy
 #, fuzzy
 msgid "Minutes"
 msgid "Minutes"
@@ -2225,6 +2362,10 @@ msgstr "Çok Hatlı Direktif"
 msgid "Name"
 msgid "Name"
 msgstr "İsim"
 msgstr "İsim"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 #, fuzzy
 #, fuzzy
 msgid "Network"
 msgid "Network"
@@ -2272,7 +2413,7 @@ msgstr "Yeni sürüm yayınlandı"
 msgid "Next"
 msgid "Next"
 msgstr "Sonraki"
 msgstr "Sonraki"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 #, fuzzy
 #, fuzzy
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
@@ -2337,16 +2478,30 @@ msgstr "Nginx Yapılandırma Ayrıştırma Hatası"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Nginx Kontrolü"
 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
 #: src/views/preference/NginxSettings.vue:12
 #, fuzzy
 #, fuzzy
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Nginx Hata Günlüğü Yolu"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 #, fuzzy
 #, fuzzy
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr "Nginx çalışmıyor"
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 #, fuzzy
 #, fuzzy
 msgid "Nginx Log"
 msgid "Nginx Log"
@@ -2356,6 +2511,11 @@ msgstr "Nginx Günlüğü"
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr ""
 msgstr ""
 
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 #, fuzzy
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
@@ -2393,6 +2553,10 @@ msgstr "Nginx başarıyla yeniden başlatıldı"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr "Terminal Başlatma Komutu"
 msgstr "Terminal Başlatma Komutu"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
 msgstr ""
 msgstr ""
@@ -2410,8 +2574,8 @@ msgid ""
 msgstr "Nginx Yapılandırma Ayrıştırma Hatası"
 msgstr "Nginx Yapılandırma Ayrıştırma Hatası"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2435,6 +2599,10 @@ msgstr "Hayır"
 msgid "No Action"
 msgid "No Action"
 msgstr "Eylem"
 msgstr "Eylem"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2517,6 +2685,13 @@ msgstr "Bildirimler"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "Dosya bulunamadı"
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 #, fuzzy
 msgid "Obtain certificate"
 msgid "Obtain certificate"
@@ -2541,7 +2716,7 @@ msgstr ""
 "OCSP Must Staple, Firefox kullanarak ilk erişimde bazı kullanıcılar için "
 "OCSP Must Staple, Firefox kullanarak ilk erişimde bazı kullanıcılar için "
 "hatalara neden olabilir."
 "hatalara neden olabilir."
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2580,7 +2755,7 @@ msgstr "Tamam"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "Doğrulama tamamlandıktan sonra kayıtlar kaldırılacaktır."
 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:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2622,6 +2797,20 @@ msgstr "OS"
 msgid "OS:"
 msgid "OS:"
 msgstr "İŞLETIM SISTEMI:"
 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
 #: src/constants/errors/user.ts:9
 #, fuzzy
 #, fuzzy
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
@@ -2708,6 +2897,10 @@ msgstr "Uygula"
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "Çekirdek yükseltme hatası gerçekleştirin"
 msgstr "Çekirdek yükseltme hatası gerçekleştirin"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 #, fuzzy
 #, fuzzy
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
@@ -2717,6 +2910,12 @@ msgstr "Çekirdek yükseltme gerçekleştirme"
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: src/views/preference/components/AddPasskey.vue:69
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -2884,6 +3083,15 @@ msgstr "Tercih"
 msgid "Preparing lego configurations"
 msgid "Preparing lego configurations"
 msgstr "Lego konfigürasyonlarının hazırlanması"
 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
 #: src/language/constants.ts:3
 #, fuzzy
 #, fuzzy
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
@@ -2913,6 +3121,11 @@ msgstr "Proxy"
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 #, fuzzy
 #, fuzzy
@@ -3026,7 +3239,7 @@ msgstr "Yayın Notu"
 msgid "Reload"
 msgid "Reload"
 msgstr "Tekrar yükle"
 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/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: 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"
 msgid "Reload Remote Nginx Success"
 msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
 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"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3197,6 +3410,11 @@ msgstr "Sertifika Yenileme Başarısı"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "Başarıyla yenileyin"
 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
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -3206,6 +3424,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr "Yanlış parametrelerle talep edildi"
 msgstr "Yanlış parametrelerle talep edildi"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #, fuzzy
 #, fuzzy
 msgid "Reset"
 msgid "Reset"
@@ -3216,12 +3438,24 @@ msgstr "Sıfırla"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "2FA'yı Sıfırla"
 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
 #: src/components/NginxControl/NginxControl.vue:92
 #, fuzzy
 #, fuzzy
 msgid "Restart"
 msgid "Restart"
 msgstr "Yeniden başlat"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
 #, fuzzy
@@ -3250,7 +3484,7 @@ msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
 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"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3461,7 +3695,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr "Gönder"
 msgstr "Gönder"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 #, fuzzy
 msgid "Server"
 msgid "Server"
 msgstr "Sunucu Bilgisi"
 msgstr "Sunucu Bilgisi"
@@ -3786,7 +4020,7 @@ msgstr "Senkronizasyon Yapılandırma Hatası"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "Senkronizasyon Yapılandırması Başarılı"
 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
 #: src/views/environments/group/EnvGroup.vue:18
 #, fuzzy
 #, fuzzy
 msgid "Sync Nodes"
 msgid "Sync Nodes"
@@ -3971,6 +4205,14 @@ msgstr "URL geçersiz."
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "Kullanıcı adı veya şifre yanlış"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "These codes are the last resort for accessing your account in case you lose "
@@ -4018,6 +4260,12 @@ msgid ""
 msgstr ""
 msgstr ""
 "Model adı yalnızca harf, unicode, sayı, tire, çizgi ve nokta içermelidir."
 "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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -4067,6 +4315,12 @@ msgstr ""
 msgid "Tips"
 msgid "Tips"
 msgstr "İpuçları"
 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
 #: src/views/notification/notificationColumns.tsx:45
 #, fuzzy
 #, fuzzy
 msgid "Title"
 msgid "Title"
@@ -4120,6 +4374,11 @@ msgstr ""
 "uyumlu bir API uç noktası sağlarlar, bu nedenle baseUrl'yi yerel API'nize "
 "uyumlu bir API uç noktası sağlarlar, bu nedenle baseUrl'yi yerel API'nize "
 "ayarlamanız yeterlidir."
 "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
 #: src/views/preference/OpenAISettings.vue:61
 #, fuzzy
 #, fuzzy
 msgid "Token is not valid"
 msgid "Token is not valid"
@@ -4131,6 +4390,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 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
 #: src/views/preference/components/TOTP.vue:66
 #, fuzzy
 #, fuzzy
 msgid "TOTP"
 msgid "TOTP"
@@ -4163,6 +4449,10 @@ msgstr "İki faktörlü kimlik doğrulama gerekiyor"
 msgid "Type"
 msgid "Type"
 msgstr "Tip"
 msgstr "Tip"
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -4270,6 +4560,10 @@ msgstr "Kullanıcı adı (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "Geçerli"
 msgstr "Geçerli"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -4312,6 +4606,11 @@ msgstr "Kurtarma Kodu"
 msgid "Viewed"
 msgid "Viewed"
 msgstr "Görünüm"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4388,6 +4687,16 @@ msgid ""
 "codes."
 "codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 #, fuzzy
 #, fuzzy
@@ -4404,8 +4713,8 @@ msgstr "Sertifika özel anahtarını diske yazma"
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "Sertifikayı diske yazma"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: 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"
 msgid "Action"
 msgstr "Hành động"
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -109,7 +118,7 @@ msgstr "Nâng cao"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr ""
 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?"
 msgid "Are you sure you want to recover this item?"
 msgstr "Bạn chắc chắn muốn xoá directive này ?"
 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
 #, fuzzy
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 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ó "
 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?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Bạn chắc chắn muốn xoá location này ?"
 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
 #, fuzzy
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 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 ?"
 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"
 msgid "Author"
 msgstr "Tác giả"
 msgstr "Tác giả"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "Tự động làm mới"
 msgstr "Tự động làm mới"
@@ -392,10 +405,27 @@ msgstr "Xây dựng với"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr ""
 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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: 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"
 msgid "Cannot compare: Missing content"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
 msgstr ""
 msgstr ""
@@ -653,6 +687,11 @@ msgstr "Tệp cấu hình được kiểm tra thành công"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "Cấu hình"
 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
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "Tên cấu hình"
 msgstr "Tên cấu hình"
@@ -669,6 +708,10 @@ msgstr "Cấu hình SSL"
 msgid "Connected"
 msgid "Connected"
 msgstr "Đã kết nối"
 msgstr "Đã kết nối"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr ""
 msgstr ""
@@ -706,6 +749,14 @@ msgstr "Cập nhật core"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "Trạng thái CPU"
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
@@ -773,11 +824,20 @@ msgstr ""
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #, fuzzy
 #, fuzzy
 msgid "Current Content"
 msgid "Current Content"
 msgstr "Phiên bản hiện tại"
 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
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "Phiên bản hiện tại"
 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"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "Đã bật %{conf_name} trên %{node_name}"
 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
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Bật 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"
 msgid "Failed to get certificate information"
 msgstr "Không thể truy xuất thông tin chứng chỉ"
 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
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #, fuzzy
 #, fuzzy
 msgid "Failed to load history records"
 msgid "Failed to load history records"
@@ -1720,6 +1789,11 @@ msgstr "Xoá thành công"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "Tạo khóa riêng để đăng ký tài khoản"
 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/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 #, fuzzy
 #, fuzzy
@@ -1742,6 +1816,10 @@ msgstr ""
 msgid "Hide"
 msgid "Hide"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1820,6 +1898,12 @@ msgstr "Xuất"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "Chứng chỉ"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1830,6 +1914,10 @@ msgstr ""
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -1997,6 +2085,11 @@ msgstr "Tuỳ chỉnh"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "Kiểm tra lần cuối lúc"
 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
 #: src/views/preference/components/Passkey.vue:96
 #, fuzzy
 #, fuzzy
 msgid "Last used at"
 msgid "Last used at"
@@ -2062,6 +2155,10 @@ msgstr ""
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "Lưu thành công"
 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/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 #, fuzzy
 #, fuzzy
@@ -2157,10 +2254,46 @@ msgstr "Người dùng"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr ""
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr ""
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -2170,6 +2303,10 @@ msgstr "Memory"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "Memory và Storage"
 msgstr "Memory và Storage"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
@@ -2231,6 +2368,10 @@ msgstr "Single Directive"
 msgid "Name"
 msgid "Name"
 msgstr "Tên"
 msgstr "Tên"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "Mạng"
 msgstr "Mạng"
@@ -2272,7 +2413,7 @@ msgstr "Đã có phiên bản mới"
 msgid "Next"
 msgid "Next"
 msgstr "Tiếp theo"
 msgstr "Tiếp theo"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr ""
 msgstr ""
 
 
@@ -2334,14 +2475,27 @@ msgstr "Lỗi phân tích cú pháp cấu hình Nginx"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr ""
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Vị trí lưu log lỗi (Error log) của Nginx"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr ""
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr ""
 msgstr ""
@@ -2350,6 +2504,11 @@ msgstr ""
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr ""
 msgstr ""
 
 
+#: src/composables/usePerformanceMetrics.ts:156
+#: src/views/dashboard/components/PerformanceTablesCard.vue:110
+msgid "Nginx Memory usage"
+msgstr ""
+
 #: src/views/preference/NginxSettings.vue:30
 #: src/views/preference/NginxSettings.vue:30
 #, fuzzy
 #, fuzzy
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
@@ -2385,6 +2544,10 @@ msgstr "Restart Nginx thành công"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
 msgstr ""
 msgstr ""
@@ -2402,8 +2565,8 @@ msgid ""
 msgstr "Lỗi phân tích cú pháp cấu hình Nginx"
 msgstr "Lỗi phân tích cú pháp cấu hình Nginx"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2426,6 +2589,10 @@ msgstr "Không"
 msgid "No Action"
 msgid "No Action"
 msgstr "Hành động"
 msgstr "Hành động"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr ""
 msgstr ""
@@ -2503,6 +2670,13 @@ msgstr "Thông báo"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "Không tìm thấy tệp tin"
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 #, fuzzy
 #, fuzzy
 msgid "Obtain certificate"
 msgid "Obtain certificate"
@@ -2522,7 +2696,7 @@ msgid ""
 "Firefox."
 "Firefox."
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2557,7 +2731,7 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 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."
 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:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2594,6 +2768,20 @@ msgstr "Hệ điều hành"
 msgid "OS:"
 msgid "OS:"
 msgstr "Hệ điều hành:"
 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
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
 msgstr ""
 msgstr ""
@@ -2666,6 +2854,10 @@ msgstr ""
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "Nâng cấp core không thành công"
 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
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "Nâng cấp core"
 msgstr "Nâng cấp core"
@@ -2674,6 +2866,12 @@ msgstr "Nâng cấp core"
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr ""
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "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"
 msgid "Preparing lego configurations"
 msgstr "Chuẩn bị cấu hình Lego"
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr "Cấm thay đổi mật khẩu root trong demo"
 msgstr "Cấm thay đổi mật khẩu root trong demo"
@@ -2842,6 +3049,11 @@ msgstr ""
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2942,7 +3154,7 @@ msgstr "Ghi chú phát hành"
 msgid "Reload"
 msgid "Reload"
 msgstr "Tải lại"
 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/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: 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"
 msgid "Reload Remote Nginx Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 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"
 msgid "Reload request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3104,6 +3316,11 @@ msgstr "Gia hạn chứng chỉ SSL thành công"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "Gia hạn chứng chỉ SSL"
 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
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr ""
 msgstr ""
@@ -3112,6 +3329,10 @@ msgstr ""
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr "Yêu cầu có chứa tham số sai"
 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
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr "Đặt lại"
 msgstr "Đặt lại"
@@ -3121,11 +3342,23 @@ msgstr "Đặt lại"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "Đặt lại"
 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr "Khởi động lại"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 #, fuzzy
 #, fuzzy
@@ -3152,7 +3385,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 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"
 msgid "Restart request failed, please check your network connection"
 msgstr ""
 msgstr ""
 
 
@@ -3350,7 +3583,7 @@ msgstr ""
 msgid "Send"
 msgid "Send"
 msgstr "Gửi"
 msgstr "Gửi"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 #, fuzzy
 #, fuzzy
 msgid "Server"
 msgid "Server"
 msgstr "Thông tin máy chủ"
 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"
 msgid "Sync Config Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 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
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgid "Sync Nodes"
 msgstr ""
 msgstr ""
@@ -3807,6 +4040,14 @@ msgstr ""
 msgid "The username or password is incorrect"
 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"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "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 -_."
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr ""
 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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3893,6 +4140,12 @@ msgstr ""
 msgid "Tips"
 msgid "Tips"
 msgstr ""
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr "Tiêu đề"
 msgstr "Tiêu đề"
@@ -3933,6 +4186,11 @@ msgid ""
 "local API."
 "local API."
 msgstr ""
 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
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
@@ -3943,6 +4201,33 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[0] ""
 msgstr[1] ""
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr ""
 msgstr ""
@@ -3968,6 +4253,10 @@ msgstr ""
 msgid "Type"
 msgid "Type"
 msgstr "Loại"
 msgstr "Loại"
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr ""
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr ""
 msgstr ""
@@ -4064,6 +4353,10 @@ msgstr "Username (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "Hợp lệ"
 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:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -4104,6 +4397,11 @@ msgstr ""
 msgid "Viewed"
 msgid "Viewed"
 msgstr "Xem"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -4173,6 +4471,16 @@ msgid ""
 "codes."
 "codes."
 msgstr ""
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -4186,8 +4494,8 @@ msgstr "Ghi Private Key vào disk"
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "Ghi chứng chỉ vào 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

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

@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: \n"
 "Project-Id-Version: \n"
 "POT-Creation-Date: \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"
 "Last-Translator: 0xJacky <me@jackyu.cn>\n"
 "Language-Team: Chinese (Simplified Han script) <https://weblate.nginxui.com/"
 "Language-Team: Chinese (Simplified Han script) <https://weblate.nginxui.com/"
 "projects/nginx-ui/frontend/zh_Hans/>\n"
 "projects/nginx-ui/frontend/zh_Hans/>\n"
@@ -55,6 +55,15 @@ msgstr "ACME 用户"
 msgid "Action"
 msgid "Action"
 msgstr "操作"
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -109,7 +118,7 @@ msgstr "高级模式"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr "然后,刷新此页面并再次点击添加 Passkey。"
 msgstr "然后,刷新此页面并再次点击添加 Passkey。"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr "全部"
 msgstr "全部"
@@ -201,7 +210,7 @@ msgstr "您确定要删除吗?"
 msgid "Are you sure you want to recover this item?"
 msgid "Are you sure you want to recover this item?"
 msgstr "您确定要恢复这个项目吗?"
 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?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "你确定要在以下同步节点上重载 Nginx?"
 msgstr "你确定要在以下同步节点上重载 Nginx?"
 
 
@@ -217,7 +226,7 @@ msgstr "您确定要删除这个项目吗?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "您确定要删除这个 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?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "你确定要在以下同步节点上重启 Nginx 吗?"
 msgstr "你确定要在以下同步节点上重启 Nginx 吗?"
 
 
@@ -254,6 +263,10 @@ msgstr "认证设置"
 msgid "Author"
 msgid "Author"
 msgstr "作者"
 msgstr "作者"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr "自动 = CPU 线程数"
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "自动刷新"
 msgstr "自动刷新"
@@ -366,10 +379,29 @@ msgstr "构建基于"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr "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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr "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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -393,6 +425,10 @@ msgstr "不可在 Demo 中修改初始用户的密码"
 msgid "Cannot compare: Missing content"
 msgid "Cannot compare: Missing content"
 msgstr "无法比较:内容缺失"
 msgstr "无法比较:内容缺失"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr "在此状态下无法获取性能数据"
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
 msgstr "不可删除初始用户"
 msgstr "不可删除初始用户"
@@ -604,6 +640,10 @@ msgstr "配置文件测试成功"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "配置历史记录"
 msgstr "配置历史记录"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+msgid "Configuration information"
+msgstr "配置信息"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "配置名称"
 msgstr "配置名称"
@@ -620,6 +660,10 @@ msgstr "配置 SSL"
 msgid "Connected"
 msgid "Connected"
 msgstr "已连接"
 msgstr "已连接"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr "连接错误,尝试重新连接..."
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr "连接中断,请刷新页面。"
 msgstr "连接中断,请刷新页面。"
@@ -657,6 +701,14 @@ msgstr "核心升级"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "CPU 状态"
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
@@ -720,10 +772,18 @@ msgstr "当前账户已启用 TOTP 验证。"
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr "当前用户未启用 TOTP 验证。"
 msgstr "当前用户未启用 TOTP 验证。"
 
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr "当前活动连接"
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #: src/components/ConfigHistory/DiffViewer.vue:62
 msgid "Current Content"
 msgid "Current Content"
 msgstr "当前内容"
 msgstr "当前内容"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+msgid "Current usage"
+msgstr "当前用量"
+
 #: src/views/system/Upgrade.vue:165
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "当前版本"
 msgstr "当前版本"
@@ -1145,6 +1205,10 @@ msgstr "在 %{node} 中启用 %{name} 失败"
 msgid "Enable stream %{name} on %{node} successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "在 %{node} 上启用 %{name} 成功"
 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
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "启用 TLS"
 msgstr "启用 TLS"
@@ -1412,6 +1476,10 @@ msgstr "生成初始化向量失败:{0}"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "获取证书信息失败"
 msgstr "获取证书信息失败"
 
 
+#: src/composables/useNginxPerformance.ts:50
+msgid "Failed to get performance data"
+msgstr "获取性能数据失败"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 msgid "Failed to load history records"
 msgid "Failed to load history records"
 msgstr "加载历史记录失败"
 msgstr "加载历史记录失败"
@@ -1565,6 +1633,10 @@ msgstr "成功生成恢复代码"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "正在生成私钥用于注册账户"
 msgstr "正在生成私钥用于注册账户"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+msgid "Get data failed"
+msgstr "获取数据失败"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
 msgid "Get release information error"
@@ -1586,6 +1658,10 @@ msgstr "哈希验证失败:文件完整性受损"
 msgid "Hide"
 msgid "Hide"
 msgstr "隐藏"
 msgstr "隐藏"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr "更高的值意味着更好的连接再利用"
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1664,6 +1740,12 @@ msgstr "导入"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "导入证书"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1674,6 +1756,10 @@ msgstr "已索引"
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr "索引中..."
 msgstr "索引中..."
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr "指示器"
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -1830,6 +1916,10 @@ msgstr "Lark 自定义"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "最后检查时间"
 msgstr "最后检查时间"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+msgid "Last update"
+msgstr "上次更新"
+
 #: src/views/preference/components/Passkey.vue:96
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgid "Last used at"
 msgstr "上次使用"
 msgstr "上次使用"
@@ -1888,6 +1978,10 @@ msgstr "从设置中加载"
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "加载成功"
 msgstr "加载成功"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr "正在加载数据..."
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
 msgid "Local"
@@ -1981,10 +2075,45 @@ msgstr "用户管理"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "托管证书"
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr "最大尝试次数"
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -1994,6 +2123,10 @@ msgstr "内存"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "内存与存储"
 msgstr "内存与存储"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr "内存使用量(RSS)"
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr "分钟"
 msgstr "分钟"
@@ -2050,6 +2183,10 @@ msgstr "多行指令"
 msgid "Name"
 msgid "Name"
 msgstr "名称"
 msgstr "名称"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr "需要启用 stub_status 模块"
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "网络"
 msgstr "网络"
@@ -2088,7 +2225,7 @@ msgstr "新版本发布"
 msgid "Next"
 msgid "Next"
 msgstr "下一步"
 msgstr "下一步"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -2145,14 +2282,27 @@ msgstr "Nginx 配置目录"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "控制 Nginx"
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Nginx 错误日志路径"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr "Nginx 未启动"
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Nginx 日志"
 msgstr "Nginx 日志"
@@ -2161,6 +2311,11 @@ msgstr "Nginx 日志"
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Nginx 日志目录白名单"
 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
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
 msgstr "Nginx PID 路径"
 msgstr "Nginx PID 路径"
@@ -2193,6 +2348,10 @@ msgstr "Nginx 重启成功"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr "Nginx 测试配置命令"
 msgstr "Nginx 测试配置命令"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr "Nginx 理论最高性能"
+
 #: src/constants/errors/system.ts:2
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
 msgstr "Nginx UI 已安装"
 msgstr "Nginx UI 已安装"
@@ -2208,8 +2367,8 @@ msgid ""
 msgstr "Nginx UI 配置已恢复,几秒钟后将自动重启。"
 msgstr "Nginx UI 配置已恢复,几秒钟后将自动重启。"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2231,6 +2390,10 @@ msgstr "取消"
 msgid "No Action"
 msgid "No Action"
 msgstr "无操作"
 msgstr "无操作"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr "没有数据"
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr "未选择记录"
 msgstr "未选择记录"
@@ -2300,6 +2463,13 @@ msgstr "通知"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "未找到通知程序"
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgid "Obtain certificate"
 msgstr "获取证书"
 msgstr "获取证书"
@@ -2318,7 +2488,7 @@ msgid ""
 "Firefox."
 "Firefox."
 msgstr "某些用户在使用 Firefox 首次访问时,OCSP Must Staple 可能会导致错误。"
 msgstr "某些用户在使用 Firefox 首次访问时,OCSP Must Staple 可能会导致错误。"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2353,7 +2523,7 @@ msgstr "确定"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "一旦验证完成,这些记录将被删除。"
 msgstr "一旦验证完成,这些记录将被删除。"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2389,6 +2559,20 @@ msgstr "OS"
 msgid "OS:"
 msgid "OS:"
 msgstr "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
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
 msgstr "OTP 或恢复代码为空"
 msgstr "OTP 或恢复代码为空"
@@ -2461,6 +2645,10 @@ msgstr "执行"
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "执行核心升级错误"
 msgstr "执行核心升级错误"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr "性能指标"
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "正在进行核心升级"
 msgstr "正在进行核心升级"
@@ -2469,6 +2657,12 @@ msgstr "正在进行核心升级"
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr "原文为空"
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2604,6 +2798,14 @@ msgstr "偏好设置"
 msgid "Preparing lego configurations"
 msgid "Preparing lego configurations"
 msgstr "正在准备 Lego 的配置"
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr "禁止在演示模式下修改 root 账户的密码"
 msgstr "禁止在演示模式下修改 root 账户的密码"
@@ -2628,6 +2830,11 @@ msgstr "代理"
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr "公安备案号"
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2722,7 +2929,7 @@ msgstr "发行日志"
 msgid "Reload"
 msgid "Reload"
 msgstr "重载"
 msgstr "重载"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -2746,7 +2953,7 @@ msgstr "重载远程 Nginx 错误"
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr "重载远程 Nginx 成功"
 msgstr "重载远程 Nginx 成功"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgid "Reload request failed, please check your network connection"
 msgstr "重载请求失败,请检查网络连接"
 msgstr "重载请求失败,请检查网络连接"
 
 
@@ -2858,6 +3065,10 @@ msgstr "证书续期成功"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "更新成功"
 msgstr "更新成功"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+msgid "Request statistics"
+msgstr "请求统计"
+
 #: src/constants/errors/crypto.ts:4
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr "请求超时"
 msgstr "请求超时"
@@ -2866,6 +3077,10 @@ msgstr "请求超时"
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr "请求参数错误"
 msgstr "请求参数错误"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr "每次连接请求数"
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr "重置"
 msgstr "重置"
@@ -2874,11 +3089,25 @@ msgstr "重置"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "重置二步验证"
 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr "重启"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 msgid "Restart Nginx"
 msgid "Restart Nginx"
@@ -2900,7 +3129,7 @@ msgstr "重启远程 Nginx 错误"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "重启远程 Nginx 成功"
 msgstr "重启远程 Nginx 成功"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgid "Restart request failed, please check your network connection"
 msgstr "重启请求失败,请检查网络连接"
 msgstr "重启请求失败,请检查网络连接"
 
 
@@ -3082,7 +3311,7 @@ msgstr "自我检查"
 msgid "Send"
 msgid "Send"
 msgstr "上传"
 msgstr "上传"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 msgid "Server"
 msgid "Server"
 msgstr "服务器"
 msgstr "服务器"
 
 
@@ -3361,7 +3590,7 @@ msgstr "同步配置错误"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "同步配置成功"
 msgstr "同步配置成功"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgid "Sync Nodes"
 msgstr "同步节点"
 msgstr "同步节点"
@@ -3510,6 +3739,14 @@ msgstr "URL 无效."
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "用户名或密码错误"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "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 -_."
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr "该字段只能包含字母、unicode 字符、数字和 -_。"
 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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3596,6 +3839,13 @@ msgstr "限流"
 msgid "Tips"
 msgid "Tips"
 msgstr "提示"
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr "标题"
 msgstr "标题"
@@ -3639,6 +3889,10 @@ msgstr ""
 "要使用本地大型模型,可使用 ollama、vllm 或 lmdeploy 进行部署。它们提供了与 "
 "要使用本地大型模型,可使用 ollama、vllm 或 lmdeploy 进行部署。它们提供了与 "
 "OpenAI 兼容的 API 端点,因此只需将 baseUrl 设置为本地 API 即可。"
 "OpenAI 兼容的 API 端点,因此只需将 baseUrl 设置为本地 API 即可。"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+msgid "Toggle failed"
+msgstr "切换失败"
+
 #: src/views/preference/OpenAISettings.vue:61
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "Token 无效"
 msgstr "Token 无效"
@@ -3648,6 +3902,33 @@ msgid "Total %{total} item"
 msgid_plural "Total %{total} items"
 msgid_plural "Total %{total} items"
 msgstr[0] "共 %{total} 个项目"
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr "TOTP"
 msgstr "TOTP"
@@ -3673,6 +3954,10 @@ msgstr "需要两步验证"
 msgid "Type"
 msgid "Type"
 msgstr "类型"
 msgstr "类型"
 
 
+#: src/composables/useNginxPerformance.ts:19
+msgid "Unknown"
+msgstr "未知"
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr "未知问题"
 msgstr "未知问题"
@@ -3763,6 +4048,10 @@ msgstr "用户名 (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "有效的"
 msgstr "有效的"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr "值"
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -3798,6 +4087,11 @@ msgstr "查看恢复代码"
 msgid "Viewed"
 msgid "Viewed"
 msgstr "已查看"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -3872,6 +4166,16 @@ msgid ""
 "codes."
 "codes."
 msgstr "当您生成新的恢复代码时,必须下载或打印新的代码。"
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -3885,8 +4189,8 @@ msgstr "正在将证书私钥写入磁盘"
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "正在将证书写入磁盘"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: 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"
 msgid "Action"
 msgstr "操作"
 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:151
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:186
 #: src/views/preference/CertSettings.vue:45
 #: src/views/preference/CertSettings.vue:45
@@ -113,7 +122,7 @@ msgstr "進階模式"
 msgid "Afterwards, refresh this page and click add passkey again."
 msgid "Afterwards, refresh this page and click add passkey again."
 msgstr "然後,重新整理此頁面並再次點選新增通行密鑰。"
 msgstr "然後,重新整理此頁面並再次點選新增通行密鑰。"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:135
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419
 msgid "All"
 msgid "All"
 msgstr "全部"
 msgstr "全部"
@@ -205,7 +214,7 @@ msgstr "您確定要刪除嗎?"
 msgid "Are you sure you want to recover this item?"
 msgid "Are you sure you want to recover this item?"
 msgstr "您確定要恢復此項目嗎?"
 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?"
 msgid "Are you sure you want to reload Nginx on the following sync nodes?"
 msgstr "您確定要在以下同步節點上重新載入Nginx嗎?"
 msgstr "您確定要在以下同步節點上重新載入Nginx嗎?"
 
 
@@ -221,7 +230,7 @@ msgstr "您確定要刪除此項目嗎?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "您確定要刪除此 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?"
 msgid "Are you sure you want to restart Nginx on the following sync nodes?"
 msgstr "您確定要在以下同步節點上重新啟動Nginx嗎?"
 msgstr "您確定要在以下同步節點上重新啟動Nginx嗎?"
 
 
@@ -258,6 +267,10 @@ msgstr "認證設定"
 msgid "Author"
 msgid "Author"
 msgstr "作者"
 msgstr "作者"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:199
+msgid "auto = CPU cores"
+msgstr ""
+
 #: src/views/nginx_log/NginxLog.vue:149
 #: src/views/nginx_log/NginxLog.vue:149
 msgid "Auto Refresh"
 msgid "Auto Refresh"
 msgstr "自動重新整理"
 msgstr "自動重新整理"
@@ -370,10 +383,27 @@ msgstr "構建基於"
 msgid "CA Dir"
 msgid "CA Dir"
 msgstr "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
 #: src/views/preference/CertSettings.vue:19
 msgid "CADir"
 msgid "CADir"
 msgstr "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/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -397,6 +427,10 @@ msgstr "無法在示範模式下更改初始使用者密碼"
 msgid "Cannot compare: Missing content"
 msgid "Cannot compare: Missing content"
 msgstr "無法比較:缺少內容"
 msgstr "無法比較:缺少內容"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:134
+msgid "Cannot get performance data in this state"
+msgstr ""
+
 #: src/constants/errors/user.ts:10
 #: src/constants/errors/user.ts:10
 msgid "Cannot remove initial user"
 msgid "Cannot remove initial user"
 msgstr "無法移除初始使用者"
 msgstr "無法移除初始使用者"
@@ -611,6 +645,11 @@ msgstr "設定檔案測試成功"
 msgid "Configuration History"
 msgid "Configuration History"
 msgstr "配置歷史"
 msgstr "配置歷史"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:168
+#, fuzzy
+msgid "Configuration information"
+msgstr "配置歷史"
+
 #: src/views/site/site_add/SiteAdd.vue:101
 #: src/views/site/site_add/SiteAdd.vue:101
 msgid "Configuration Name"
 msgid "Configuration Name"
 msgstr "設定名稱"
 msgstr "設定名稱"
@@ -627,6 +666,10 @@ msgstr "設定 SSL"
 msgid "Connected"
 msgid "Connected"
 msgstr "已連結"
 msgstr "已連結"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:87
+msgid "Connection error, trying to reconnect..."
+msgstr ""
+
 #: src/views/terminal/Terminal.vue:142
 #: src/views/terminal/Terminal.vue:142
 msgid "Connection lost, please refresh the page."
 msgid "Connection lost, please refresh the page."
 msgstr "連接丟失,請重新整理。"
 msgstr "連接丟失,請重新整理。"
@@ -664,6 +707,14 @@ msgstr "核心升級"
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "中央處理器狀態"
 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
 #: src/views/dashboard/ServerAnalytic.vue:195
 msgid "CPU:"
 msgid "CPU:"
 msgstr "中央處理器:"
 msgstr "中央處理器:"
@@ -727,10 +778,19 @@ msgstr "當前帳戶已啟用 TOTP。"
 msgid "Current account is not enabled TOTP."
 msgid "Current account is not enabled TOTP."
 msgstr "當前帳戶未啟用 TOTP。"
 msgstr "當前帳戶未啟用 TOTP。"
 
 
+#: src/views/dashboard/components/ConnectionMetricsCard.vue:28
+msgid "Current active connections"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:62
 #: src/components/ConfigHistory/DiffViewer.vue:62
 msgid "Current Content"
 msgid "Current Content"
 msgstr "當前內容"
 msgstr "當前內容"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
+#, fuzzy
+msgid "Current usage"
+msgstr "當前內容"
+
 #: src/views/system/Upgrade.vue:165
 #: src/views/system/Upgrade.vue:165
 msgid "Current Version"
 msgid "Current Version"
 msgstr "目前版本"
 msgstr "目前版本"
@@ -1153,6 +1213,10 @@ msgstr "在 %{node} 上啟用串流 %{name} 失敗"
 msgid "Enable stream %{name} on %{node} successfully"
 msgid "Enable stream %{name} on %{node} successfully"
 msgstr "在 %{node} 上成功啟用串流 %{name}"
 msgstr "在 %{node} 上成功啟用串流 %{name}"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:152
+msgid "Enable stub_status module"
+msgstr ""
+
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 #: src/views/site/ngx_conf/NgxConfigEditor.vue:183
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "啟用 TLS"
 msgstr "啟用 TLS"
@@ -1421,6 +1485,11 @@ msgstr "無法生成初始化向量:{0}"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "取得憑證資訊失敗"
 msgstr "取得憑證資訊失敗"
 
 
+#: src/composables/useNginxPerformance.ts:50
+#, fuzzy
+msgid "Failed to get performance data"
+msgstr "取得憑證資訊失敗"
+
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 #: src/components/ConfigHistory/ConfigHistory.vue:77
 msgid "Failed to load history records"
 msgid "Failed to load history records"
 msgstr "無法載入歷史記錄"
 msgstr "無法載入歷史記錄"
@@ -1575,6 +1644,11 @@ msgstr "成功生成復原代碼"
 msgid "Generating private key for registering account"
 msgid "Generating private key for registering account"
 msgstr "產生註冊帳號的私鑰"
 msgstr "產生註冊帳號的私鑰"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:143
+#, fuzzy
+msgid "Get data failed"
+msgstr "註冊失敗"
+
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/environments/list/BatchUpgrader.vue:177
 #: src/views/system/Upgrade.vue:169
 #: src/views/system/Upgrade.vue:169
 msgid "Get release information error"
 msgid "Get release information error"
@@ -1596,6 +1670,10 @@ msgstr "哈希驗證失敗:檔案完整性受損"
 msgid "Hide"
 msgid "Hide"
 msgstr "隱藏"
 msgstr "隱藏"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
+msgid "Higher value means better connection reuse"
+msgstr ""
+
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/config/ConfigEditor.vue:251
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/site/site_edit/SiteEdit.vue:212
 #: src/views/stream/StreamEdit.vue:195
 #: src/views/stream/StreamEdit.vue:195
@@ -1674,6 +1752,12 @@ msgstr "導入"
 msgid "Import Certificate"
 msgid "Import Certificate"
 msgstr "導入憑證"
 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/nginx_log/NginxLogList.vue:137
 #: src/views/site/site_list/SiteList.vue:132
 #: src/views/site/site_list/SiteList.vue:132
 msgid "Indexed"
 msgid "Indexed"
@@ -1684,6 +1768,10 @@ msgstr "已索引"
 msgid "Indexing..."
 msgid "Indexing..."
 msgstr "索引中..."
 msgstr "索引中..."
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:16
+msgid "Indicator"
+msgstr ""
+
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/components/StdDesign/StdDetail/StdDetail.vue:81
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 #: src/constants/index.ts:24 src/views/notification/notificationColumns.tsx:29
 msgid "Info"
 msgid "Info"
@@ -1840,6 +1928,11 @@ msgstr "Lark 自定義"
 msgid "Last checked at"
 msgid "Last checked at"
 msgstr "上次檢查時間"
 msgstr "上次檢查時間"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:118
+#, fuzzy
+msgid "Last update"
+msgstr "最後使用時間"
+
 #: src/views/preference/components/Passkey.vue:96
 #: src/views/preference/components/Passkey.vue:96
 msgid "Last used at"
 msgid "Last used at"
 msgstr "最後使用時間"
 msgstr "最後使用時間"
@@ -1898,6 +1991,10 @@ msgstr "從設置加載"
 msgid "Load successfully"
 msgid "Load successfully"
 msgstr "加載成功"
 msgstr "加載成功"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:180
+msgid "Loading data..."
+msgstr ""
+
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/EnvIndicator/EnvIndicator.vue:39
 #: src/components/NodeSelector/NodeSelector.vue:86
 #: src/components/NodeSelector/NodeSelector.vue:86
 msgid "Local"
 msgid "Local"
@@ -1990,10 +2087,46 @@ msgstr "管理使用者"
 msgid "Managed Certificate"
 msgid "Managed Certificate"
 msgstr "受管理的憑證"
 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
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
 msgid "Max Attempts"
 msgstr "最大嘗試次數"
 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:222
 #: src/views/dashboard/ServerAnalytic.vue:223
 #: src/views/dashboard/ServerAnalytic.vue:223
 msgid "Memory"
 msgid "Memory"
@@ -2003,6 +2136,10 @@ msgstr "記憶體"
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "記憶體與儲存"
 msgstr "記憶體與儲存"
 
 
+#: src/views/dashboard/components/ResourceUsageCard.vue:51
+msgid "Memory Usage (RSS)"
+msgstr ""
+
 #: src/views/preference/LogrotateSettings.vue:29
 #: src/views/preference/LogrotateSettings.vue:29
 msgid "Minutes"
 msgid "Minutes"
 msgstr "分鐘"
 msgstr "分鐘"
@@ -2059,6 +2196,10 @@ msgstr "多行指令"
 msgid "Name"
 msgid "Name"
 msgstr "名稱"
 msgstr "名稱"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:175
+msgid "Need to enable the stub_status module"
+msgstr ""
+
 #: src/views/dashboard/ServerAnalytic.vue:327
 #: src/views/dashboard/ServerAnalytic.vue:327
 msgid "Network"
 msgid "Network"
 msgstr "網路"
 msgstr "網路"
@@ -2097,7 +2238,7 @@ msgstr "新版本發布"
 msgid "Next"
 msgid "Next"
 msgstr "下一步"
 msgstr "下一步"
 
 
-#: src/views/preference/Preference.vue:205
+#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:205
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -2154,14 +2295,28 @@ msgstr "Nginx 配置目錄"
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Nginx 控制元件"
 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
 #: src/views/preference/NginxSettings.vue:12
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Nginx 錯誤日誌路徑"
 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
 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15
 msgid "Nginx is not running"
 msgid "Nginx is not running"
 msgstr "Nginx 未執行"
 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
 #: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:143
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Nginx 日誌"
 msgstr "Nginx 日誌"
@@ -2170,6 +2325,11 @@ msgstr "Nginx 日誌"
 msgid "Nginx Log Directory Whitelist"
 msgid "Nginx Log Directory Whitelist"
 msgstr "Nginx 日誌目錄白名單"
 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
 #: src/views/preference/NginxSettings.vue:30
 msgid "Nginx PID Path"
 msgid "Nginx PID Path"
 msgstr "Nginx PID 路徑"
 msgstr "Nginx PID 路徑"
@@ -2202,6 +2362,10 @@ msgstr "Nginx 重啟成功"
 msgid "Nginx Test Config Command"
 msgid "Nginx Test Config Command"
 msgstr "Nginx 測試配置指令"
 msgstr "Nginx 測試配置指令"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:181
+msgid "Nginx theoretical maximum performance"
+msgstr ""
+
 #: src/constants/errors/system.ts:2
 #: src/constants/errors/system.ts:2
 msgid "Nginx UI already installed"
 msgid "Nginx UI already installed"
 msgstr "Nginx UI 已安裝"
 msgstr "Nginx UI 已安裝"
@@ -2217,8 +2381,8 @@ msgid ""
 msgstr "Nginx UI 設定已恢復,將在幾秒後自動重新啟動。"
 msgstr "Nginx UI 設定已恢復,將在幾秒後自動重新啟動。"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:374
 #: 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/Notification/Notification.vue:133
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94
@@ -2240,6 +2404,10 @@ msgstr "取消"
 msgid "No Action"
 msgid "No Action"
 msgstr "無行動"
 msgstr "無行動"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:182
+msgid "No data"
+msgstr ""
+
 #: src/components/ConfigHistory/DiffViewer.vue:44
 #: src/components/ConfigHistory/DiffViewer.vue:44
 msgid "No records selected"
 msgid "No records selected"
 msgstr "未選取任何記錄"
 msgstr "未選取任何記錄"
@@ -2309,6 +2477,13 @@ msgstr "通知"
 msgid "Notifier not found"
 msgid "Notifier not found"
 msgstr "通知器未找到"
 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
 #: src/views/site/cert/components/ObtainCert.vue:182
 msgid "Obtain certificate"
 msgid "Obtain certificate"
 msgstr "取得憑證"
 msgstr "取得憑證"
@@ -2327,7 +2502,7 @@ msgid ""
 "Firefox."
 "Firefox."
 msgstr "OCSP 必須裝訂可能會導致某些用戶在首次使用 Firefox 訪問時出現錯誤。"
 msgstr "OCSP 必須裝訂可能會導致某些用戶在首次使用 Firefox 訪問時出現錯誤。"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/components/NodeSelector/NodeSelector.vue:109
 #: src/views/dashboard/Environments.vue:107
 #: src/views/dashboard/Environments.vue:107
 #: src/views/environments/list/envColumns.tsx:56
 #: src/views/environments/list/envColumns.tsx:56
@@ -2362,7 +2537,7 @@ msgstr "確定"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "驗證完成後,記錄將被刪除。"
 msgstr "驗證完成後,記錄將被刪除。"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:179
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:103
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/components/NodeSelector/NodeSelector.vue:89
 #: src/views/dashboard/Environments.vue:100
 #: src/views/dashboard/Environments.vue:100
@@ -2398,6 +2573,20 @@ msgstr "作業系統"
 msgid "OS:"
 msgid "OS:"
 msgstr "作業系統:"
 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
 #: src/constants/errors/user.ts:9
 msgid "Otp or recovery code empty"
 msgid "Otp or recovery code empty"
 msgstr "OTP 或復原代碼為空"
 msgstr "OTP 或復原代碼為空"
@@ -2470,6 +2659,10 @@ msgstr "執行"
 msgid "Perform core upgrade error"
 msgid "Perform core upgrade error"
 msgstr "執行核心升級錯誤"
 msgstr "執行核心升級錯誤"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:187
+msgid "Performance Metrics"
+msgstr ""
+
 #: src/language/constants.ts:28
 #: src/language/constants.ts:28
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "正在執行核心升級"
 msgstr "正在執行核心升級"
@@ -2478,6 +2671,12 @@ msgstr "正在執行核心升級"
 msgid "Plain text is empty"
 msgid "Plain text is empty"
 msgstr "明文為空"
 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
 #: src/views/preference/components/AddPasskey.vue:69
 msgid ""
 msgid ""
 "Please enter a name for the passkey you wish to create and click the OK "
 "Please enter a name for the passkey you wish to create and click the OK "
@@ -2613,6 +2812,15 @@ msgstr "偏好設定"
 msgid "Preparing lego configurations"
 msgid "Preparing lego configurations"
 msgstr "準備 Lego 設定"
 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
 #: src/language/constants.ts:3
 msgid "Prohibit changing root password in demo"
 msgid "Prohibit changing root password in demo"
 msgstr "在示範模式中禁止更改 root 密碼"
 msgstr "在示範模式中禁止更改 root 密碼"
@@ -2637,6 +2845,11 @@ msgstr "代理伺服器"
 msgid "Public Security Number"
 msgid "Public Security Number"
 msgstr "公安編號"
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:383
 #: src/views/dashboard/ServerAnalytic.vue:383
 msgid "Reads"
 msgid "Reads"
@@ -2730,7 +2943,7 @@ msgstr "發行公告"
 msgid "Reload"
 msgid "Reload"
 msgstr "重新載入"
 msgstr "重新載入"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:156
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/columns.ts:24
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/group/EnvGroup.vue:37
 #: src/views/environments/list/Environment.vue:120
 #: src/views/environments/list/Environment.vue:120
@@ -2754,7 +2967,7 @@ msgstr "重新載入遠端Nginx錯誤"
 msgid "Reload Remote Nginx Success"
 msgid "Reload Remote Nginx Success"
 msgstr "遠端Nginx重載成功"
 msgstr "遠端Nginx重載成功"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:104
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86
 msgid "Reload request failed, please check your network connection"
 msgid "Reload request failed, please check your network connection"
 msgstr "重新載入請求失敗,請檢查您的網路連線"
 msgstr "重新載入請求失敗,請檢查您的網路連線"
 
 
@@ -2866,6 +3079,11 @@ msgstr "更新憑證成功"
 msgid "Renew successfully"
 msgid "Renew successfully"
 msgstr "更新成功"
 msgstr "更新成功"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:142
+#, fuzzy
+msgid "Request statistics"
+msgstr "網路統計"
+
 #: src/constants/errors/crypto.ts:4
 #: src/constants/errors/crypto.ts:4
 msgid "Request timeout"
 msgid "Request timeout"
 msgstr "請求逾時"
 msgstr "請求逾時"
@@ -2874,6 +3092,10 @@ msgstr "請求逾時"
 msgid "Requested with wrong parameters"
 msgid "Requested with wrong parameters"
 msgstr "請求參數錯誤"
 msgstr "請求參數錯誤"
 
 
+#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
+msgid "Requests Per Connection"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:442
 msgid "Reset"
 msgid "Reset"
 msgstr "重設"
 msgstr "重設"
@@ -2882,11 +3104,23 @@ msgstr "重設"
 msgid "Reset 2FA"
 msgid "Reset 2FA"
 msgstr "重置多重因素驗證"
 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
 #: src/components/NginxControl/NginxControl.vue:92
 msgid "Restart"
 msgid "Restart"
 msgstr "重新啟動"
 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:141
 #: src/views/environments/list/Environment.vue:149
 #: src/views/environments/list/Environment.vue:149
 msgid "Restart Nginx"
 msgid "Restart Nginx"
@@ -2908,7 +3142,7 @@ msgstr "遠端Nginx重啟錯誤"
 msgid "Restart Remote Nginx Success"
 msgid "Restart Remote Nginx Success"
 msgstr "遠端Nginx重啟成功"
 msgstr "遠端Nginx重啟成功"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106
 msgid "Restart request failed, please check your network connection"
 msgid "Restart request failed, please check your network connection"
 msgstr "重新啟動請求失敗,請檢查您的網路連線"
 msgstr "重新啟動請求失敗,請檢查您的網路連線"
 
 
@@ -3092,7 +3326,7 @@ msgstr "自我檢測"
 msgid "Send"
 msgid "Send"
 msgstr "傳送"
 msgstr "傳送"
 
 
-#: src/views/preference/Preference.vue:157
+#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:157
 msgid "Server"
 msgid "Server"
 msgstr "伺服器"
 msgstr "伺服器"
 
 
@@ -3372,7 +3606,7 @@ msgstr "同步配置錯誤"
 msgid "Sync Config Success"
 msgid "Sync Config Success"
 msgstr "同步配置成功"
 msgstr "同步配置成功"
 
 
-#: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
+#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124
 #: src/views/environments/group/EnvGroup.vue:18
 #: src/views/environments/group/EnvGroup.vue:18
 msgid "Sync Nodes"
 msgid "Sync Nodes"
 msgstr "同步節點"
 msgstr "同步節點"
@@ -3521,6 +3755,14 @@ msgstr "網址無效。"
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
 msgstr "使用者名稱或密碼不正確"
 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
 #: src/views/preference/components/RecoveryCodes.vue:104
 msgid ""
 msgid ""
 "These codes are the last resort for accessing your account in case you lose "
 "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 -_."
 "This field should only contain letters, unicode characters, numbers, and -_."
 msgstr "此欄位僅能包含字母、Unicode字元、數字、連字號、破折號和底線。"
 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
 #: src/views/certificate/components/RemoveCert.vue:103
 msgid ""
 msgid ""
 "This operation will only remove the certificate from the database. The "
 "This operation will only remove the certificate from the database. The "
@@ -3607,6 +3855,12 @@ msgstr "節流"
 msgid "Tips"
 msgid "Tips"
 msgstr "提示"
 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
 #: src/views/notification/notificationColumns.tsx:45
 msgid "Title"
 msgid "Title"
 msgstr "標題"
 msgstr "標題"
@@ -3650,6 +3904,11 @@ msgstr ""
 "要使用本地大型模型,請使用 ollama、vllm 或 lmdeploy 部署。它們提供與 OpenAI "
 "要使用本地大型模型,請使用 ollama、vllm 或 lmdeploy 部署。它們提供與 OpenAI "
 "相容的 API 端點,因此只需將 baseUrl 設定為您的本地 API。"
 "相容的 API 端點,因此只需將 baseUrl 設定為您的本地 API。"
 
 
+#: src/views/dashboard/NginxDashBoard.vue:59
+#, fuzzy
+msgid "Toggle failed"
+msgstr "啟用失敗"
+
 #: src/views/preference/OpenAISettings.vue:61
 #: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "令牌無效"
 msgstr "令牌無效"
@@ -3659,6 +3918,33 @@ msgid "Total %{total} item"
 msgid_plural "Total %{total} items"
 msgid_plural "Total %{total} items"
 msgstr[0] "總計 %{total} 項"
 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
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgid "TOTP"
 msgstr "TOTP"
 msgstr "TOTP"
@@ -3684,6 +3970,11 @@ msgstr "需要多重因素驗證"
 msgid "Type"
 msgid "Type"
 msgstr "類型"
 msgstr "類型"
 
 
+#: src/composables/useNginxPerformance.ts:19
+#, fuzzy
+msgid "Unknown"
+msgstr "未知問題"
+
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 #: src/views/system/SelfCheck/SelfCheck.vue:63
 msgid "Unknown issue"
 msgid "Unknown issue"
 msgstr "未知問題"
 msgstr "未知問題"
@@ -3774,6 +4065,10 @@ msgstr "使用者名稱 (*)"
 msgid "Valid"
 msgid "Valid"
 msgstr "有效"
 msgstr "有效"
 
 
+#: src/views/dashboard/components/PerformanceTablesCard.vue:22
+msgid "Value"
+msgstr ""
+
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:216
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 #: src/components/SystemRestore/SystemRestoreContent.vue:293
 msgid "Verify Backup File Integrity"
 msgid "Verify Backup File Integrity"
@@ -3809,6 +4104,11 @@ msgstr "檢視復原代碼"
 msgid "Viewed"
 msgid "Viewed"
 msgstr "已檢視"
 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/constants/index.ts:23 src/views/config/InspectConfig.vue:33
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/notification/notificationColumns.tsx:22
 #: src/views/preference/components/AddPasskey.vue:82
 #: src/views/preference/components/AddPasskey.vue:82
@@ -3884,6 +4184,16 @@ msgid ""
 "codes."
 "codes."
 msgstr "當您生成新的復原代碼時,必須下載或列印新的代碼。"
 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:37
 #: src/views/dashboard/ServerAnalytic.vue:373
 #: src/views/dashboard/ServerAnalytic.vue:373
 msgid "Writes"
 msgid "Writes"
@@ -3897,8 +4207,8 @@ msgstr "將憑證私鑰寫入磁碟"
 msgid "Writing certificate to disk"
 msgid "Writing certificate to disk"
 msgstr "將憑證寫入磁碟"
 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/AuthSettings.vue:163
 #: src/views/preference/CertSettings.vue:72
 #: src/views/preference/CertSettings.vue:72
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96
 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96

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

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

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

@@ -48,7 +48,7 @@ const cpuUsage = computed(() => {
               <FundProjectionScreenOutlined />
               <FundProjectionScreenOutlined />
             </div>
             </div>
             <div class="text-base font-medium">
             <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>
             </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')">
             <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" />
               <InfoCircleOutlined class="ml-1 text-gray-500" />