एडवांस्ड सर्वर प्रबंधन और अनुकूलन मार्गदर्शिका
1. सर्वर प्रदर्शन ट्यूनिंग
कर्नेल-स्तरीय अनुकूलन
-
कस्टम-ट्यून कर्नेल: Linux 6.x बीबीआर2 कंजेशन कंट्रोल के साथ
-
TCP स्टैक संशोधन:
# TCP अधिकतम बफर आकार बढ़ाएँ echo 'net.core.rmem_max=4194304' >> /etc/sysctl.conf echo 'net.core.wmem_max=4194304' >> /etc/sysctl.conf
-
स्वैपिनेस समायोजन: डेटाबेस सर्वरों के लिए 10 पर सेट
डेटाबेस अनुकूलन
-
MySQL 8.0+ के लिए विशिष्ट:
SET GLOBAL innodb_buffer_pool_size=12G; -- 16GB RAM सर्वरों के लिए SET GLOBAL innodb_io_capacity=2000; -- SSD/NVMe स्टोरेज के लिए
-
PostgreSQL 14+ ट्यूनिंग:
ALTER SYSTEM SET shared_buffers = '4GB'; ALTER SYSTEM SET effective_cache_size = '12GB';
2. उन्नत सुरक्षा कॉन्फ़िगरेशन
जीरो-ट्रस्ट कार्यान्वयन
-
नेटवर्क विभाजन:
-
सख्त इनग्रेशन नियमों के साथ DMZ में फ्रंटेंड सर्वर
-
व्हाइटलिस्टेड IP के साथ प्राइवेट VLAN में डेटाबेस सर्वर
-
-
सेवा-से-सेवा प्रमाणीकरण:
-
आंतरिक संचार के लिए म्यूचुअल TLS (mTLS)
-
पहचान प्रबंधन के लिए SPIFFE/SPIRE
-
रनटाइम सुरक्षा:
# रनटाइम सुरक्षा के लिए Falco स्थापित और कॉन्फ़िगर करें
curl -s https://falco.org/repo/falcosecurity-3672BA8F.asc | apt-key add -
echo "deb https://download.falco.org/packages/deb stable main" | tee -a /etc/apt/sources.list.d/falcosecurity.list
apt-get update && apt-get install -y falco
3. कंटेनर और ऑर्केस्ट्रेशन सेटअप
Kubernetes अनुकूलन
# प्रोडक्शन-ग्रेड K8s मैनिफेस्ट स्निपेट
apiVersion: apps/v1
kind: Deployment
spec:
template:
spec:
containers:
- name: app
resources:
limits:
cpu: "2"
memory: "4Gi"
requests:
cpu: "1"
memory: "2Gi"
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
सर्विस मेष कॉन्फ़िगरेशन
# Istio अनुकूलित सेटिंग्स
istioctl install --set profile=default \
--set values.global.proxy.resources.limits.cpu=2000m \
--set values.global.proxy.resources.limits.memory=1024Mi
4. CI/CD पाइपलाइन एकीकरण
GitOps वर्कफ़्लो
// शून्य-डाउनटाइम डिप्लॉयमेंट के लिए Jenkinsfile उदाहरण
pipeline {
stages {
stage('Deploy') {
steps {
sh 'kubectl apply -f k8s/ --prune -l app=myapp'
timeout(time: 15, unit: 'MINUTES') {
input message: 'उत्पादन स्वीकृत करें?'
}
}
}
}
post {
failure {
slackSend channel: '#alerts', message: "बिल्ड ${currentBuild.number} विफल रहा!"
}
}
}
5. मॉनिटरिंग स्टैक डिप्लॉयमेंट
प्रेक्षण सूट
# Prometheus + Grafana + Loki स्टैक version: '3' services: prometheus: image: prom/prometheus:v2.40.0 command: - '--config.file=/etc/prometheus/prometheus.yml' volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml grafana: image: grafana/grafana:9.3.2 ports: - "3000:3000"
कस्टम मेट्रिक्स संग्रहण
# कस्टम बिजनेस मेट्रिक्स के लिए पायथन एक्सपोर्टर का नमूना
from prometheus_client import start_http_server, Gauge
import random
REQUEST_LATENCY = Gauge('app_request_latency', 'मिलिसेकंड में एप्लिकेशन विलंबता')
if __name__ == '__main__':
start_http_server(8000)
while True:
REQUEST_LATENCY.set(random.randint(1, 100))
6. डिजास्टर रिकवरी प्रोटोकॉल
स्वचालित फेलओवर परीक्षण
# कैओस इंजीनियरिंग स्क्रिप्ट
#!/bin/bash
# लचीलापन जांचने के लिए नोड्स को यादृच्छिक रूप से समाप्त करें
NODES=$(kubectl get nodes -o jsonpath='{.items[*].metadata.name}')
TARGET=$(shuf -e -n1 $NODES)
echo "नोड $TARGET को समाप्त कर रहा हूँ"
gcloud compute instances delete $TARGET --zone=us-central1-a
7. एज कंप्यूटिंग एक्सटेंशन
एडवांस्ड CDN नियम
// एज लॉजिक के लिए Cloudflare Workers स्क्रिप्ट
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url)
if (url.pathname.startsWith('/api/')) {
return new Response('एज पर ब्लॉक किया गया', { status: 403 })
}
return fetch(request)
}
8. लागत अनुकूलन रणनीतियाँ
स्पॉट इंस्टेंस ऑटोमेशन
# AWS Spot Fleet कॉन्फ़िगरेशन resource "aws_spot_fleet_request" "workers" { iam_fleet_role = "arn:aws:iam::123456789012:role/spot-fleet" target_capacity = 10 allocation_strategy = "diversified" launch_specification { instance_type = "m5.large" ami = "ami-123456" spot_price = "0.05" } }