سورنا فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

سورنا فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

تحقیق درمورد افزایش کارآئی برنامه های وب در ASP NET 2 0

اختصاصی از سورنا فایل تحقیق درمورد افزایش کارآئی برنامه های وب در ASP NET 2 0 دانلود با لینک مستقیم و پر سرعت .

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 118

 

افزایش کارآئی برنامه های وب در ASP.NET 2.0  ( بخش اول ) یکی از ملزومات کلیدی در هر نوع برنامه کامپیوتری میزان کارائی و قابلیت پاسخگوئی سریع آن به کاربران است . طراحان و  پیاده کنندگان برنامه های کامپیوتری می بایست در زمان طراحی ، پیاده سازی و نوشتن کد به این موضوع توجه جدی داشته باشند. برنامه های وب با توجه به ماهیت و رسالت خود می بایست قادر به ارائه خدمات مورد نیاز  به صدها و یا هزاران متقاضی همزمان به سادگی و با سرعت مطلوب باشند. به عبارت دیگر ، همزمان با افزایش کاربران نمی بایست شاهد افت سرعت و کارآئی یک برنامه وب باشیم .  با ارائه فریمورک دات نت و به دنبال آن ASP.NET ، پیاده سازی یک برنامه وب بطرز ناباورانه ای ساده شده است . همین موضوع باعث شده است که  طراحان و پیاده کنندگان بیشتر در اندیشه طراحی و پیاده سازی سریع برنامه های وب باشند و به مسائل مربوط به کارآئی برنامه کمتر توجه نمایند . پیاده کنندگان برنامه های وب با استفاده از  فناوری ASP.NET می بایست با بکارگیری مجموعه ای از ترفندها ، فناوری ها و رعایت برخی نکات کلیدی اقدام به پیاده سازی برنامه های وب با کارآئی بالا نمایند . در این مقاله و سایر مقالاتی که در آینده منتشر خواهد شد قصد داریم به برخی از روش های موجود به منظور طراحی و پیاده سازی یک برنامه وب کارآ اشاره نمائیم . بدین منظور بر روی سه محور اساسی زیر متمرکز خواهیم شد :

طراحی برای کارآئی  : در این رابطه به مجموعه ای از نکات کلیدی اشاره خواهیم کرد که رعایت آنها در زمان طراحی می تواند زمینه پیاده سازی یک برنامه وب کارآ را فراهم نماید .

تست برنامه قبل از عملیاتی شدن آن : یکی از مسائل مهم در ارتباط با برنامه های وب ، عدم تست آنها با شرایط مشابه و یا  نزدیک به محیط واقعی است . در این راستا می توان از نرم افزارها و یا ابزارهای مختلفی استفاده کرد تا بتوان عملکرد و سرویس دهی یک برنامه وب  را قبل از زیر بار رفتن واقعی مشاهده و بررسی نمود . شرکت مایکروسافت در این رابطه ابزارها و برنامه های متعددی را ارائه نموده است که به بررسی آنها خواهیم پرداخت .

پیاده سازی سیستم caching : با پیاده سازی سیستم caching در سطوح متفاوت و caching داده می توان  کارآئی برنامه های وب را بطرز کاملا" محسوسی افزایش داد. در این بخش به نحوه پیاده سازی سیستم caching در برنامه های وب اشاره خواهیم کرد .

در ادامه بر روی اولین محور متمرکز و به بررسی مسائل مرتبط با آن خواهیم پرداخت  .

طراحی برای کارآئی توجه و رعایت موارد زیر پیاده کنندگان را در جهت پیاده سازی برنامه های وب با کارآئی بالا کمک خواهد کرد  :

مکانیزم ترجمه کد در ASP.NET برنامه های نوشته شده با استفاده از ASP.NET دارای کارآئی بمراتب بیشتری نسبت به برنامه های نوشته شده با استفاده از ASP کلاسیک می باشند . این دستاورد ناشی از ترجمه اتوماتیک کد در ASP.NET است . در صفحات قدیمی نوشته شده با استفاده از ASP کلاسیک ، کدها و یا اسکریپت های موجود در یک صفحه برای هر یک از درخواست های کاربران پردازش می گردید . در ASP.NET ، هر کلاس صفحه در اولین مرتبه دستیابی کمپایل و برای درخواست های آتی cache می گردد . زمانی که اولین مرتبه یک کاربر صفحه ای را درخواست می نماید ( و یا اولین مرتبه دستیابی پس از ایجاد تغییرات در صفحه )  ، یک تاخیر قابل ملاحظه در زمان پاسخ به درخواست خود را مشاهده می نماید ( تاخیر ناشی از ترجمه صفحه ) . برای برخورد با این موضوع می توان از روش  precompilation  استفاده نمود . با استفاده از روش فوق پس از استقرار صفحات بر روی سرویس دهنده وب ، بلافاصله امکان درخواست و بازیابی سریع آنها برای متقاضیان فراهم می گردد .

