PDA

View Full Version : تفاوت سرعت دسترسی از فایل / بانک



saraytanha
یک شنبه 03 مرداد 1389, 23:48 عصر
سلام

من یه جدول در بانکم دارم که 1 فیلد دارد و من برای نمایش محتوای فیلد در صفحه اصلی سایتم جدا از واکشی های دیگه این واکشی رو هم انجام می دهم که محتویات آن شاید هفته به هفته هم تغییر نکنه
به ذهنم رسید که همون مقدار فیلد جدول رو در یک فایل متنی بذارم و بجای واکشی از بانک از فایل متنی بخونه و بقیه ماجرا...

حالا برام سوال پیش اومده که از نظر سرعت تفاوتی هم با هم دارند؟

ممنون می شم اگه راهنمایی کنید

mehdi.mousavi
سه شنبه 05 مرداد 1389, 01:07 صبح
سلام من یه جدول در بانکم دارم که 1 فیلد دارد و من برای نمایش محتوای فیلد در صفحه اصلی سایتم جدا از واکشی های دیگه این واکشی رو هم انجام می دهم که محتویات آن شاید هفته به هفته هم تغییر نکنه به ذهنم رسید که همون مقدار فیلد جدول رو در یک فایل متنی بذارم و بجای واکشی از بانک از فایل متنی بخونه و بقیه ماجرا... حالا برام سوال پیش اومده که از نظر سرعت تفاوتی هم با هم دارند؟ ممنون می شم اگه راهنمایی کنید

سلام.
این فیلد چه هنگام و به چه طریقی قابل Update شدنه؟ شما میتونید اطلاعات مورد نظر رو در Cache نگهداری کنید، و Dependency ی Cache رو تغییر داده های جدول، یا سپری شدن یک هفته بذارید...

اما اگر پاسخ سوالم رو بدید، شاید بشه این اطلاعات رو جای بهتری نگهداری کرد.

موفق باشید.

saraytanha
شنبه 09 مرداد 1389, 12:06 عصر
سلام.
این فیلد چه هنگام و به چه طریقی قابل Update شدنه؟ شما میتونید اطلاعات مورد نظر رو در Cache نگهداری کنید، و Dependency ی Cache رو تغییر داده های جدول، یا سپری شدن یک هفته بذارید...

اما اگر پاسخ سوالم رو بدید، شاید بشه این اطلاعات رو جای بهتری نگهداری کرد.

موفق باشید.

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

raziee
شنبه 09 مرداد 1389, 12:11 عصر
در تعداد پایین DataBase بهتر عمل میکنه.(سرعت بشتر)
اما دوستی میگفت که در تعداد فایل های بالا میتونیم از IO کمک بگیریم و سرعت بیشتری رو نسبت به DB داشته باشیم.

mehdi.mousavi
شنبه 09 مرداد 1389, 13:53 عصر
وقتی که مدیر اون بخش بخواهد تغییری در اون ایجاد کنه و نحوه آپدیت کردن اون توسط یک تابع که یک store را از بانک فراخوانی می کند، انجام می شود
من با کش کار نکردم می خواهم بدونم تفاوت سرعت این دو روش چیه؟ ضمن اینکه اطلاعات این فیلد یا فایل متنی در masterpage قرار دارد و همیشه در حال خوانده شدن است. مرسی از راهنمایی شما

سلام.
از نظر Performance، استفاده از Cache بطرز چشمگیری میتونه کارایی برنامه شما رو بالا ببره. فرض کنید صفحه ای دارید که در هر دقیقه، 100 بار ازش بازدید میشه. از طرف دیگه، این صفحه برای اینکه اطلاعات رو به کاربر نشون بده، نیاز به اجرای یک Stored Procedure داره... به بیان دیگه، شما در یک دقیقه 100 بار اون Stored Procedure رو فراخوانی می کنید. حالا فرض کنید تعداد کاربرها بالاتر باشه. اینطوری بازای هر بازدید، یک بار اون Stored Procedure فراخوانی خواهد شد.

حالا فرض کنید اطلاعات رو در اولین Hit با اجرای Stored Proc. مربوطه میگیرید و اونو بصورت Time-Based در Cache ذخیره میکنید. فرض کنید زمان Expire شدن Cache رو 20 ثانیه بذاریم. به این ترتیب، در هر دقیقه، فارغ از تعداد بازدیدکننده ها، Stored Procedure مربوطه فقط 3 بار فراخوانی میشه و این یعنی یه شگفتی در Performance برنامه!

در شرایط شما، این مساله به مراتب میتونه بهتر هم باشه. چون تا وقتی مدیر مربوطه تغییری در داده بوجود نیاورده، نیازی نیست شما Cache رو Purge کنید.

برای اینکه با نحوه استفاده از Cache در ASP.NET آشنا بشید، لطفا به MSDN یا کتاب Pro ASP.NET 4 in C# 2010 (http://www.amazon.com/ASP-NET-2010-Fourth-Matthew-MacDonald/dp/1430225297/ref=pd_sim_b_1) ) رجوع کنید.

موفق باشید.