فایل PAC را سریعتر کنید بدون تغییر پاسخهایش
استثناهای همپوشان و ترتیب مسیرهای جایگزین را حفظ کنید و کار ارزیابی غیرضروری PAC را کم کنید.
«حالت رایج را اول بگذارید» برای یک فایل PAC توصیهای ناقص است. نخستین return تصمیم را پایان میدهد. وقتی قواعد همپوشانی دارند، ترتیب آنها بخشی از سیاست مسیر است.
یک پروکسی خصوصی برای یک سرویس و مسیری مستقیم برای بقیه دامنه آن در نظر بگیرید:
function FindProxyForURL(url, host) {
host = host.toLowerCase();
if (host === 'restricted.example.net') {
return 'PROXY proxy.example.net:8080';
}
if (dnsDomainIs(host, '.example.net')) {
return 'DIRECT';
}
return 'PROXY proxy.example.net:8080';
}نامها نمونهاند. جابهجا کردن بررسی گسترده پسوند به بالای استثنای میزبان دقیق، سرویس محدودشده را مستقیم میفرستد. اسکریپت ممکن است کوتاهتر یا سریعتر شود در حالی که کار اشتباه را انجام میدهد.
شرطها را بدون از دست دادن اولویت گروهبندی کنید
وقتی یک فهرست بزرگ واقعاً مجموعهای از نامهای میزبان دقیق با رتبه یکسان و یک نتیجه است، ساختار جستوجوی مناسب میتواند از بررسیهای مکرر الگو روشنتر باشد. این همارزی باید نخست اثبات شود. یک نام دقیق، یک wildcard و یک قاعده بازه نشانی بهطور خودکار به یک مجموعه قابلتبدیل تعلق ندارند.
به همین ترتیب، حذف www. تغییری در سیاست است اگر دو نام عمداً مسیرهای متفاوتی داشته باشند. بهینهسازی یک مقایسه رشتهای نباید مقصد را بیصدا بازتعریف کند.
کار پرهزینهای را که تصمیم به آن نیاز ندارد حذف کنید
بررسی برابری نام میزبان به DNS نیاز ندارد. فقط زمانی تفکیک کنید که سیاست باقیمانده به یک نشانی نیاز دارد، و از تکرار همان جستوجو در یک ارزیابی پرهیز کنید جایی که محیط PAC پشتیبانیشده استفاده مجدد را مجاز میداند.
مجموعه کوچکی از تصمیمهای انتظاری را کنار فایل نگه دارید: استثنای مشخص، یک همرده تحت پسوند گسترده، یک نام میزبان نامرتبط و مقادیر متنی نشانی مرتبط. مسیر بازگرداندهشده و ترتیب هر ورودی جایگزین را مقایسه کنید، نه فقط اینکه JavaScript تجزیه میشود. وقتی آن نتایج مطابقت کردند، بررسی کنید که مرورگر PAC بازنگریشده را بارگذاری کرده است.
بهبود کارایی وقتی قانعکننده است که همان موارد مسیرهای موردنظر خود را حفظ کنند و کار ارزیابی غیرضروری ناپدید شود. میانبرهای گسترده DIRECT میتوانند تأخیر را محو کنند در حالی که IP خروجی را تغییر میدهند.