Zrychlete PAC, aniž byste změnili jeho odpovědi
Zachovejte překrývající se výjimky a pořadí záložních tras a snižte zbytečnou práci při vyhodnocování PAC.
„Dejte běžný případ na první místo“ je pro soubor PAC neúplná rada. První return rozhodnutí ukončí. Když se pravidla překrývají, jejich pořadí je součástí politiky směrování.
Uvažujme privátní proxy pro jednu službu a přímou trasu pro zbytek její domény:
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';
}Názvy jsou příklady. Přesunutí široké kontroly přípony nad výjimku přesného hostitele pošle omezenou službu přímo. Skript může být kratší nebo rychlejší, a přitom dělat špatnou věc.
Seskupte podmínky, aniž ztratíte prioritu
Když je velký seznam skutečně množinou přesných názvů hostitelů stejné úrovně s jediným výsledkem, vhodná vyhledávací struktura může být jasnější než opakované kontroly vzorů. Tuto ekvivalenci je nutné nejprve prokázat. Přesný název, wildcard a pravidlo rozsahu adres automaticky do jedné zaměnitelné množiny nepatří.
Stejně tak odstranění www. je změnou politiky, pokud oba názvy záměrně používají různé trasy. Optimalizace porovnání řetězců by neměla tiše předefinovat cíl.
Odstraňte drahou práci, kterou rozhodnutí nepotřebuje
Kontrola rovnosti názvu hostitele nevyžaduje DNS. Překládejte jen tehdy, když zbývající politika potřebuje adresu, a vyhněte se opakování stejného vyhledávání v rámci jednoho vyhodnocení, kde podporované prostředí PAC umožňuje opětovné použití.
Mějte u souboru malou sadu očekávaných rozhodnutí: konkrétní výjimku, sourozence pod širokou příponou, nesouvisející název hostitele a příslušné adresní literály. Porovnávejte vrácenou trasu a pořadí záložních položek, ne jen to, zda se JavaScript parsuje. Když se tyto výsledky shodují, ověřte, že prohlížeč načetl revidovaný PAC.
Zlepšení výkonu je přesvědčivé, když stejné případy zachovají zamýšlené trasy a zbytečná práce zmizí. Široké zkratky DIRECT mohou zpoždění odstranit, zatímco mění výstupní IP.