મર્યાદિત સમવર્તીતા સાથે પ્રોક્સી સૂચિ તપાસો
પ્રોક્સી તપાસની સમવર્તીતા મર્યાદિત કરો અને દરેક તપાસે લક્ષ્ય વેબસાઇટ માટે ખરેખર શું સાબિત કર્યું તે નોંધો.
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 ઉમેરે છે. એક્ઝિટ સરનામું ગંતવ્ય-બાજુનું બીજું નિરીક્ષણ છે, ગોઠવાયેલ પ્રવેશથી અલગ.
મર્યાદિત કાર્ય તપાસકર્તાને માર્ગ મૂલ્યાંકન કરતાં પહેલાં પોતાના સોકેટ, મેમરી કે શેડ્યુલર ખાલી કરતું અટકાવે છે. તબક્કાવાર પરિણામ પસંદગી નીતિ માટે ઉપયોગી રહે છે, એક સફળ ગંતવ્ય એન્ડપોઇન્ટને સર્વત્ર સારું બનાવે છે તેવું દર્શાવ્યા વિના.