PDA

View Full Version : افزایش حجم سایت بخاطر استفاده از آجاکس!!!



mojniknam
یک شنبه 05 اسفند 1386, 17:30 عصر
سلام خدمت دوستان
یه مشکل عجیب
سایتی ساختم که حجمش حدود 100 کیلو هست که از فناوری آجاکس توی اون استفاده کردم
هنگام اجرای برنامه متوجه شدم حجم سایت 800 کیلو شده
با بررسی فایل های لود شده سایت ، متوجه شدم 3 تا فایل که هرکدوم حدود 200 کیلو دارن و پسوند axd دارن ، لود میشن
آجاکس رو از سایتم حذف کردم و دیدم این سه فایل ازبین رفتن
مگه نمیگن استفاده از آجاکس سرعت رو افزایش میده
پس کجای کار من مشکل داشته؟؟؟
اینم آدرس سایت: www.DrDastgheib.com/default.aspx (http://www.DrDastgheib.com/default.aspx)
لطفا کمکم کنید

Behrouz_Rad
یک شنبه 05 اسفند 1386, 17:44 عصر
3 تا 200 کیلو بایت؟ یعنی 600 کیلو بایت؟
اون 3 تا فایل روی هم 78 کیلو بایت حجم دارند!
حجم لود اولیه ی سایتت مجموعا 340 کیلو بایت هست!

موفق باشید.

Aidin
دوشنبه 06 اسفند 1386, 07:14 صبح
مگه نمیگن استفاده از آجاکس سرعت رو افزایش میده
افزایش حجم در لود اولیه سایت دلیل بر کاهش سرعت کلی سایت نیست .
شما زمان لود اولیه رو در واقع فدای سرعت و کاهش زمان در بقیه سایت میکنید

E_Zabihi
دوشنبه 06 اسفند 1386, 08:58 صبح
بله دوست عزیز ، استفاده از محصول آماده AJAX Control Tookit بدلیل انعطاف پذیری بالای این محصول لو اولیه و حتی لودهای بعدی بسیار کندی داره و شما هم ناگزیر به قبول این هستید . معمولا هم برای سایتهایی که هیت بالایی دارند اصلا از محصولات آماده AJAX استفاده نمی شه حتی اگر هم بشه حتما Customize می شن و فقط قسمتهایی که توی پروژه بکار می ره ، می مونن و بقیه حذف می شن . استفاده از محصولات .net آماده مثل ATLAS (AJAX Control Toolit) , Anthem , ... برای پروژه های سریع با هیت کم و کاربر کم مناسبند اما نه برای همه پروژه ها چون واقعا روی Performance تاثیر زیادی دارند

anubis_ir
دوشنبه 06 اسفند 1386, 13:22 عصر
فقط بار اول که اسکریپت‌های اون load شود و در کلاینت کش شود کند است. بعد از کش شدن اسکریپت‌ها آنچنان فرقی ندارد.

mojniknam
سه شنبه 07 اسفند 1386, 10:06 صبح
3 تا 200 کیلو بایت؟ یعنی 600 کیلو بایت؟
اون 3 تا فایل روی هم 78 کیلو بایت حجم دارند!
حجم لود اولیه ی سایتت مجموعا 340 کیلو بایت هست!

موفق باشید.

فکر کنم شما نسخه اصلاح شده اون رو دیدین
نسخه ای با آجاکس نوشتمش آدرسش اینه
www.Drdastgheib.com/default.aspx (http://www.Drdastgheib.com/default.aspx)

Behrouz_Rad
سه شنبه 07 اسفند 1386, 10:18 صبح
فکر کنم شما نسخه اصلاح شده اون رو دیدین
نسخه ای با آجاکس نوشتمش آدرسش اینه
www.Drdastgheib.com/default.aspx (http://www.Drdastgheib.com/default.aspx)
نه دوست من.
Firebug نصب کن تا متوجه بشی.

موفق باشید.

DotNet_King
سه شنبه 07 اسفند 1386, 14:07 عصر
من قصد دارم کار با آژاکس رو شروع کنم ولی دوستان خیلی مرددم کردند! آخر سر باید از آژاکس استفاده بشه یا نه!؟ از یه طرف وقتی که لود بشه باعث میشه پهنای باند کمتری مصرف شه و ... ، از طرف دیگه اینقدر سنگینه که تو ایران عزیز! ما به زور لود میشه! نمونه اش هم جی میل ! من شخصا از html view استفاده می کنم در غیر این صورت باید نیم ساعت واسه لود شدنش صبر کنم! ا من که کاملا گیج شدم!

m.hamidreza
سه شنبه 07 اسفند 1386, 21:19 عصر
اصلا تردید نکن عزیز برادر ! شما شروع کن ...
تصور کلی شما از AJAX نباید صرفا Gmail باشه ! یعنی اونو مبنای تصمیم گیری در این مورد نباید قرار بدی .
ضمن اینکه هر چیزی اگه بجاش و درست استفاده شه مثه بنز کار میکنه ! :چشمک:

DotNet_King
سه شنبه 07 اسفند 1386, 23:34 عصر
از بابت دلگرمی که به من دادید ممنون!

ولی به نظر شما وقتی که بارگذاری اولیه سایت طولانی باشه کاربری براش میمونه!
اگه از امکان کال بک کهخود ویژوال استودیو پشتیبانی میکنه و یه خورده برنامه نویسی جاوا و ... بهره بگیریم ، سرعت کارمون بهتر میشه یا نه!؟؟؟

mp2009
چهارشنبه 08 اسفند 1386, 00:07 صبح
Firebug نصب کن تا متوجه بشی.

بهروز خان میشه بگید که فایر باگ چیه و به چه درد میخوره؟

Behrouz_Rad
چهارشنبه 08 اسفند 1386, 06:36 صبح
Firebug یک اکستنشن برای Firefox هست که کارهای متفاوتی رو در رابطه با صفحات وب انجام میده.
دیباگ، ویرایش و مشاهده ی کدهای جاوا اسکریپت، HTML و CSS از وظایفش هست.
می تونی YSlow رو هم روی اون نصب کنی تا نکاتی که برای سریع تر لود شدن صفحاتت باید به اونها توجه کنی رو هم متوجه بشی.
http://www.getfirebug.com

موفق باشید.

پ.ن: بحث تاپیک رو منحرف نکنید.

mojniknam
چهارشنبه 08 اسفند 1386, 11:48 صبح
از بابت دلگرمی که به من دادید ممنون!

ولی به نظر شما وقتی که بارگذاری اولیه سایت طولانی باشه کاربری براش میمونه!
اگه از امکان کال بک کهخود ویژوال استودیو پشتیبانی میکنه و یه خورده برنامه نویسی جاوا و ... بهره بگیریم ، سرعت کارمون بهتر میشه یا نه!؟؟؟
ببین بنظر من تو خیلی از پروژه ها نمیشه از ایجکس استفاده کرد...
مثلا توی یه سایت خبری نباید از تکنیک ایجکس استفاده کرد... به این دلیل که کاربر میاد چند صفحه رو با هم باز میکنه تا لود بشن یکی یکی میخونه...
درحالیکه اگر از ایجکس استفاده بشه ، امکان باز کردن مطالب در صفحه جدید وجود نداره
از همه بدتر که دیگه کاربر از دکمه های Back و Forward نمیتونه استفاده کنه...
ولی خیلی جاها به درد میخوره
به عنوان مثال توی یه گالری عکس خیلی کاربرد داره
استفاده بیش از حد ایجکس توی همه جا میتونه باعث گیج شدن کاربرا بشه

Aidin
دوشنبه 13 اسفند 1386, 22:26 عصر
ببین بنظر من تو خیلی از پروژه ها نمیشه از ایجکس استفاده کرد...
مثلا توی یه سایت خبری نباید از تکنیک ایجکس استفاده کرد... به این دلیل که کاربر میاد چند صفحه رو با هم باز میکنه تا لود بشن یکی یکی میخونه...
درحالیکه اگر از ایجکس استفاده بشه ، امکان باز کردن مطالب در صفحه جدید وجود نداره
از همه بدتر که دیگه کاربر از دکمه های Back و Forward نمیتونه استفاده کنه...
ولی خیلی جاها به درد میخوره
به عنوان مثال توی یه گالری عکس خیلی کاربرد داره
استفاده بیش از حد ایجکس توی همه جا میتونه باعث گیج شدن کاربرا بشه

البته با تکنیک Ajax هم میشه مطالب مختلف رو در یک صفحه بارگذاری کرد و هم میشه از امکان Backward استفاده کرد.

mojniknam
یک شنبه 11 فروردین 1387, 17:33 عصر
البته با تکنیک Ajax هم میشه مطالب مختلف رو در یک صفحه بارگذاری کرد و هم میشه از امکان Backward استفاده کرد.
اگه میشه یه توضیحی در این مورد بدین:بوس:

Aidin
یک شنبه 11 فروردین 1387, 18:54 عصر
این برای History (Backward)
http://www.asp.net/learn/ajax-videos/video-149.aspx

و برای لود کردن خبر های مختلف میتونی یک پنل یا .... در صفحه قرار بدی و هر خبری که انتخاب میکنی رو در اون نمایش بدی .

اتفاقا در سایتهای خبری و ... که کاربر بین مطالب مختلف با ساختار مشابه ولی با محتوی متفاوت زیاد رفت و آمد میکنه بهتر از تکنیک Ajax استفاده بشه .

reza_62
یک شنبه 11 فروردین 1387, 19:51 عصر
دوست عزیز من قبلا هم در تاپیکی گفتم ASP.NET AJAX یک کتابخانه مزخرفی است در حالی که اگر به رای گیری هایی که در سایت ajaxian انجام می شود مراجعه کنید کتابخانه هایی نظیر prototype و jquery بیشترین هوادار را دارند به خصوص jquery که هوادارانش هر روز افزوده می شود و حتی google هم در بعضی صفحاتش از آن استفاده می کند . اندازه این کتابخانه 30 کیلوبایت می باشد .

Aidin
یک شنبه 11 فروردین 1387, 20:14 عصر
دوست عزیز من قبلا هم در تاپیکی گفتم ASP.NET AJAX یک کتابخانه مزخرفی است در حالی که اگر به رای گیری هایی که در سایت ajaxian انجام می شود مراجعه کنید کتابخانه هایی نظیر prototype و jquery بیشترین هوادار را دارند به خصوص jquery که هوادارانش هر روز افزوده می شود و حتی google هم در بعضی صفحاتش از آن استفاده می کند . اندازه این کتابخانه 30 کیلوبایت می باشد .


فکر نمیکنم در اینجا کسی در مورد بهتر یا بدتر بودن ATLAS صحبت کرده باشه.
لطفا از بحث اصلی خارج نشید.

Behrouz_Rad
یک شنبه 11 فروردین 1387, 20:25 عصر
دوست عزیز من قبلا هم در تاپیکی گفتم ASP.NET AJAX یک کتابخانه مزخرفی است در حالی که اگر به رای گیری هایی که در سایت ajaxian انجام می شود مراجعه کنید کتابخانه هایی نظیر prototype و jquery بیشترین هوادار را دارند به خصوص jquery که هوادارانش هر روز افزوده می شود و حتی google هم در بعضی صفحاتش از آن استفاده می کند . اندازه این کتابخانه 30 کیلوبایت می باشد .

دوست من!
هر چیزی رو بهر کاری ساختند...
ASP.NET AJAX همون طور که از اسمش پیداست فقط و فقط برای نامتقارن کردن درخواست ها استفاده میشه.
کتابخانه هایی که نام بردی کاربردهای وسیع تری دارند. prototype، scriptaculous ، dojo و ... از این جمله هستند.
مزخرف بودن تنها در حجم خلاصه نمیشه. فاکتورهای مهم دیگه ای از جمله وقت، دانش، سادگی، نیاز و ... هم در انتخاب سهیم هستند.
ضمن اینکه باید توجه داشته باشی که حجم کتابخانه از حجم کدهای نوشته برای عملکرد کنترل جداست.
اصلی ترین هدفی که کتابخانه های آماده ی جاوا اسکریپت دنبال می کنند، در وحله ی اول "Cross Platform کردن جاوا اسکریپت" و در وحله ی دوم "ساده کردن کار با اون" هست.
ASP.NET AJAX این دو فاکتور رو شامل میشه و در حد نام و وظیفه ای که بر عهدش هست به خوبی عمل می کنه. حتما می دونی که فایل های External کش میشن. اگر خیلی بخوای گیر بدی و اولین بار لود رو بهانه قرار بدی، می تونم بهت پیشنهاد کنم تا هندلری برای گذاشتن Filter بر روی Stream خروجی بنویسی تا هم حجم و هم فضای بین دستورات رو کم کنه...!

موفق باشید.

reza_62
یک شنبه 11 فروردین 1387, 20:26 عصر
بحث در مورد بهتر یا بدتر نیست asp.net ajax خودش اگر فشرده سازی را فعال کرده باشید 28 کیلو است اما چون به همراه ajax toolkit استفاده می شود حجم js زیادی را شامل می شود که بایستی download شود به علاوه که معمولا از کنترل UpdatePanel آن استفاده می شود که من چند مقاله درباره کاهش کارایی سایت در صورت استفاده از این کنترل دیده ام

reza_62
یک شنبه 11 فروردین 1387, 20:33 عصر
http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous

Behrouz_Rad
یک شنبه 11 فروردین 1387, 20:34 عصر
من چند مقاله درباره کاهش کارایی سایت در صورت استفاده از این کنترل دیده ام

این مطلب رو با دقت بخون تا متوجه اصل موضوع بشی.
هنگام ارسال درخواست، لیستی از مقادیر کنترل هایی که در UpdatePanel قرار دارند در آرایه ای قرار می گیرن و به سرور ارسال میشن. در سمت سرور عمل مقتضی انجام می گیره و مقادیر آپدیت میشن و به کلاینت برگشت داده شده و در سمت کلاینت به کنترل های مربوطه نسبت داده میشن.
اگر عملی انجام میدی که وضعیت کنترل های صفحه در اون دخیل نیست، پس مسلما نیازی هم به ارسال مقادیر کنترل ها نداری. خوشبختانه MS AJAX راه حل خوبی رو بدین منظور داره و اون استفاده از Page Methods هست. در این حالت تنها مقدار مورد نظر ارسال و پاسخ دریافت میشه... (سریع ترین حالت AJAX)
بهتره بدونی که این عملکرد یک راه حل متداول هست که تمامی فریمورک ها از جمله Anthem ازش استفاده می کنن.

موفق باشید.

Behrouz_Rad
یک شنبه 11 فروردین 1387, 20:38 عصر
http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous
بلافاصله بعد از اینکه این لینک رو پست کردی، پست من ارسال شد و این لینک دقیقا همون چیزی رو بیان می کنه که گفتم.
حداقل اگر کمی زحمت می کشیدی و مقاله ی موجود در اون لینک رو می خوندی، می تونستی متوجه اصل موضوع بشی. من فکر می کنم اصلا اون مقاله رو نخوندی چون دقیقا به نقطه ی قوت MS AJAX اشاره شده!!!

reza_62
یک شنبه 11 فروردین 1387, 20:59 عصر
اولا حرف من این نیست که فریم ورک asp.net ajax کلهم مشکل دارد من می گویم که چند نفر که تازه با این فریم ورک کار می کنند از PageMethod ( که با شما موافقم که یکی از نقاط قوت این فریم ورک می باشد ) استفاده می کنند . یک updatepanel و چند تا از کنترل های Ajax Toolkit را روی فرم می اندازند بعد می گویند که چرا حجم سایت زیاد شده و آره ajax مشکل داره !!!!

Behrouz_Rad
یک شنبه 11 فروردین 1387, 21:10 عصر
پس موافقی که مشکلی نداره... :)

reza_62
یک شنبه 11 فروردین 1387, 21:20 عصر
موافقم که مشکل نداره در صورتی که درست استفاده شود اما در مورد بخش client side آن هنوز هم مشکل دارم در حالی که بقیه فریم ورک ها ( که خود شما ذکر کردید ) امکانات فوق العاده ای در قسمت client side به برنامه نویس می دهند ( مثلا در مورد Dom Manipulation) که Asp.net ajax فاقد آن است البته این نظر شخصی من است

Behrouz_Rad
یک شنبه 11 فروردین 1387, 21:28 عصر
موافقم که مشکل نداره در صورتی که درست استفاده شود

مرسی. دقیقا مثل چاقو که می تونی ازش برای کندن پوست انسان ها و یا برای کندن پوست میوه ها استفاده کنی! ;)


در مورد بخش client side آن هنوز هم مشکل دارم در حالی که بقیه فریم ورک ها ( که خود شما ذکر کردید ) امکانات فوق العاده ای در قسمت client side به برنامه نویس می دهند ( مثلا در مورد Dom Manipulation) که Asp.net ajax فاقد آن است

در پست صفحه ی قبلم عرض کردم که AJAX تنها یکی از کاربردهای اون کتابخانه هاست. شما اگه بخوای یک GridView رو با prototype یا JQuery حالت AJAX ای بدی می تونی؟ مسلما نمی تونی! اما MS AJAX می تونه...
اینها واقعیتی هست که وجود داره و همه ی ما خیلی خوشحال میشیم که این رقابت ها بتونه در نهایت محصولی با کیفیت احسن رو در اختیار کاربران نهایی قرار بده...

موفق باشید.

mojniknam
سه شنبه 01 بهمن 1387, 18:08 عصر
با اجازه میخوام دوباره این مبحث رو راه بندازم
بحث از اینجا شروع شد که با بکار بردن Ajax در وب سایت ، سرعت اولیه لود سایت به شدت پایین میاد
بعضی ها پیشنهاد دادن از کتابخانه های دیگه استفاده بشه چون کتابخانه Microsoft Ajax این مشکل بزرگ رو داره
جناب راد این فرضیه رو رد کردن و گفتن که به اندازه وظیفه ای که این کتابخانه داره ، بخوبی کار میکنه
بحث همینجا تموم شد
ولی آخر نفهمیدیم که اگر بخوایم سرعت لود اولیه سایتی که دارای Ajax هست به حداکثر برسه باید چیکار کنیم؟؟؟؟
آیا راه حلی داره؟؟؟
اشاره شد که

اگر عملی انجام میدی که وضعیت کنترل های صفحه در اون دخیل نیست، پس مسلما نیازی هم به ارسال مقادیر کنترل ها نداری. خوشبختانه MS AJAX راه حل خوبی رو بدین منظور داره و اون استفاده از Page Methods هست. در این حالت تنها مقدار مورد نظر ارسال و پاسخ دریافت میشه... (سریع ترین حالت AJAX)
آیا این راه حل خوبی هست؟؟؟
آیا تنها راه حل هست؟؟؟
خوب اصلا این چی هست؟؟؟
چیکارش باید بکنیم؟؟؟

iman_ad
سه شنبه 01 بهمن 1387, 19:08 عصر
این نرم افزار هم کاری مشابه نرم افزاری که جناب راد معرفی کردن هست
www.fiddlertool.com (http://www.fiddlertool.com)
برای برسی عملکرد صفحه شما مناسب هست

mojniknam
سه شنبه 01 بهمن 1387, 19:57 عصر
این نرم افزار هم کاری مشابه نرم افزاری که جناب راد معرفی کردن هست
www.fiddlertool.com (http://www.fiddlertool.com/)
برای برسی عملکرد صفحه شما مناسب هست موضوع اصلا این نیست
لطفا آخرین پستم رو بدقت بخونید
فکر میکنم مشکل خیلی ها باشه