کنترل های سرویس دهنده کنترل های سرویس دهنده عناصر اصلی در یک صفحه ASP.NET می باشند و load زیادی را به برنامه تحمیل نخواهند کرد . این نوع کنترل ها معمولا" دارای کارآئی بمراتب بهتری نسبت به زمانی می باشند که یک صفحه به صورت پویا و با استفاده از ترفندهائی نظیر متد Response. Write خروجی خود را تولید می نماید. در برخی موارد ضرورتی به استفاده از کنترل های سرویس دهنده  ASP.NET در یک صفحه وب نخواهیم داشت . به عنوان نمونه ،‌ در صورتی که دارای یک متن ایستا می باشیم که هرگز ضرورتی به دستیابی و تغییر آن در زمان اجراء و از طریق کد نداریم ، لزومی به استفاده از کنترلی نظیر label نخواهیم داشت . در چنین مواردی می توان به سادگی متن مورد نظر را با استفاده از امکانات HTML در فایل aspx.  قرار داد . در ویژوال استودیو می توان  از کنترل DIV ( موجود در بخش HTML ، منوی Toolbox) استفاده کرد. در واقع ما تکلیف متن مورد نظر جهت نمایش در یک صفحه aspx . را نه در زمان اجراء بلکه در زمان طراحی مشخص کرده ایم  .یکی دیگر از نکات مهم در زمان استفاده از کنترل های سرویس دهنده در صفحات وب ، توجه به رفتار آنها در ارتباط با نگهداری داده پس از ارسال مجدد به سرویس دهنده می باشد . به صورت پیش فرض ، مقادیر مرتبط با کنترل های سرویس دهنده نظیر مقدار درج شده در یک TextBox  ، پس از postback بطور اتوماتیک در view state ذخیره می گردد . در واقع ، view state مکانیزمی برای نگهداری داده کنترل های سرویس دهنده است که  هدف آن غلبه بر محدودیت پروتکل HTTP است ( ماهیت stateless ) .view state ، یک نام مناسب برای ذخیره داده در یک فیلد ورودی مخفی درون صفحه است . پس از  post back ( ارسال مجدد برای‌ سرویس گیرنده ) یک صفحه ، سرویس دهنده قادر به بررسی مقادیر نگهداری شده در view state و استفاده از آنها با توجه به شرایط حاکم بر برنامه می باشد .  view state یک قابلیت عالی است چراکه اجازه  نگهداری وضعیت را با استفاده


دانلود با لینک مستقیم


تحقیق درمورد افزایش کارآئی برنامه های وب در ASP NET 2 0

تاثیر حافظه اصلی بر کارآئی سیستم و زمان بندی کارها در سیستم عامل 10ص

اختصاصی از سورنا فایل تاثیر حافظه اصلی بر کارآئی سیستم و زمان بندی کارها در سیستم عامل 10ص دانلود با لینک مستقیم و پر سرعت .

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 12

 

تاثیر حافظه اصلی بر کارآئی سیستم

در هر کامپیوتر از مجموعه ای منابع سخت افزاری و نرم افزاری استفاده می گردد که هر یک دارای جایگاه مختص به خود می باشند . سیستم عامل ،‌ مسئولیت مدیریت منابع موجود در یک کامپیوتر را برعهده دارد . مجموعه پتانسیل های سخت افزاری و نرم افزاری موجود و نحوه مدیریت آنان توسط سیستم عامل ، میزان مفید بودن و کارآئی یک کامپیوتر را مشخص می نماید.

حافظه اصلی ( RAM ) یکی از مهمترین منابع سخت افزاری موجود در کامپیوتر است که با توجه به نقش محوری آن در اجرای برنامه های کامپیوتری ، همواره در معرض پرسش های فراوانی از جانب کاربران کامپیوتر است. به عنوان نمونه ، شاید این سوال برای شما نیز مطرح شده باشد که تاثیر افزایش حافظه اصلی بر سرعت کامپیوتر چیست و در صورت افزایش حافظه اصلی ، آیا کارائی سیستم نیز به همان میزان افزایش خواهد یافت ؟

