VPN సర్వర్ లోడ్ వివరణ: వినియోగదారులు, CPU లేదా అప్లింక్?
తక్కువ లోడ్ స్కోర్ అంటే నిష్క్రియ వినియోగదారులు, మిగిలిన CPU లేదా విశాలమైన అప్లింక్ కావచ్చు. దాన్ని వేగవంతమని పిలిచే ముందు loadavg, ఇంటర్ఫేస్ కౌంటర్లు మరియు స్థితి ఫైల్ చదవండి.
0.4 లోడ్పై ఉన్న గేట్వే తన వెనుక ఉన్న ప్రతి వినియోగదారుకు ఇప్పటికీ నెమ్మదిగా సాగవచ్చు. సగటు లోడ్ అనేది అమలు చేయగల లేదా అంతరాయం లేని నిద్రలో చిక్కుకున్న పనులను లెక్కిస్తుంది, మరియు నాలుగు కోర్ల హోస్ట్పై ఒకే సంతృప్త ప్రక్రియ దాన్ని 1.0 వైపు నెట్టడానికి సరిపోతుంది, అప్పుడు మూడు కోర్లు నిరుపయోగంగా కూర్చుంటాయి. ఆ సంఖ్యను నిల్వగా చదవడం ఎండ్పాయింట్ ఎంపికలో అత్యంత సాధారణ పొరపాటు. టన్నెల్ను నిజంగా పరిమితం చేసేది సాధారణంగా నాలుగింటిలో ఒకటి: ఒక బిజీ కోర్, అప్లింక్, దాని ముందున్న క్యూ లేదా ఎవరూ పత్రరూపం చేయని ఒక సెషన్ విధానం.
సగటు లోడ్ పనులను లెక్కిస్తుంది, పనితీరును కాదు
కర్నెల్ రన్ క్యూ మరియు ఇన్పుట్-అవుట్పుట్ కోసం నిరీక్షిస్తున్న పనుల సంఖ్య నుండి నమూనాలు తీసుకుని, తర్వాత రెండింటినీ ఒక, ఐదు మరియు పదిహేను నిమిషాల్లో సమతలం చేస్తుంది. ఆ నిర్వచనంలో బైట్లు, ప్యాకెట్లు లేదా టన్నెళ్ల గురించి ఏమీ లేదు. నిల్వ చిక్కుకున్న హోస్ట్ దాదాపు ట్రాఫిక్ లేకుండా అధిక లోడ్ నివేదించవచ్చు, మరియు కర్నెల్ డేటా మార్గం ద్వారా గిగాబిట్ నెట్టే హోస్ట్ సౌకర్యవంతమైన లోడ్ నివేదించవచ్చు.
అందువల్ల లోడ్ను టన్నెల్ పనితీరుతో అనుసంధానించడానికి ప్రతి కోర్ దృశ్యం అవసరం. ఒక కోర్ పూర్తిగా నిండినా, డాష్బోర్డ్లో మొత్తం శాతం ఇప్పటికీ బాగానే కనిపిస్తుంది:
cat /proc/loadavg
mpstat -P ALL 1 1
top -H -b -n 1 | head -n 20
మూడవ ఆదేశం VPN హోస్ట్లపై అత్యంత ముఖ్యమైనది. OpenVPN 2.x లో వినియోగదారు స్థలంలో ప్యాకెట్ ప్రాసెసింగ్ ఎక్కువగా ప్రతి ప్రక్రియకు క్రమానుగతం, కాబట్టి ఒకే బిజీ థ్రెడ్ పైకప్పు కావచ్చు, అప్పుడు డాష్బోర్డ్ సమృద్ధిగా ఖాళీ సామర్థ్యాన్ని నివేదిస్తుంది. మీ నెమ్మదిగా ఉన్న కాలంలో ఒక థ్రెడ్ కోర్లో ఎక్కువ భాగాన్ని పట్టుకుంటే, హోస్ట్ మొత్తంగా తక్కువ సన్నద్ధం కాలేదు; అది యాదృచ్ఛికంగా ముఖ్యమైన పరిమాణంలో పరిమితమైంది.
సమయాన్ని కూడా గమనించండి. పదిహేను నిమిషాల సగటులు కాల్ను పాడు చేసిన పేలుడును దాచుతాయి, కాబట్టి ఫిర్యాదు తర్వాత తీసిన స్క్రీన్షాట్ బలహీనమైన సాక్ష్యం. సమస్య సమయంలో నమూనాలు తీసుకోండి, మరియు అవుట్పుట్తో సమయ ముద్రను ఉంచండి.
అప్లింక్ మరియు దాని ముందున్న క్యూ
ఇంటర్ఫేస్ కౌంటర్లు CPU సంఖ్యలు సమాధానం చెప్పలేని బ్యాండ్విడ్త్ ప్రశ్నకు సమాధానం చెబుతాయి. అవి సామర్థ్యాన్ని నష్టం నుండి కూడా వేరు చేస్తాయి, ఇవి వేర్వేరు పరిష్కారాలున్న వేర్వేరు వైఫల్యాలు:
ip -s link show dev eth0
tc -s qdisc show dev eth0
nstat -az TcpRetransSegs TcpExtTCPLostRetransmit
మీ పరీక్ష సమయంలో తనకు కేటాయించిన వేగానికి దగ్గరగా ఉన్న లింకే వివరణ, మరియు మిగిలిన CPU ఎంత ఉన్నా దాన్ని మార్చదు. qdisc పంక్తి ఇంటరాక్టివ్ ట్రాఫిక్కు ముఖ్యమైన వివరాన్ని జోడిస్తుంది: బ్యాక్లాగ్ మరియు డ్రాప్లు ప్యాకెట్లు బయలుదేరే ముందు క్యూలో నిరీక్షిస్తున్నాయా అని చెబుతాయి. పెద్ద అప్లోడ్ కింద నిండే క్యూ, ప్రజలు దూర సర్వర్పై నింద వేసే లక్షణాన్నే ఉత్పత్తి చేస్తుంది, అంటే బెంచ్మార్క్లలో ఇప్పటికీ బాగా కనిపించే కనెక్షన్పై నెమ్మదైన కాల్స్.
పునఃప్రసార కౌంటర్లు ప్యాకెట్లు బయలుదేరి కానీ ఎప్పుడూ శుభ్రంగా చేరని స్థితిని పట్టుకుంటాయి. నెమ్మదైన విండోలో పునఃప్రసారాలు పెరిగి, ఇంటర్ఫేస్ సామర్థ్యానికి దగ్గరగా లేకుంటే, సమస్య హోస్ట్పై కాదు మార్గంలో ఉంది, అదే నగరంలో మరో ఎండ్పాయింట్కు మారడం సహాయపడదు.
సెషన్ సంఖ్య డిమాండ్ను వివరిస్తుంది, నిల్వను కాదు
ప్రతి పబ్లిక్ డైరెక్టరీ కొంత సంఖ్యలో కనెక్ట్ అయిన వినియోగదారులను చూపుతుంది, వాటిలో దాదాపు ఏదీ ఆ వినియోగదారులు ఏమి చేస్తున్నారో చెప్పదు. ఇంటరాక్టివ్ పని చేస్తున్న ఇరవై సెషన్లు మరియు పెద్ద ఫైళ్లను లాగుతున్న నాలుగు సెషన్లు ఒకే హార్డ్వేర్పై చాలా భిన్నమైన లోడ్లను సృష్టిస్తాయి. రెండవ నమూనా వినియోగదారుల సంఖ్యలో కనిపించదు, అదే ఒక సాయంత్రాన్ని పాడు చేస్తుంది. కాబట్టి సెషన్ సంఖ్యను డిమాండ్కు సూచనగా చదవడం ఉత్తమం, ఎప్పుడూ ఖాళీ సామర్థ్యం గురించిన ప్రకటనగా కాదు.
| Number on the page | What it is really measuring | What it cannot tell you |
|---|---|---|
| Connected users | How many sessions hold an address | How much each one is transferring |
| Load or score | Whatever the operator chose to publish | Whether that definition matches your task |
| Uptime | How long since the process started | Current capacity, queue depth or packet loss |
| Distance or ping | Round-trip time on a small probe | Throughput under sustained transfer |
మీరు నియంత్రించే హోస్ట్పై, స్థితి ఫైల్ తప్పిపోయిన పరిమాణాన్ని ఇస్తుంది. OpenVPN ప్రతి క్లయింట్కు బైట్ కౌంటర్లను కలిగి ఉన్న కాలానుగుణ స్నాప్షాట్ను రాస్తుంది, ఒకే సెషన్ మొత్తం అప్లింక్కు బాధ్యత వహిస్తుందా అని చూడటానికి అది సరిపోతుంది:
status /run/openvpn/server.status 10
# then, after at least one interval
grep -E "^CLIENT_LIST" /run/openvpn/server.status
పది సెకన్ల విరామంతో తీసిన రెండు నమూనాలు ఆ సంచిత గణనలను ప్రతి క్లయింట్కు రేటుగా మారుస్తాయి. వినియోగదారుల సంఖ్య దానికి బదులుగా నిలిచే కొలత అదే, అదే విధంగా తప్పుగా కాన్ఫిగర్ చేసిన ఒక క్లయింట్ ప్రతి రాత్రి అదే గంటకు లింక్ను నింపుతుందని కూడా కనుగొంటారు.
ప్రతి సెషన్ పరిమితులు విధానంలో దాగి ఉంటాయి
సర్వర్ నిష్క్రియంగా ఉండి కూడా మీకు బ్యాండ్విడ్త్ ఇవ్వడానికి నిరాకరించవచ్చు. రేటు పరిమితులు, ప్రతి క్లయింట్ బ్యాండ్విడ్త్ పరిమితులు మరియు ట్రాఫిక్ ఆకృతీకరణ సాధారణంగా సాధారణ పేరు లేదా పూల్ ప్రకారం వర్తిస్తాయి, కాబట్టి ఒకే గేట్వేపై ఇద్దరు వినియోగదారులు చాలా భిన్నమైన ఫలితాలు పొందవచ్చు. యంత్రాంగం సూక్ష్మం కాదు, కానీ రెండు సందర్భాల్లోనూ టన్నెల్ సాధారణంగా లేచే కారణంగా బయటి నుండి కనిపించదు.
ఆకృతీకరణను టన్నెల్ ఇంటర్ఫేస్పై వెతకండి, భౌతిక దానిపై కాదు. పరిమితి వినియోగదారుని, ధృవపత్రాన్ని లేదా చిరునామా పూల్ను అనుసరిస్తుందా అని తనిఖీ చేయండి. మీ పరీక్ష ఖాతా పరిమితి లేని పూల్లో పడితే, సర్వర్ బాగుంది మరియు ఫిర్యాదు చేస్తున్న వినియోగదారు తప్పు అని మీరు నిర్ధారించుకుంటారు. ఆ నిర్ధారణ ఏ నిర్ధారణ కంటే అధ్వాన్నం, ఎందుకంటే అది టికెట్ను మూస్తుంది.
ఒక స్థిరమైన పనితో రెండు ఎండ్పాయింట్లను పోల్చండి
క్లయింట్ వైపు ప్రయోగం ఇప్పటికీ చేయదగినది, కానీ చరరాశులు స్థిరంగా ఉంటే మాత్రమే. అదే పరికరం, అదే యాక్సెస్ నెట్వర్క్, అదే ప్రోటోకాల్ మరియు అదే గమ్యస్థాన ఫైల్ ఉపయోగించి, తర్వాత పోలిన దూరంలో ఉన్న రెండవ ఎండ్పాయింట్కు వ్యతిరేకంగా పునరావృతం చేయండి. పరుగుల మధ్య మారే ఏదైనా, రోజులోని సమయంతో సహా, ఫలితాన్ని కలుషితం చేస్తుంది.
వైఫల్యాలను విజయాలంత జాగ్రత్తగా నమోదు చేయండి. మూడు ఎండ్పాయింట్లు పనిచేసి ఒకటి సమయ పరిమితికి చేరుకునే శ్రేణి నాలుగు వేగ సంఖ్యల కంటే ఎక్కువ సమాచారం ఇస్తుంది, ఎందుకంటే అది సామర్థ్యం కాదు మార్గం లేదా విధాన సమస్యను చూపుతుంది. ప్రతి కేసును కనీసం రెండుసార్లు అమలు చేయండి; పంచుకున్న నెట్వర్క్లో ఒకే నెమ్మదైన నమూనా ఏమీ నిరూపించదు.
చివరగా, మీరు సేకరించిన సంఖ్యలను అవి మద్దతిచ్చే వాదనతో పాటు ఉంచండి. "ఈ ఎండ్పాయింట్ మరొకటి నిలిచిపోయిన అదే విండోలో బదిలీని పూర్తి చేసింది" అనేది సమర్థించదగినది, కానీ "ఈ ఎండ్పాయింట్ వేగంగా ఉంది" అనేది హోమ్పేజీ స్కోర్తో గెలవలేని చర్చకు ఆహ్వానం పలుకుతుంది. OpenVPN 2.6 మాన్యువల్ స్థితి ఫైల్ మరియు ఆకృతీకరణ ఎంపికలను పత్రరూపం చేస్తుంది, మీకు హోస్ట్ వైపు ఖచ్చితమైన సూచనలు కావాలంటే.