نماد سایتنماد سایت بلاگ ایران هاست

نکاتی برای کاهش زمان لود صفحه

در سالهای اخیر  تعداد سایت هایی که به منظور کاهش زمان تاخیر از تکنولوژی ajax استفاده می کنند افزایش پیدا کرده است. با این قابلیت مرورگر layout صفحه را سریع تر لود کرده و میزان اطلاعات واکشی شده ی مربوط به کدهای HTML, XML, javascript سریع تر بازیابی و زمان نمایش صفحه به بازدیدکننده کاهش پیدا خواهد کرد.

به هر حال این کار زمان بین کلیک کاربر و پردازش انجام شده توسط مرورگر را کاهش می دهد. در برخی سایت ها به دلیل وجود منابع زیاد مانند آبجکت های خارجی ،  زمان لود صفحه میان تصاویر،javascript و stylesheets تقسیم می شود. در این حالت ajax می تواند موثر باشد ولی افزایش سرعت و حذف درخواست های http بی تاثیر نخواهد بود.

مواردی که در زمان لود صفحه موثر هستند به شرح زیر می باشند :

امکان HTTP pipelining در مرورگرهای IE, Firefox, Safari   به طور پیش فرض غیرفعال می باشد و تنها در مرورگر opera فعال است.این قابلیت باعث می شود تا به request ها به صورت همزمان پاسخ داده شود.

بیشتر اتصالات اینترنتی کابلی یا dsl ، دارای پهنای باند نامتقارن هستند.نسبت  دانلود به آپلود در محدوده ی ۵:۱ to 20:1 می باشد. این یعنی برای کاربران شما درخواست های ارسالی با میزان پاسخ های ارسالی ۵۰ تا ۲۰ برابر اندازه درخواست است. درخواست ها معمولا در حد ۵۰۰ بایت هستند و این بر روی اشیایی که کمتر از ۲.۵ کیلوبایت هستند موثر است این یعنی استفاده از اشیا با این اندازه باعث کاهش سرعت لود صفحه می شود.

اندازه گیری پهنای باند موثر کاربران شما:

اندازه گیری این پهنای باند برای کاربران در سایت شما به راحتی قابل انجام است و اگر پهنای باند موثر کمتر از پهنای باند Downstream باشد تلاش برای تقویت آن ارزشمند خو.اهد بود.

قبل از اینکه در صفحه ی خود اشیا اضافی تعریف کنید img src=”…”>, <link rel=”stylesheet” href=”…”>, <script src=”…”>, etc  زمان جاری را جایی یادداشت کنید و زمانی صفحه لود شد ، زمان جدید را از  زمان شروع کم کنید.

کد جاوا اسکریپت مربوطه در زیر آمده است :

html>

<head>

<title>…</title>

<script type=”text/javascript”>

<!–

var began_loading = (new Date()).getTime();

function done_loading() {

 (new Image()).src = ‘/timer.gif?u=’ + self.location + ‘&t=’ +

  (((new Date()).getTime() – began_loading) / 1000);

}

// –>

</script>

<!–

Reference any external javascript or stylesheets after the above block.

// –>

</head>

<body onload=”done_loading()”>

<!–

Put your normal page content here.

// –>

</body>

</html>

خروجی این کد مشابه زیر است :

۱۰.۱.۲.۳ – – [۲۸/Oct/2006:13:47:45 -0700] “GET /timer.gif?u=http://example.com/page.html&t=0.971 HTTP/1.1” ۲۰۰ ۴۹ …

در این مثال آدرس example.com/page.html زمانی معادل ۰.۹۷۱ را اشغال می کند. بنابراین پهنای باند موثر برای این صفحه  معادل ۴۷۶۵۵۶ بیت در ثانیه (۵۷۸۴۲ bytes * 8) می شود.

نکته ای جهت کاهش زمان لودینگ صفحه :

عبارت HTTP keepalives را در حالت on قرار دهید  در غیر اینصورت یک مرحله ی  اضافی به فرآیند TCP three-way handshake در هر درخواست http اضافه کرده اید.

ادامه دارد . . . . . . .

 منبع :

 die.net

خروج از نسخه موبایل