در این مطلب به بررسی این موضوع خواهیم پرداخت که چرا حافظه اصلی دارای یک نقش مهم و غیرقابل انکار در کارائی سیستم است . ادامه بحث را با در نظر گرفتن دو فرضیه دنبال می نمائیم . اول این که بر روی کامپیوتر از یکی از نسخه های سیستم عامل ویندوز 2000 ، XP و یا 2003 سی و دو بیتی استفاده می گردد و دوم این که از یک کامیپوتر مدل جدید با پتانسیل های سخت افزاری مناسب ، استفاده می شود .

هر سیستم عامل از یک مدل خاص برای مدیریت منبع ارزشمند حافظه اصلی استفاده می نماید . نحوه مدیریت حافظه توسط سیستم عامل ، یکی از شاخص های مهم ارزیابی موفقیت یک سیستم عامل محسوب می گردد . ویندوز نیز به عنوان یک سیستم عامل از این قاعده مستثنی نمی باشد.

ویندوز و مدیریت حافظه

زمانی که اولین نسخه ویندوز ارائه شده بود ،‌ امکان مدیریت حافظه اندکی توسط آن وجود داشت . در آن زمان ، حافظه گران بود و حتی در صورتی که استفاده کنندگان توان مالی تهیه آن را داشتند ، کامپیوترهای آن دوره قادر به استفاده از آن نبودند . این وضعیت تا اواسط دهه 90 میلادی ادامه داشت و بسیاری از افرادی که دارای کامپیوتر بودند ،‌ صرفا" از 8 مگابایت حافظه اصلی استفاده می کردند که امکان ارتقاء آن به حداکثر 64 مگابایت وجود داشت .

قیمت بالا و ظرفیت بردهای اصلی سیستم ( مادر برد ) ، از جمله محدودیت های اساسی کامپیوترها در گذشته ای نه چندان دور است که قطعا" هم اینک این وضعیت بهبود یافته است و استفاده کنندگان کامپیوتر از این بایت کمتر دچار مشکل می گردند.

در اکثر نسخه های ویندوز امکان استفاده از حافظه مجازی وجود دارد . با توجه به این که قیمت حافظه هارد دیسک نسبت به حافظه اصلی بمراتب کمتر است ، ویندوز از فضای ذخیره سازی هارد دیسک به منظور جبران کمبود حافظه اصلی سیستم استفاده می نماید .

حافظه مجازی ، یک راه حل مناسب به منظور غلبه بر محدودیت حافظه اصلی است که دارای چالش های مختص به خود نیز می باشد :

کند بودن سرعت هارد دیسک نسبت به حافظه اصلی : هارد دیسک دارای سرعتی بمراتب پائین تر ( کندتر ) نسبت به حافظه اصلی است . دستیابی به حافظه اصلی بر اساس نانوثانیه و سرعت هارد دیسک بر اساس میلی ثانیه اندازه گیری می شود .

عدم امکان استفاده مستقیم از حافظه مجازی : یکی دیگر از مسائل در ارتباط با حافظه مجازی ، عدم امکان استفاده مستقیم از آن است . مثلا" فرض کنید که یک صفحه اطلاعات از حافظه اصلی بر روی هارد دیسک ( حافظه مجازی ) نوشته گردد . در صورتی که در ادامه به اطلاعات موجود در این صفحه نیاز باشد ، کامپیوتر نمی تواند مستقیما" به آن دستیابی داشته باشد . در چنین مواردی ، می بایست قبل از این که کامپیوتر بتواند از داده استفاده نماید ، داده درون حافظه اصلی مستقر گردد . به فرآیند فوق paging گفته می شود .

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

paging ، فرآیندی است که می بایست مدیریت گردد . کامپیوتر می بایست از مکانی در حافظه اصلی به منظور ثبت وضعیت استفاده از حافظه استفاده نماید . بنابراین ، سیستم می بایست قسمتی از حافظه خود را برای ثبت وضعیت صفحات و این که کدام صفحه در حافظه اصلی و کدام صفحه در حافظه مجازی است ، در نظر بگیرد. علاوه بر این ، سیستم از سیکل های متعدد پردازنده ( CPU ) به منظور انتقال داده بین حافظه اصلی و حافظه مجازی استفاده می نماید . در صورتی که نگرانی خاصی در رابطه با Paging وجود نداشته باشد ، کامپیوتر به سرعت وظایف خود را انجام خواهد داد .


دانلود با لینک مستقیم


تاثیر حافظه اصلی بر کارآئی سیستم و زمان بندی کارها در سیستم عامل 10ص

تحقیق در موردنقش فرهنگ سازمانی در افزایش کارآئی کارکنان بانک کشاورزی

اختصاصی از سورنا فایل تحقیق در موردنقش فرهنگ سازمانی در افزایش کارآئی کارکنان بانک کشاورزی دانلود با لینک مستقیم و پر سرعت .

