Паскарміце 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.