var options = new ParallelOptions
{
    MaxDegreeOfParallelism = 8,
    CancellationToken = cancellationToken
};
await Parallel.ForEachAsync(endpoints, options,
    async (endpoint, token) =>
    {
        var result = await ProbeAsync(endpoint, target, token);
        observations.Add(result);
    });

ഓരോ എൻഡ്പോയിന്റിനും വെവ്വേറെ ടാസ്ക് ആരംഭിക്കുന്നതിനു പകരം പരിമിതമായ തൊഴിലാളി കൂട്ടം ഉപയോഗിക്കുക. അനുവദനീയമായ പൊതു ലക്ഷ്യങ്ങൾക്കെതിരെയുള്ള പരിശോധനകൾക്ക് സൗജന്യ പ്രോക്സി പട്ടിക സ്ഥാനാർത്ഥി വരികൾ നൽകുന്നു; പ്രോബ് നിർമ്മിക്കുമ്പോൾ ഓരോ എൻട്രിയുടെയും പ്രോട്ടോക്കോൾ നിലനിർത്തുക. ഈ .NET ഷെഡ്യൂളിംഗ് ഭാഗം പ്രോക്സി അറിയുന്ന ProbeAsync ഉം ത്രെഡ്-സുരക്ഷിതമായ observations ശേഖരിക്കുന്നയാളും അനുമാനിക്കുന്നു. എട്ട് എന്നത് ഒരു ഉദാഹരണ പരിധിയാണ്, അളന്ന നിർവചിച്ച മികച്ച മൂല്യമല്ല. പ്രോബിന് ഇപ്പോഴും ഓരോ ശ്രമത്തിനും പരിധികളും മുഴുവൻ ജോലിയുടെയും റദ്ദാക്കലും ആവശ്യമാണ്.

പൂർത്തീകരണ ക്രമം വ്യത്യസ്തമായാലും പൂർത്തിയായ ഓരോ ഫലവും അതിന്റെ ഇൻപുട്ടിനൊപ്പം സൂക്ഷിക്കുക. പ്രോട്ടോക്കോൾ, എൻഡ്പോയിന്റ്, ലക്ഷ്യം, രീതി, കടന്നുപോയ സമയം, ഫലം എന്നിവ രേഖപ്പെടുത്തുക. കണക്ഷൻ പരാജയം, പ്രോക്സി ലോഗിൻ നിരസിക്കൽ, നിരസിക്കപ്പെട്ട CONNECT, സൈറ്റിൽ നിന്ന് ലഭിച്ച പ്രതികരണം എന്നിവ വ്യത്യസ്ത നിരീക്ഷണങ്ങളാണ്.

TCP പോർട്ട് തുറക്കുന്നത് പ്രോക്സി ചർച്ച തെളിയിക്കുന്നില്ല. പ്രോക്സി വിലാസം ഒരു വെബ്സൈറ്റായി എടുക്കുന്നതും ലക്ഷ്യം അഭ്യർത്ഥിക്കാൻ അത് ഉപയോഗിക്കുന്നതിൽ നിന്ന് വ്യത്യസ്തമാണ്.

ആവശ്യമായ കഴിവിനനുസരിച്ച് ലക്ഷ്യവും രീതിയും തിരഞ്ഞെടുക്കുക. HEAD ബോഡി ട്രാഫിക് ലാഭിക്കാം, പക്ഷേ GET ഉപയോഗപ്രദമായ ഉള്ളടക്കം നൽകുന്നു എന്ന് തെളിയിക്കുന്നില്ല; ഒരു സൈറ്റ് ഒന്ന് നിരസിച്ച് മറ്റൊന്ന് അനുവദിച്ചേക്കാം. HTTPS സാധാരണ HTTP-യിൽ ഇല്ലാത്ത CONNECT-ഉം ലക്ഷ്യ TLS-ഉം ചേർക്കുന്നു. എക്സിറ്റ് വിലാസം ക്രമീകരിച്ച പ്രവേശനത്തിൽ നിന്ന് വേറിട്ട, ലക്ഷ്യ-ഭാഗത്തെ മറ്റൊരു നിരീക്ഷണമാണ്.

പരിമിതമായ ജോലി പരിശോധകൻ പാത വിലയിരുത്തുന്നതിന് മുൻപ് സ്വന്തം സോക്കറ്റുകളോ മെമ്മറിയോ ഷെഡ്യൂളറോ തീർക്കുന്നത് തടയുന്നു. ഒരു വിജയകരമായ ലക്ഷ്യം എൻഡ്പോയിന്റിനെ സർവ്വത്ര നല്ലതാക്കുന്നു എന്ന് അഭിനയിക്കാതെ ഘട്ടം ഘട്ടമായുള്ള ഫലം തിരഞ്ഞെടുപ്പ് നയത്തിന് ഉപയോഗപ്രദമായി തുടരുന്നു.

അനുബന്ധ ലേഖനങ്ങൾ