تحقیق در موردنقش فرهنگ سازمانی در افزایش کارآئی کارکنان بانک کشاورزی


تحقیق در موردنقش فرهنگ سازمانی در افزایش کارآئی کارکنان بانک کشاورزی

لینک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

  

تعداد صفحه44

 

فهرست مطالب

 

2-ادبیات تحقیق

شکل گیری فرهنگ سازمانی

طبقه بندی فرهنگ سازمانی :

1-فرهنگ مکانیکی( (Mechanic culture

2-فرهنگ ارگانیکی (organic cuiture)

 

ارزش ها :

فرض های زیرساز بنیادی :

 

فرهنگ سازمانی ضعیف و قوی :

نقش فرهنگ سازمانی در افزایش کارآئی کارکنان بانک کشاورزی

 

حبیب اله محمدی*

 

1-مقدمه

پیچیدگی سازمان های امروزی، تشریح آنان را تا حدودی دشوارنموده است. تکنولوژی و
پیشرفت های بشری به گونه ای  سرعت گرفته است که انسان کمترشباهتی با گذشته می تواند پیداکند. افزایش تلاطم های محیطی، فضای تغییرو تحول، دگرگونی و عدم اطمینان رافراهم آورده است و ما را به توانایی های جدید و طرحی نو  درافکندن، می خواند.

معیارهای پیشرفت و توسعه یافتگی به شدت دگرگون شده وهم اکنون درصحنه های جهانی، ‌جنگ برسربرتری های اقتصادی درقرن 21 آغاز شده است.  ابزارهای نظامی و قهر آمیز  جای خویش را به موجی ازلشگرهای اغواگر سپرده که هرلحظه ازطریق روان کردن سیل تصاویر، گفتارها و واژه ها برپیکره فرهنگ ها، ‌ارزش ها و سنت های دیرپای جوامع تاخته و بشر امروز را درمقابله با بحران هویت و ناهنجاریهای قرن خود، درمانده و نا امید ساخته است. مدیریت با تمام قدرت پابه عرصه حیات گذارده و برای پاسخ به چالش های محیطی و غیرمحیطی به جستجوی شیوه های نو و جدید پرداخته است.

یکی از تحولات عمده و اساسی‌که درمدیریت شکل گرفته است، “تحول درنگرش به سازمان است ”. بدین گونه که به  سازمان ها به عنوان “ فرهنگ ها ” نگریسته می شود. پدیده جدیدی که یکی از مهارتهای اصلی مدیریت و رفتارسازمانی را شکل داده است.  باورها براین است که انسانهایی که دریک چارچوب نظام اجتماعی بزرگ و یا کوچک زندگی می کنند، دارای مجموعه ای


* - موسسه عالی بانکداری ایران به راهنمایی دکتر مهدی ایران نژاد پاریزی، 1376.

 


دانلود با لینک مستقیم


تحقیق در موردنقش فرهنگ سازمانی در افزایش کارآئی کارکنان بانک کشاورزی

نقش فرهنگ سازمانی در افزایش کارآئی کارکنان

اختصاصی از سورنا فایل نقش فرهنگ سازمانی در افزایش کارآئی کارکنان دانلود با لینک مستقیم و پر سرعت .

پایان نامه کارشناسی

نقش فرهنگ سازمانی در افزایش کارآئی کارکنان

قالب فایل ورد

اسلاید دفاع

تعداد صفحات پایان نامه :76


دانلود با لینک مستقیم


نقش فرهنگ سازمانی در افزایش کارآئی کارکنان

دانلود مقاله افزایش کارآئی برنامه های وب در ASP.NET 2.0

اختصاصی از سورنا فایل دانلود مقاله افزایش کارآئی برنامه های وب در ASP.NET 2.0 دانلود با لینک مستقیم و پر سرعت .

دانلود مقاله افزایش کارآئی برنامه های وب در ASP.NET 2.0


دانلود مقاله افزایش کارآئی برنامه های وب در ASP.NET 2.0

افزایش کارآئی برنامه های وب در ASP.NET 2.0

مقاله ای مفید و کامل با 55 درصد تخفیف

 

 

 

 

لینک پرداخت و دانلود *پایین مطلب* 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

تعداد صفحه:118

چکیده :

یکی از ملزومات کلیدی در هر نوع برنامه کامپیوتری میزان کارائی و قابلیت پاسخگوئی سریع آن به کاربران است . طراحان و  پیاده کنندگان برنامه های کامپیوتری می بایست در زمان طراحی ، پیاده سازی و نوشتن کد به این موضوع توجه جدی داشته باشند.
برنامه های وب با توجه به ماهیت و رسالت خود می بایست قادر به ارائه خدمات مورد نیاز  به صدها و یا هزاران متقاضی همزمان به سادگی و با سرعت مطلوب باشند. به عبارت دیگر ، همزمان با افزایش کاربران نمی بایست شاهد افت سرعت و کارآئی یک برنامه وب باشیم . 
با ارائه فریمورک دات نت و به دنبال آن ASP.NET ، پیاده سازی یک برنامه وب بطرز ناباورانه ای ساده شده است . همین موضوع باعث شده است که  طراحان و پیاده کنندگان بیشتر در اندیشه طراحی و پیاده سازی سریع برنامه های وب باشند و به مسائل مربوط به کارآئی برنامه کمتر توجه نمایند .
پیاده کنندگان برنامه های وب با استفاده از  فناوری ASP.NET می بایست با بکارگیری مجموعه ای از ترفندها ، فناوری ها و رعایت برخی نکات کلیدی اقدام به پیاده سازی برنامه های وب با کارآئی بالا نمایند .
در این مقاله و سایر مقالاتی که در آینده منتشر خواهد شد قصد داریم به برخی از روش های موجود به منظور طراحی و پیاده سازی یک برنامه وب کارآ اشاره نمائیم . بدین منظور بر روی سه محور اساسی زیر متمرکز خواهیم شد :

  • طراحی برای کارآئی  : در این رابطه به مجموعه ای از نکات کلیدی اشاره خواهیم کرد که رعایت آنها در زمان طراحی می تواند زمینه پیاده سازی یک برنامه وب کارآ را فراهم نماید .
  • تست برنامه قبل از عملیاتی شدن آن : یکی از مسائل مهم در ارتباط با برنامه های وب ، عدم تست آنها با شرایط مشابه و یا  نزدیک به محیط واقعی است . در این راستا می توان از نرم افزارها و یا ابزارهای مختلفی استفاده کرد تا بتوان عملکرد و سرویس دهی یک برنامه وب  را قبل از زیر بار رفتن واقعی مشاهده و بررسی نمود . شرکت مایکروسافت در این رابطه ابزارها و برنامه های متعددی را ارائه نموده است که به بررسی آنها خواهیم پرداخت .
  • پیاده سازی سیستم caching : با پیاده سازی سیستم caching در سطوح متفاوت و caching داده می توان  کارآئی برنامه های وب را بطرز کاملا" محسوسی افزایش داد. در این بخش به نحوه پیاده سازی سیستم caching در برنامه های وب اشاره خواهیم کرد .

در ادامه بر روی اولین محور متمرکز و به بررسی مسائل مرتبط با آن خواهیم پرداخت  .

طراحی برای کارآئی
توجه و رعایت موارد زیر پیاده کنندگان را در جهت پیاده سازی برنامه های وب با کارآئی بالا کمک خواهد کرد  :

مکانیزم ترجمه کد در ASP.NET
برنامه های نوشته شده با استفاده از ASP.NET دارای کارآئی بمراتب بیشتری نسبت به برنامه های نوشته شده با استفاده از ASP کلاسیک می باشند . این دستاورد ناشی از ترجمه اتوماتیک کد در ASP.NET است . در صفحات قدیمی نوشته شده با استفاده از ASP کلاسیک ، کدها و یا اسکریپت های موجود در یک صفحه برای هر یک از درخواست های کاربران پردازش می گردید . در ASP.NET ، هر کلاس صفحه در اولین مرتبه دستیابی کمپایل و برای درخواست های آتی cache می گردد .
زمانی که اولین مرتبه یک کاربر صفحه ای را درخواست می نماید ( و یا اولین مرتبه دستیابی پس از ایجاد تغییرات در صفحه )  ، یک تاخیر قابل ملاحظه در زمان پاسخ به درخواست خود را مشاهده می نماید ( تاخیر ناشی از ترجمه صفحه ) . برای برخورد با این موضوع می توان از روش  precompilation  استفاده نمود . با استفاده از روش فوق پس از استقرار صفحات بر روی سرویس دهنده وب ، بلافاصله امکان درخواست و بازیابی سریع آنها برای متقاضیان فراهم می گردد .

کنترل های سرویس دهنده
کنترل های سرویس دهنده عناصر اصلی در یک صفحه ASP.NET می باشند و load زیادی را به برنامه تحمیل نخواهند کرد . این نوع کنترل ها معمولا" دارای کارآئی بمراتب بهتری نسبت به زمانی می باشند که یک صفحه به صورت پویا و با استفاده از ترفندهائی نظیر متد Response. Write خروجی خود را تولید می نماید.
در برخی موارد ضرورتی به استفاده از کنترل های سرویس دهنده  ASP.NET در یک صفحه وب نخواهیم داشت . به عنوان نمونه ،‌ در صورتی که دارای یک متن ایستا می باشیم که هرگز ضرورتی به دستیابی و تغییر آن در زمان اجراء و از طریق کد نداریم ، لزومی به استفاده از کنترلی نظیر label نخواهیم داشت . در چنین مواردی می توان به سادگی متن مورد نظر را با استفاده از امکانات HTML در فایل aspx.  قرار داد . در ویژوال استودیو می توان  از کنترل DIV ( موجود در بخش HTML ، منوی Toolbox) استفاده کرد. در واقع ما تکلیف متن مورد نظر جهت نمایش در یک صفحه aspx . را نه در زمان اجراء بلکه در زمان طراحی مشخص کرده ایم  .
یکی دیگر از نکات مهم در زمان استفاده از کنترل های سرویس دهنده در صفحات وب ، توجه به رفتار آنها در ارتباط با نگهداری داده پس از ارسال مجدد به سرویس دهنده می باشد . به صورت پیش فرض ، مقادیر مرتبط با کنترل های سرویس دهنده نظیر مقدار درج شده در یک TextBox  ، پس از postback بطور اتوماتیک در view state ذخیره می گردد . در واقع ، view state مکانیزمی برای نگهداری داده کنترل های سرویس دهنده است که  هدف آن غلبه بر محدودیت پروتکل HTTP است ( ماهیت stateless ) .
view state ، یک نام مناسب برای ذخیره داده در یک فیلد ورودی مخفی درون صفحه است . پس از  post back ( ارسال مجدد برای‌ سرویس گیرنده ) یک صفحه ، سرویس دهنده قادر به بررسی مقادیر نگهداری شده در view state و استفاده از آنها با توجه به شرایط حاکم بر برنامه می باشد .  view state یک قابلیت عالی است چراکه اجازه  نگهداری وضعیت را با استفاده از امکانات سرویس گیرنده فراهم می نماید و در این رابطه از کوکی و حافظه سرویس دهنده برای ذخیره وضعیت استفاده نمی گردد .
تعداد زیادی از کنترل های سرویس دهنده ASP.NET از view state برای نگهداری تنظمیات خود در زمان تعامل با عناصر موجود بر روی صفحه استفاده می نمایند ( مثلا" ذخیره صفحه جاری در زمان استفاده از ویژگی paging در کنترل سرویس دهنده gridview ) .
در زمان استفاده از view state توجه به موارد زیر ضروری است :

  • playload صفحه را در زمان درخواست و  ارائه افزایش می دهد .
  • افزایش overhead در زمان serializing و deserializing داده ذخیره شده در view state که برای سرویس دهنده post-back شده است .
  • افزایش تخصیص حافظه بر روی سرویس دهنده

کنترل های سرویس دهنده علاقه زیادی به استفاده از view state دارند حتی در مواردی که به وجود آن نیاز نمی باشد . به صورت پیش فرض viewstate فعال است و در صورت عدم نیاز می بایست آن را در سطح صفحه و یا کنترل غیرفعال نمود . در رابطه با یک کنترل کافی است که خصلت EnableViewState را false و یا می توان آن را به صورت سراسری و در سطح page غیر فعال نمود . دستور زیر نحوه انجام این کار را نشان می دهد  :

<%@ Page EnableViewState="false" %> 

برای غیر فعال کردن view state  در سطح صفحه و یا کنترل  از قوانین زیر می توان استفاده نمود :

  • در صورتی که در صفحه ای post back انجام نمی گیرد و یا  صفحه می بایست همواره  برای هر یک از کنترل های موجود بر روی صفحه و به ازاء هر درخواست مجددا" تولید گردد ، می بایست view state  را در سطح page غیر فعال نمود .
  • در صورتی که ضرورتی به نگهداری داده مرتبط با یک کنترل سرویس دهنده در view state نمی باشد می بایست آن را برای کنترل مورد نظر غیر فعال نمود . بدین منظور لازم است که مقدار  EnableViewState  مربوط به کنترل معادل False در نظر گرفته شود .
  • در صورتی که کنترل در زمان طراحی مقداردهی شده است و در زمان اجراء مقدار آن تغییر نمی یابد ، خصلت EnableViewState آن می بایست false در نظر گرفته شود .
  • در صورتی که کنترل با هر post back ، مجددا" خوانده شده  و refresh می گردد و ضرورتی به نگهداری مقدار داده  قبلی وجود نداشته باشد ، خصلت EnableViewState آن می بایست false در نظر گرفته شود .
  • در صورتی که لازم است انتخاب کاربر پس از  postback صفحه بازیابی  گردد ، می بایست view state را برای کنترل مورد نظر فعال کرد.

view state ، عموما" کند شدن سرویس دهنده را به دنبال نخواهد داشت بلکه حجم صفحه را افزایش داده و مدت زمان ارسال صفحه برای سرویس گیرنده را زیاد خواهد کرد . در چنین مواردی کاربران این برداشت را خواهند داشت که برنامه کند و قادر به ارائه پاسخ سریع به آنان نمی باشد ، خصوصا" در مواردی که ارتباط بین سرویس گیرنده و سرویس دهنده از طریق یک خط با سرعت پائین برقرار شده باشد .
عدم استفاده صحیح از view state در برخی موارد می تواند ادامه حیات موثر یک برنامه وب را با چالش جدی مواجه نماید . این موضوع در برنامه هائی که از کنترل های زیادی در یک صفحه استفاده  و حجم بالائی از داده را در خود نگهداری می نمایند، مضاعف می گردد. در چنین مواردی داده دو مرتبه به صفحه وب اضافه می گرد  : مستقیما" در کد HTML مرتبط با کنترل و مجددا" در یک فیلد مخفی برای view state . داده فوق با هر post back بین سرویس گیرنده و سرویس دهنده  مبادله می گردد .
با استفاده از page tracing می توان از تعداد بایتی که view state مصرف می کند آگاهی یافت . 
در بخش دوم به بررسی سایر نکات به منظور افزایش کارآئی‌ برنامه های وب با تمرکز بر روی بانک های اطلاعاتی در زمان طراحی خواهیم پرداخت .

 

افزایش کارآئی برنامه های وب در ASP.NET 2.0 (بخش دوم)
در بخش اول به این موضوع اشاره گردید که برای طراحی و پیاده سازی یک برنامه وب کارآ  از روش ها ، ترفندها و فناوری های مختلفی استفاده می گردد . بدین منظور بحث خود را با معرفی سه محور اساسی زیر آغاز و با تمرکز بر روی اولین محور ادامه دادیم .

  • طراحی برای کارآئی  : در این رابطه به مجموعه ای از نکات کلیدی اشاره خواهیم کرد که رعایت آنها در زمان طراحی می تواند زمینه پیاده سازی یک برنامه وب کارآ را فراهم نماید .
  • تست برنامه قبل از عملیاتی شدن آن : یکی از مسائل مهم در ارتباط با برنامه های وب ، عدم تست آنها با شرایط مشابه و یا  نزدیک به محیط واقعی است . در این راستا می توان از نرم افزارها و یا ابزارهای مختلفی استفاده کرد تا بتوان عملکرد و سرویس دهی یک برنامه وب  را قبل از زیر بار رفتن واقعی مشاهده و بررسی نمود . شرکت مایکروسافت در این رابطه ابزارها و برنامه های متعددی را ارائه نموده است که به بررسی آنها خواهیم پرداخت .
  • پیاده سازی سیستم caching : با پیاده سازی سیستم caching در سطوح متفاوت و caching داده می توان  کارآئی برنامه های وب را بطرز کاملا" محسوسی افزایش داد. در این بخش به نحوه پیاده سازی سیستم caching در برنامه های وب اشاره خواهیم کرد .

در این بخش همچنان بر روی اولین محور متمرکز و به بررسی مسائل در ارتباط با بانک های اطلاعاتی و تاثیر آنها در کارآئی یک برنامه وب اشاره خواهیم کرد . 

دستیابی به بانک اطلاعاتی 
قوانین دستیابی به بانک های اطلاعاتی خیلی سرراست و مشخص است ولی به دلیل عدم رعایت برخی نکات توسط طراحان و پیاده کنندگان ممکن است کارآئی برنامه های وب کاهش و همزمان با افزایش کاربران امکان استفاده بهینه و مطلوب از برنامه وجود نداشته باشد .
قبل از بررسی اهم مطالب مرتبط با بکارگیری بانک های اطلاعاتی در برنامه های وب لازم است به این نکته مهم اشاره گردد که می بایست یک اتصال به بانک اطلاعاتی را صرفا" در زمانی که به وجود آن نیاز است ایجاد و در اولین فرصت ممکن آن را close کرد چراکه اولا" تعداد اتصالات به یک بانک اطلاعاتی محدود و ثانیا" مدیریت آنها کار اضافه ای را نیز به سرویس دهنده تحمیل خواهد کرد ( استفاده بهینه از یک منبع محدود ) .
با رعایت موارد زیر می توان کارآئی برنامه های وب را بهبود بخشید :

  • استفاده از stored procedure : سیستم های مدیریت بانک های اطلاعاتی رابطه ای نظیر SQL server پیچیدگی های خاص خود را دارند . سیستم های فوق،  قادر به انجام کارهای متنوعی هستند  که  با استفاده از  ASP.NET  نمی توان آنها را انجام داد . بکارگیری این نوع پتانسیل ها می تواند تاثیرات گسترده ای را بر روی برنامه های وب به دنبال داشته باشد . به عنوان نمونه ، استفاده از stored procedure در مقابل Query های تولید شده پویا می تواند تاثیر غیرقابل انکاری  بر روی کارآیی برنامه های وب داشته باشد چراکه  stored procedure را می توان برای استفاده آتی ترجمه و بهینه سازی کرد . تاثیر استفاده از stored procedure در مواردی که لازم است چندین عملیات مرتبط به هم در یک لحظه انجام شود ، بسیار مشهود و ملموس می باشد .
  • استفاده از پروفایلینگ و ایندکس : تعریف ایندکس ها بگونه ای که با نوع جستجو و خواسته های  مورد نیاز در یک سیستم مطابقت نماید ، می تواند نتایج مورد نظر را با سرعت قابل قبولی در اختیار کاربران قرار دهد . برای بهینه سازی بی عیب ایندکس ها در یک بانک اطلاعاتی لازم است که آنها را با استفاده از یک  ابزار profiling ارزیابی کرد ( نظیر SQL Server Profiler ) . این نوع ابزارها فعالیت بانک اطلاعاتی را در یک لاگ خاص ثبت می نمایند و در ادامه می توان آن را بررسی ، آنالیز و بر اساس نتایج بدست آمده در ایندکس ها تجدید نظر نمود . ابزارهای فوق می توانند مسائلی نظیر اجرای کند query را شناسائی و حتی مجموعه ای جدید از ایندکس ها را که دارای کارآئی بمراتب بهتری می باشند ، پیشنهاد  دهند . برای پروفایل بهتر بانک اطلاعاتی لازم است که یک لود فرضی را بر روی برنامه شبیه سازی کرد.
  • بازیابی صرفا" اطلاعات  مورد نیاز : یکی از ساده ترین روش هائی که باعث بهبود هر نوع کد بانک اطلاعاتی می گردد ، کاهش حجم اطلاعات بازیابی شده از بانک اطلاعاتی است . این کار باعث کاهش لود شبکه ، مدت زمان لازم برای باز شدن اتصال و حجم نهائی صفحه می گردد . به عنوان نمونه با استفاده از فیلترینگ مناسب در query ( نظیر استفاده از تاریخ ) و بازیابی صرفا" فیلدهای ضروری ، می توان حجم داده بازیابی شده را حتی المقدور کاهش داد .
  • استفاده از connection pooling : در یک برنامه وب عمومی ، سیستم مدیریت بانک اطلاعاتی درخواست های بیشماری را از طرف سرویس گیرندگان برای صفحات وب متعدد دریافت می نماید . معمولا" این اتصالات برای مدت زمان کوتاهی  فعال و ایجاد آنها  یکی از مراحل وقت گیر در زمان پیاده سازی است . در صورتی که هر صفحه وب از connection string مشابه استفاده نماید ، بانک های اطلاعاتی نظیر SQL server قادر به استفاده از connection pooling  تعبیه شده در خود برای استفاده مجدد از یک اتصال برای بیش از یک سرویس گیرنده متوالی می باشند . بدین ترتیب امکان استفاده از  connection string به دفعات فراهم می گردد. این کار بطرز چشمگیری باعث بهبود سرعت می گردد . در چنین مواردی می توان از فایل web.config برای ذخیره  connection string استفاده تا امکان بکارگیری آنها در صفحات متعدد یک برنامه وب فراهم گردد.
  • استفاده از date binding : سریعترین روش بازیابی و نمایش اطلاعات از یک بانک اطلاعاتی  ، استفاده از یک DataReader و یا Dataset و نسبت دهی مستقیم آن به یک کنترل داده است . رویکرد فوق ممکن است به عملیات بیشتری جهت استفاده از تمپلیت های سفارشی نیاز داشته باشد ولی این وضعیت بمراتب بهتر از حالتی است که بطور دستی بین سطرها ( رکوردها ) حرکت و آنها را در صفحه مورد نظر قرار داد. 

و...

NikoFile


دانلود با لینک مستقیم


دانلود مقاله افزایش کارآئی برنامه های وب در ASP.NET 2.0