|
Я не буду вдаватися в подробиці про інші, давайте одразу перейдемо до теми. Коли користувач вводить доменне ім'я і повертає автомобіль назад, система Windows викликає DNS-клієнт, щоб знайти DNS-IP, налаштовану або автоматично призначену користувачем, і тоді починається весь процес розв'язання. Чи має сенс роздільна здатність DNS, щоб бути швидшим? Так, хе-хе, багато невеликих сайтів мають час розв'язання DNS близько 0,5 секунди, і я навіть бачив сайт, де результати обробляються за 1,2 секунди. Це дуже несподівана статистика, адже при загальному часі відкритості сайту понад 8 секунд користувачі ось-ось втратять доступ, а для інтернет-комерції 4s — це межа терпіння користувача. Загалом, для оптимізованих малих вебсайтів час роздільної здатності DNS можна контролювати приблизно на рівні 200 мс, тоді як для сайтів із пропускною здатністю близько 100 М час розв'язання DNS можна контролювати на рівні 50-100 мс. Як оптимізувати? ПередусімСкористайтеся TTLОскільки потрібно дозволити користувачам максимально отримувати записи A безпосередньо з DNS-кешу оператора, щоб забезпечити найшвидше обслуговування, а також гарантувати, що у випадку проблеми сервера потрібно якнайшвидше переключатися, тому ця налаштування TTL також має деякі ситуації, які потрібно комплексно вивчати. 1. Ви повинні знати, чи має ваш сервер кілька або резервних копій. Якщо немає резервного копіювання, коли сервер виходить з ладу, ви можете лише чинити опір, тому чим довше у вас буде час TTL, тим краще, бо мета короткого TTL — переключитися вчасно, коли на сервері виникають проблеми, що фактично не використовується для сайтів без резервної копії. Отже, твій TTL-режим максимально довгий, звісно, не може бути нескінченно довгим, зазвичай TTL 3600 достатньо. 2. Якщо є резервне копіювання або кілька серверів, це станеться, коли сервер не працює і його потрібно вчасно перемикати; чим коротший час TTL, тим своєчасніше перемикання, але чим коротший — це означає, що DNS оператора часто не кешується, звичайні користувачі встановіть TTL 600, якщо для своєчасного перемикання, особливо вимогливих сайтів — встановити TTL 120. По-друге, пошукДосить гарячі резолвери доменних імен。 Багато сайтів створюють власні сервери для розв'язання доменних імен, що зручно контролювати себе, але це велика помилка, бо ваш сервер розв'язання доменних імен фактично не кешується, і кожного разу, коли ви запитуєте з кореневого сервера, він обходить більшу частину світу, перш ніж дати кінцевий результат, який природно буде дуже неефективним. Тож шукайте достатньо популярний розв'язувач доменних імен. Найцікавіше те, що його відвідують дуже часто. Якщо він достатньо гарячий, запис A сервера розв'язання доменних імен фактично кешується DNS локального оператора. Як визначити, чи достатньо популярний розв'язувач доменних імен? Насправді це дуже просто — перевірити, чи достатньо у розв'язувача доменних імен клієнтів, чи достатньо популярний їхній сайт і чи достатньо відвідувачів. Я також рекомендую кращий спосіб — знайти постачальника CDN для розв'язання доменних імен. Оскільки багато клієнтів, яких обслуговують виробники CDN, дуже популярні та мають велику базу користувачів, сервісний ефект серверів розділення доменних імен цих постачальників CDN є хорошим. Нарешті, просунуті техніки---Майстерно користуйтеся CNAME。 Багато власників сайтів керують багатьма невеликими сайтами на одному сервері або серверах; Або запустіть сайт самостійно, але розділіть багато доменів другого рівня. У відповідь на такі ситуації надзвичайно необхідно ефективно використовувати CNAME і переносити всі домени або домени другого рівня цих невеликих вебсайтів у єдине доменне ім'я, яке ви визначаєте. Потім встановіть TTL для цього cname достатньо довго. Таким чином, першу роздільну здатність сайту можна отримати безпосередньо з DNS-кешу оператора, тобто з запису після отримання cname. Потім другий CNAME-рекорд і встановив відносно розумне TTL-значення. Таким чином, доменне ім'я другого рівня нагрівається під прикриттям, а час розв'язання DNS максимізується шляхом нагрівання другого і першого рівня з достатньо тривалим часом кешування. Ця техніка повинна гарантувати, що IP, отримана останнім записом A, може обслуговувати ці оригінальні доменні імена. Приклад: www.abc.com. 7200 У CNAME hot.abc.com. hot.abc.com. 600 IN A 127.0.0.1 Що таке розділене доменне ім'я? Багато сайтів при створенні сайту просто подають заявку та купують доменне ім'я, і весь контент: зображення, js, css, html, php тощо — розміщується під одним доменом. Розділення доменних імен означає розділення доменних імен залежно від різних застосувань. Які переваги розділення доменного імені? Браузери, що використовують ядра IE6 та IE7, одночасно ініціюють лише 2 з'єднання для одного й того ж доменного імені. Браузери, що використовують ядро IE8, можуть одночасно ініціювати 6 з'єднань для одного й того ж доменного імені. Це важливо? Дуже важливо, дивіться діаграму. Використовуйте IE6, щоб відкрити вебсайт із усім контентом під одним доменним ім'ям
Використовуйте IE8, щоб відкрити вебсайт з усім контентом під одним доменним ім'ям
Ми бачимо, що у випадку IE6, який запитує сьомий елемент, це займає 0,7 секунди, тоді як у випадку IE8 0,277 починає просити сьомий елемент. Видно, що при більшій кількості одночасних з'єднань сторінка відкривається швидше.
З наведених вище даних видно, що кілька доменних імен, як у випадку IE6, так і IE8, розділення доменного імені робить сайт відкритим швидше. Те саме стосується й реальності: великі сайти, такі як Sina та Taobao, розділяють доменні імена. Крім того, необхідно виправити непорозуміння ІТ-фахівця. Оскільки ІТ-фахівці загалом зацікавлені в технологіях, у багатьох операційних систем та інші версії дуже нові, і вони використовують браузери IE8 або навіть новіші. Але в Китаї наразі кількість користувачів, які використовують IE6 та IE7, досі становить близько 80%. Отже, розділення доменного імені може фактично знизити швидкість відкриття більш ніж на 20%. Проста операція може принести значне покращення ефекту, тож чому б не зробити її? Звісно, деякі люди обов'язково запитають: розділення доменного імені призведе до проблеми недостатньої популярності та того, що DNS-кеш не зможе його втримати? Це питання, будь ласка, дивіться мій останній блог-пост, дає відповідь. Який принцип розділення доменного імені? Скільки підходить? Зазвичай вебсайти з об'ємом менше 50 млн можуть утримувати доменне ім'я на рівні 4 або 5, а надто великий діапазон ускладнить ваше обслуговування та використання. Для веб-сайтів нижче 100-500M доменне ім'я тримається приблизно на рівні 8-10. Для веб-сайтів вище 1G кількість доменних імен не має значення, зберігайте більше 10, а конкретна кількість визначається відповідно до їхніх бізнес-та управлінських характеристик. Який контент розміщений під одним і тим самим доменом? Класи сторінок: html, htm тощо Класи стилю: js, css тощо Зображення: jpg, png, gif тощо Динамічні класи: php, asp тощо Цей метод розподілу допоможе вам у майбутньому оптимізувати ваш сайт, а коли потрібно шукати інструменти для прискорення, ви також можете обрати різні методи прискорення.
|