![]() |
| ||
| به انجمن Perisan Networks خوش آمدید. این انجمن محیطی برای بحث و تبادل نظر در مورد مسائل مختلف موجود در شبکه های کامپیوتری است. در این انجمن می توانید پرسشهای خود را مطرح نمایید و در مورد آنها با دیگران به تبادل نظر بپردازید، از تجربیات دیگران استفاده کنید و تجربیات و دانش خود را با دیگران به اشتراک بگذارید. مشاهده مطالب نوشته شده و خواندن نوشته های دیگران آزاد است، ولی برای دسترسی به تمامی قابلیتهای انجمن (نظیر نوشتن مطلب و دریافت فایل ها و ...) حتما باید ثبت نام کنید. پیش از ثبت نام قوانین انجمن به شما نمایش داده می شود، خواهشمندیم حتما با دقت قوانین را مطالعه فرمایید. برای ثبت نام در انجمن از این صفحه استفاده کنید. اگر در حین ثبت نام و یا ورود به انجمن با مشکلی مواجه شدید، از طریق این صفحه و با پر کردن فرم مربوطه به مدیر انجمن اطلاع دهید تا مشکلتان بررسی و برطرف گردد. |
| |||||||
| ثبت نام | قوانین انجمن | جستجو | نوشته های امروز | علامت گذاری انجمن ها به عنوان خوانده شده |
![]() |
| | LinkBack | امکانات بيشتر | جستجو در اين بحث | رتبه بدهيد | نحوه نمايش |
| | #1 (permalink) |
| (Mohammad Rasoul Rasti) Registered User Join Date: Feb 2004 Location: شهر گور نوشته ها: 3,791 Thanks: 310 Thanked 469 Times in 363 Posts Groans: 63 Groaned at 35 Times in 22 Posts | دوست عزیز مشکل همه ی ما اینه که همیشه دوست داریم یه نفر لقمه رو جویده و معذرت میخوام گاها هضم شدهتو دهنمون بزاره . بدتون نیاد اما من خودم هم همچین عادتی داشتم و نیز اینکه توقعمون هم یخورده بالاست . شما اگه یه جستجو در مورد کلمه کش تو همین انجمن میکردی حدود 3 صفحه موضوع تاپیک بهت ارائه میشد : http://forum.persiannetworks.com/sea...searchid=97298 که بعید میدونم حداقل تو یکی از این تاپیک ها در مورد سوال شما اطلاعاتی نوشته نشده باشه . در ضمن بابت سوالاتی که شاید هیچ دوست یا عضوی از انجمن پاسخ اون رو ندونه هم درست نیست همچین مطلبی رو عنوان کنید . تاپیک هایی که من به اونها برخوردم و به نظرم متناسب با پرسش شما بودند : بحث اجمالی از نحوه دریافت تا نصب و استفاده از ریز ترین بخش های کش اکسپرس : CacheXpress تبادل نظر در مورد سریعترین پروکسی سرور : سريعترين Proxy Server اکسز سرور و کش سخت افزاری : َِِاکسس سرور و کش سخت افزاری مقاله ای در مورد اسکوئید : نصب و پیکربندی سرویسدهنده Squid اطلاعاتی در مورد آیزا : درباره ISA نرم افزار کش در شبکه : نرم افزار كش براي شبكه سخت افزار برای کش سرور : سخت افزار برای کش سرور فایر وال برای کش سرور : فایروال برای کش سرور تبادل نظر در مورد بهترین نرم افزار برای کش : بهترين نرم افزار براي cache ؟ فوري فوري و 118 تا مورد در مورد کش. امیدوارم از این به بعد بتونید سریعتر به پاسخ سوالاتتون برسید . متشکرم. __________________ محمد رسول راستی www.Firoozabad.Com m_rasoul_rasti @ yahoo . com |
| | |
| تبلیغات |
| تبلیغات در Persian Networks |
| | #2 (permalink) |
| Registered User Join Date: Oct 2004 Location: Hamedan نوشته ها: 18 Thanks: 0 Thanked 0 Times in 0 Posts Groans: 0 Groaned at 0 Times in 0 Posts | نه داداش من گفتم اصول کلی کش ها. منظورم یه برنامه خاص نبوده.اگر دقت کرده باشین اینجا بیشتر دوستان در مورد نحوه تنظیم و رفع مشکل کش ها صحبت میکردند من یه انجور مطلبی میخواستم : 1-مقدمه: Cache بخشي از فضاي يك سخت ديسك است كه نقش يك بافر با ويژگيهاي خاص را ايفا مي كند و محتويات آن مرتب در حال تغيير است. Caching اطلاعات واژه اي است كه امروزه به صورتي بسيار گسترده براي توصيف راه حلهايي كه بر اساس مفهوم Cache ارائه مي شوند، استفاده مي شود. اين راه حلها در مجموع افزايش كارآيي (Performance) و قابليت توسعه پذيري (Scalability) وب سايتهاي اينترنتي را درپي دارند. دو دليل عمده براي استفاده از Web Cache ها در اينترنت وجود دارد:
اين دو پارامتر در مجموع كارآيي بيشتر و بهتر يك Web site ودر نتيجه تحمل پذيري وب سايتها توسط كاربران و بازديدكنندگان را در پي دارند. (اصطلاح تحمل پذيري شايد واژه اي مناسب براي توصيف user experience باشد). دلايل مختلفي ممكن است سبب گردند تا يك سايت براي بازديدكنندگان قابل تحمل نباشد.برخي از اين دلايل عبارتند از:
شكل1: چرخه حيات سايتهاي اينترنتي شكل1: چرخه حيات سايتهاي اينترنتي شكل1: چرخه حيات سايتهاي اينترنتي شكل1: چرخه حيات سايتهاي اينترنتيبه همين دليل فرآيند توسعه و رشد يك سايت فرآيندي گام به گام و داراي يك چرخه تكاملي است كه با طي كردن آن مي توان به داشتن يك سايت موفق در اينترنت اميدوار بود. در شكل 1 جايگاه Cache و Caching اطلاعات را در اين فرآيند مي توانيد مشاهده كنيد راه حلهايي كه در حيطه Caching اطلاعات در وب ارائه مي شوند را مي توان به سه گروه دسته بندي كرد: Proxy Caching , Server-side Caching , Client-side Caching. نوع اطلاعاتي كه د ر web cacheها بايد ذخيره شوند، نخستين و مهمترين عامل براي تعيين نوع Caching انتخابي براي يك Web site هستند. در حاليكه امروزه Proxy Cacheها يك تكنيك متعارف و پر استفاده در اين حيطه محسوب مي شوند، Server-side Cachingها نيز به عنوان يك شيوه Caching پوياي اطلاعات با اقبال عمومي تكنيسين ها و طراحان سايتها روبرو مي شوند و بر محبوبيت آنها افزوده مي شود. اما عليرغم مزاياي فوق مساله وجود Cache در اينترنت مشكلاتي را سبب شده است كه بيشتر ناشي از فهم نادرست عملكرد آنها و قدرت مديران سايتها در كنترل آنها ست. نگراني*هايي در ارتباط با وجود Cache در ميانه راه ميان Client و Server وجود دارد: نخست:نگراني مديران سايت ها در از دست دادن كنترل سايتها مساله دوم: مساله به روز بودن Object هاي درخواستي از جانب Client براي بررسي بيشتر مساله بايد جوانب مختلف مساله Caching اطلاعات را مورد بررسي قرار دهيم. نوع محتويات وب، انواع Cacheها، تدابير انديشيده شده براي مساله Caching در پروتكلها و نحوه كار آنها، تكنولوژيهاي مختلف مورد استفاده در طراحي سايتهاي با محتواي پويا و ابزارهاي موجود در آنها براي استفاده و كنترل قدرت Cacheها ، معرفي برخي ابزارهاي مورد استفاده براي تحليل سايتها از نظر ميزان Cacheپذيري و ...مسائلي هستند كه در ادامه اين مقاله به بررسي آنها خواهيم پرداخت. انواع Web siteها از نظر محتوا: 2-انواع Web Cacheها: <LI> Browser Caches:مرورگرهاي مدرن امروزي بخش هايي براي تنظيمات مربوط به Cache دارند. اين تنظيمات به مرورگر اجازه مي دهند که بخشي از فضاي سخت ديسک کامپيوتر را براي نگهداري Object ها و اشيا دريافت شده (و مشاهده شده توسط کاربر) مورد استفاده قرار دهد. اين نوع از Cache به خصوص براي مواردي مفيد است که استفاده کننده از سيستم از کليد Back براي مشاهده صفحاتي که قبلا ديده است استفاده مي کند. Clearing the Cache In Internet Explorer 6.0:
In Netscape Communicator 6.2:
Turning Off Caching In Internet Explorer 6.0:
In Netscape Communicator 6.2:
شكل///عملكرد web browser cacheهاProxy Caches Web Proxy Cacheها نيز با همان مجموعه قواعد فعاليت مي كنند، منتها در يك مقياس وسيعتر. پروكسي ها به صورت همزمان صدها يا هزاران كاربران را سرويس مي دهند نظر به اينكه Proxy Cacheها تعداد زيادي كاربر را در پشت سر خود دارند، لذا تاثير استفاده از آنها در كاهش تاخير و ترافيك بسيار مشهود است. دليل اين امر نيز بسيار ساده است. اشيايي كه يك بار و توسط يك كاربر درخواست شده اند مي توانند در پاسخ به درخواستهاي تعداد زيادي از كاربران كه درخواستي براي آن شيء دارند مورد استفاده قرار گيرند. اكثر Proxy Cacheها توسط شركتها يا ISPهاي بزرگ مورد استفاده قرار مي گيرند تا پهناي باند اينترنت مورد استفاده توسط خودشان را كاهش دهند. استفاده اشتراكي از Proxy Cacheها باعث بالا رفتن نسبت Hit در Cacheها مي شود كه اين نيز به نوبه خود كارآيي بيشتر و بهتر اين سيستم ها را در مقايسه با Browser Cacheها در پي دارد 3-مشکلات Web Cacheها : اصولا مساله Cache در اينترنت و واسطه بودن آن ميان Client و Server مشکلاتي را به همراه دارد که بيشتر ناشي از فهم نادرست عملکرد Cache ها در اينترنت است. يکي از مشکلاتي که در اين ارتباط وجود دارد مساله از دست دادن کنترل سايت توسط مديران سايت ها (Web master) است. در اين مورد مديران سايتها خصوصا نگران از دست دادن کنترلشان بر سايت هستند. Cache ها مي توانند بينندگان سايت را ار ديد مدير سايت مخفي کنند. نگراني ديگري که در اين مورد وجود دارد مساله به روز بودن (Uptodate) اشياء درخواستي توسط مرورگر يا کاربر است. Cache ها مي توانند محتوياتي را در پاسخ به يک درخواست مرورگر ارسال کنند که ديگر اعتبار ندارند و از رده خارج شده اند. با توجه به آنچه که گفتيم متوجه شده ايد که Cache ها از يک سو باعث تسريع در زمان بارگذاري سايتها و در نتيجه سرعت بيشتر سايتها مي شوند. اين مساله مطلوب کاربران است و محبوبيت سايت را نيز در پي دارد (حداقل) و نيز باعث مصرف پهناي باند کمتري از Server مي شود. اما به نظر مي رسد وجود Cache ها مشکلاتي را در زمينه حفظ جامعيت و به روز بودن اطلاعات سايت سبب مي گردد. همچنين باعث بروز اختلالات در مديريت سايتها مي گردد. بنابر اين وجود Cache در اينترنت نوعي تناقض را به همراه دارد. براي استفاده بهتر از ويژگيهاي Cache که به نوعي محبوبيت يک سايت را نيز به دنبال دارند (اقلا از ديد سرعت در بارگذاري سايتها) بايد با نحوه کار Cache ها از نزديک آشنا شويم تا بتوانيم استفاده بهتري از ويژگيهاي Cache ها ببريم. هدرهاي HTTP: هدرهای Http اطلاعاتی هستند كه در پی درخواست يك صفحه وب، از سرويس گيرنده به سرويس دهنده و برعكس فرستاده می شود. به عبارت ديگر وقتی شما يك URL را درخواست می كنيد سرويس گيرنده شما به جز آدرس اينترنتی يك سری اطلاعات ديگر را كه شامل نوع مرورگر، IP ، نوع سيستم عامل و ... ميباشد را به سرويس دهنده ارسال می كند. همچنين وقتی سرويس دهنده درخواست شما را پس می فرستد يك مجموعه از اطلاعات مربوط به سرويس دهنده شامل مسير فيزيكی صفحه درخواست شده، نام نرم افزار سرويس دهنده وب، QueryString، و ...نيز همراه آن ارسال می كند كه به آنها متغيرهای محيطی يا Enviromnental Variables می گويند. نمونه اي از يك درخواست در قالب پروتكل HTTP را در زير مشاهده مي كنيد: GET /sourceforge/phpBB.zip HTTP/1.1 heanet.dl.sourceforge.net Accept: */* Referer:http://prdownloads.sourceforge.net/phpBB.zip User-Agent: Pragma: no-cache Cache-Control: no-cache نمونه اي از سرآيند پاسخ ارسال شده از Server در قالب پرونكل استاندارد HTTP را در زير مشاهده مي كنيد: HTTP/1.1 200 OK Date: Fri, 30 Oct 1998 13:19:41 GMT Server: Apache/1.3.3 (Unix) Cache-Control: max-age=3600, must-revalidate Expires: Fri, 30 Oct 1998 14:19:41 GMT Last-Modified: Mon, 29 Jun 1998 02:28:12 GMT ETag: "3e86-410-3596fbbc" Content-Length: 1040 Content-Type: text/html HTTP_USER_AGENT: نوع مرورگر و نوع سيستم عامل سرويس گيرنده REMOTE_ADDR: IP كاربری كه صفحه را درخواست كرده است HTTP_REFERER: URL صفحه ای كه از آنجا به صفحه شما Link شده است SERVER_NAME: DOMAIN NAME سايتی كه صفحه شما در آن قرار دارد. HTTP_HOST: نام كامل ميزبان وب HTTP_COOKIE: كوكی هايی كه به مرورگر ارسال ميشود HTTP_ACCEPT_LANGUAGE: زبانهايی كه مرورگر پشتيبانی ميكند URL: URL صفحه مابين DOMAIN NAME و QueryString PATH_PHYSICAL_PATH: آدرس فيزيكی دايركتوری ريشه WEB PATH_TRANSLATED: مسير فيزيكی صفحه ASP شما QUERY_STRING: دقيقا QueryString را بر می گرداند. SERVER_SOFTWARE: نرم افزار سرويس دهنده وب مثل Microsoft-IIS/4.0 در زبان ASP به كمك كد زير مي توانيد ليست كاملي از HTTP Headerها و متغيرهاي محيطي را مشاهده كنيد. <% strName in Request.ServerVariablesDim strName For Each Response.Write "<Font Color=blue><B>" & strName & ": " & "</B></Font>" & _ Request.ServerVariables (strName)& "<BR>" Next %> اما در زبان PHP اين كار با تابع phpinfo() صورت مي گيرد. به كمك اين دستور ليستي از متغيرهاي محيطي مورد استفاده در زبان PHP را مشاهده مي كنيد. براي استفاده از مقادير اين متغيرها در برنامه هاي به زبان PHPبايد از آرايه هايي كه براي اين منظور تدارك ديده شده است استفاده كرد (گرچه به صورت Global و تنها با نام نيز قابل دستيابي هستند). مثلا براي اطلاع از نوع مرورگر درخواست كننده اطلاعات مي توان از متغير "$HTTP_USER_AGENT" استفاده كرد و نوع مرورگر را تشخيص داد. در زبان PHP به كمك كد زير مي توانيد ليست كاملي از HTTP Headerها را مشاهده كنيد $headers = getallheaders();while (list ($header, $value) = each ($headers)) { echo "$header: $value<br>\n";} پرونكل HTTP و مكانيسم هاي كنترل رفنار و عملكرد Cacheها: Validation Model هنگاميكه Cache يك مدخل فاسد داشته باشد، در پاسخگويي به درخواستهاي ارسالي از جانب Client ها براي آن شيء، نخستين كاري كه بايد انجام دهد مطابقت دادن نسخه موجود در Cache (نسخه Stale) با نسخه اصلي موجود در Server است. (و يا با نسخه اي معتبر در يكي از Cacheهاي مياني)، تا ببيند كه آيا نسخه موجود در Cache هنوز قايليت استفاده دارد يا خير؟ اين عمليات را عمليات معتبرسازي (Validating) مدخل موجود در Cache مي نامند و يكي از مكانيسم هاي اصلي مورد استفاده توسط Cache براي بهبود بخشيدن به عملكرد سايتهاست. توجه داريم كه به صورت بالقوه دونوع هزينه و سربار در اين فرآيند مي تواند نهفته باشد. نخست سربار مربوط به ارسال پاسخ كامل از سوي Server در حالتيست كه نسخه موجود در Cache هنوز قابل استفاده است و ديگري هزينه رفت و برگشتهاي اضافي در حالتيست كه نسخه موجود در Cache فاقد اعتبار لازم است. براي جلوگيري از پرداخت اين هزينه ها پروتكل HTTP1.1 از يك مكانيسم شرطي براي اين مورد سود جسته است. در حقيقت با استفاده از مكانيسم اعتبارسنجي مي توان پهناي باند مورد استفاده را كاهش داد. ويژگي كليدي استفاده شده در اين پروتكل استفاده از مفهوم Cache Validator است. هنگاميكه Server اصلي يك پاسخ كامل در جواب يك درخواست توليد و ارسال مي كند، گونه هاي مختلفي از Validator ها نيز به همراه آن ارسال مي گردند كه به همراه شيء درخواستي در Cache ذخيره مي شوند. هرگاه Client (اعم از web browser يا proxy cache) درخواست شرطي براي منبعي داشته باشد كه مدخل ناظر در Cache نيز دارد، Validatorهايي به نيز به همراه اين درخواست ارسال مي كند. server اصلي در ابتدا Validatorها ي ارسالي را با Validatorهاي منبع مورد درخواست مقايسه مي كند. اگر اين Validatorها با يكديگر منطبق باشند، در پاسخ تنها يك سرآيند (بدون هيچ بدنه اي) ارسال مي كند. اين سرآيند معمولا حاوي يك كد وضعيت (Status Code) ويژه است (معمولا كد 304, Not modified). اما اگر Validatorها بر يكديگر منطبق نباشند، Server در پاسخ به درخواست Client پاسخ كامل (حاوي سرآيند و بدنه) ارسال مي كند. با اعمال اين مكانيسم از ارسال پاسخ كامل توسط Server اصلي در حالتي كه نسخه موجود در Cache هنوز معتبر است (Validatorها با يكديگر برابرند) ، و نيز از رفت و برگشتهاي اضافي در حالتيكه Validatorها بر يكديگر منطبق نيستند جلوگيري شده است تنها تفاوت ميان پروتكل اخير در قسمت سرآيند درخواستها است. در پروتكل HTTP1.1 در قسمت Header درخواستها برخي پارامترهاي اضافي نيز تدارك ديده شده است (كه همان Validatorها هستند). نكته ديگري كه بايد به آن توجه داشت اين است كه الزامي در استفاده از Validatorها توسط Server وجود ندارد. در اين حالت اشياء ارسال در Cache ذخيره مي شوند و تا زماني كه تاريخ انقضاء آنها فرا نرسيده است در Cache معتبر هستند. مگر اينكه توسط دايركتيوها نظير Cache-control از cacheشدن آنها جلوگيري شود. انواع Validator ها : 1- Last-Modified Date (تاريخ آخرين اصلاح): معمولا به عنوان Cache-Validator استفاده مي شود. يك مدخل موجود در Cache معتبر است اگر از تاريخ آخرين اصلاح آن تاكنون اصلاحي بر روي آن در Server صورت نگرفته باشد. 2-Entity Tag: ETagها براي مواردي به كار مي روند كه استفاده از Validatorهاي زماني ممكن نباشد. اصولا در سيستم هاي توزيع شده بهره گيري از مفهوم زمان مي تواند به صورت بالقوه تناقض و ناهمگوني را در سيستم ها در پي داشته باشد. لذا استفاده از اين نوع Validatorها، قابليت اعتماد و اطمينان بالاتري را نسبت به Validatorهاي زماني در پي خواهد داشت. 3- Validatorهاي قوي و ضعيف: ديديم كه در شيوه اعتبارسنجي (Validating) Server اصلي و Cache اطلاعات مربوط به Validatorهاي خود را با يكديگر مقايسه مي كنند تا مشخص كنند كه آيا هردوي آنها يك چيز واحد را مشخص مي كنند يا اشياء و منابع اطلاعاتي متفاوتي را نشان مي دهند. به صورت عادي انتظار مي رود كه هرگونه تغيير در شيء متناظر با Validator موجب تغيير در Validatorناظر به آن گردد. در صورت برقراري چنين حالتي Validator را قوي (Strong Validator) مي نامند اما ممكن است حالتي وجود داشته باشد كه Server اصلي تمايل دارد تغييرات معنايي در Validator ايجاد كند و يا تغييرات ناچيزي در شيء متناظر با Validator ايجاد كند اما اين تغييرات در Validator نمودي نداشته باشد. اين نوع Validator را ضعيف (weak) مي نامند 3-1 cache ها چگونه کار مي کنند؟ سئوال اساسي که در اينجا مطرح مي شود اين است که Cacheها چگونه کار مي کنند؟ در پاسخ به اين سئوال بايد گفت تمام Cacheها از يک مجموعه قواعد مشخص براي پاسخدهي به درخواستهايي که محتويات آنها در Cache موجود است استفاده مي کند. برخي از اين قواعد توسط پروتکلها تعيين مي شوند (HTTP 1.0 and HTTP 1.1) و برخي ديگر از اين قواعد و قوانين توسط مديران سيستم cache تعيين مي شوند (اعم از Proxy administrator ها و يا کاربر در سيستم browser cache). به بيان ديگر در پاسخ به يک درخواست سلسله مراتبي به شرح زير رعايت مي شود:
شکل 2: سلسله مراتب و عملکرد Cache ها در اينترنتدر مجموع دو عمليات تازه سازي (freshness) و معتبرسازي (validation) دو روش عمده اي هستند که Cache ها در برخورد باContent ها از آنها استفاده مي کنند.معتبرسازي كاهش پهناي باند مورد استفاده توسط شبكه را درپي دارد و تازه سازي باعث كاهش ترافيك شبكه مي شود. تازه سازي نياز به ارسال درخواست را در بسياري از موارد از بين مي برد و معتبر سازي نياز به ارسال كامل پاسخ از جانب Server را منتفي مي سازد. 3-2 توصيه هايي براي طراحان سايتها: اعمال توصيه هاي زير مي تواند به ساخت سايتهايي که از قدرت Cache ها در رسيدن به محبوبيت بيشتر استفاده مي کنند کمک کند: <LI> قانون طلايي Caching: ارجاع يکنواخت به اشياء(refer to objects consistently): اگر محتويات يکساني را در صفحات مختلف به کار مي بريد (براي کاربران مختلف يا از سايتهاي مختلف) سعي کنيد URL هاي يکساني را براي آنها به کار ببريد. اين روش ساده ترين و مئثرترين راه براي ساخت سايتهايي است که قابليت بهره برداري از قدرت Cache ها را دارند. براي فهم بيشتر اين موضوع مثال زير را در نظر بگيريد: فرض کنيد در طراحي يک سايت پوشه articles در ريشه وجود دارد. حال فرض کنيد در اين پوشه دو فايل HTML با نامهاي f1.htm و f2.htm وجود دارند. نيز فرض کنيد که در صفحه f1.htm ارجاعي به صفحه f2.htm وجود دارد. اين ارجاع را مي توان به يکي از دو صورت زير انجام داد: <LI><a href="f1.htm">f1 page refrences 1 </a> <a href="../articles/f1.htm">f1 page refrences 2 </a> هر دو دستور فوق به يک معنا بوده و براي يک ارجاع به کار مي روند. اگر قرار است از شيوه اول استفاده کنيد در کل صفحه به همان روش عمل کنيد و اگر قرار بر استفاده از شيوه دوم است نيز در کليه ارجاعات موجود در آن صفحه و آن شاخه به همان شيوه عمل نماييد. استفاده از کتابخانه مشترک از اشياء و تصاوير مورد استفاده در سايت: سعي کنيد که تمامي اشياء و تصاوير مورد ارجاع در صفحات مختلف را در يک مکان واحد ذخيره کنيد و پيوندهاي مختلف از صفحات را به آن منبع واحد ارجاع دهيد
3-3 زبانهاي مورد استفاده در طراحي و مساله Cache: تكنولوژي PHP PHP مخفف Hypertext Preprocessor يك زبان Scripting و Server-Side مي باشد. يك Script به كدي از برنامه ميگويند كه بصورت ابتدايي Compile نميشود و فقط در صورت فراخواني و يا درخواستي براي اجرا توسط مفسّر زبان مورد نظر ترجمه مي شود و به خروجي فرستاده مي شود. اين به اين معني ميباشد كه شما دقيقاً كد برنامه خود را در جاي مورد نياز به كار ميبريد و رابط اجرايي برنامه آنرا به مفسّر مورد نظر ارجاع ميدهد. بعد از نصب مفسّر PHP شما قادر خواهيد بود كه از كدهاي PHP به همراه كدهاي HTML خود در صفحات Web استفاده كنيد و همچنين ميتوانيد Script هاي صرفاً PHP خود را به عنوان ترمينالهاي تفسير كننده داده ها و رابطهاي ورودي و خروجي بر روي سرور خود قرار دهيد. فكر اوليهPHP در پاييز سال 1994 توسط Rasmus Lerdorf (rasmus@php.net)شكل گرفت .در ابتدا نگارشي از PHP در صفحه شخصي وي به كار گرفته شد ، تا اطلاعاتي از كساني كه رزومه وي را مي بينند ، نگاه داشته شود. اولين نگارش عمومي آن در اوايل سال 95 ارايه شد و با نام ” Personal Home Page Tools “ معرفي گرديد . كه البته شامل پارسري بسيار ساده بود كه ماكروهاي خاصي را مي شناخت و نيز برخي كاربردهاي مشترك در صفحات شخصـي مانند شمـارنده يا Guestbook وبرخـي ابزار هاي ديگر را شامل مي شد. پارســر در نيمه سال 95 بازنويســي شد و با نام “ PHP/FI نگارش 2 “ ارايه گرديد . FI نام بسـته نرم افزاري ديگري از Rasmus بود كه فرم هاي داده HTML را تفسير مي كرد . پس از آن بسياري از PHP در كــد هاي خود استفاده كردند . در ميانه سال 96 ميزان استــفاده كنندگان به حـــدود 15 هـزار سايت رسيد . اين ميــزان در نيمه سال 97 در حدود 50 هزار سايت مختلف بود. در هـمين زمان PHP از حالت يك پروژه شخصي درآمد و توســط تيمي توسـعه يافت . اين گروه نگارش جديدي از PHP را ارايه دادند و پارسر آن را بازنويسي نمودند. PHP3 به سرعت مورد استفاده قرار گرفـت . هم اكنـون نيز PHP4 آخرين نگارش اين محصول است كه در آن از موتور اسكريپت Zend براي بدست آوردن قابليت هاي بيشتر استفاده شده است . امروزه ، PHP3 و PHP4 بر روي بسياري از محصولات تجاري مانند “RedHat’s Stronghold web Server” ارايه مي گردد. هم اكنون برآورد مي شود بيش 5.100.000 سايت از PHPدر طراحي استفاده كرده اند. دلايل زيادي در محبوبيت و استفاده از اين زبان در حال حاضر وجو دارد برخي از اين دلايل عبارتند از:
به صورت پيش فرض اشيائي كه توسط PHP مورد پردازش قرار مي گيرند، فاقد Validator هستندو لذا غير قابل Cache شدن. برنامه سازان سيستم هاي تحت وب مي توانند با تنظيم كردن سرآيندهاي HTTP مساله قابل Cache بودن اشيا را در اين زبان تحت كنترل درآورند. اين كار توسط تابع Header() در زبان PHP صورت مي گيرد. تنها نكته اي كه بايد در اين مورد همواره به خاطر داشت اين است كه Headerها همواره بايد قبل از هر خروجي ديگري آماده و ارسال شوند. براي مثال مجموعه دستورات زير Expires header صفحه ارسالي به سمت سرويس گيرنده را براي سه روز آينده تنظيم مي كند. <?php Header("Cache-Control: must-revalidate"); $offset = 60 * 60 * 24 * 3; $ExpireString = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; Header($ExpireString);?> همچنانكه مشاهده مي كنيد تنظيم اين سرآيندها مستلزم شناخت سرآيندهاي ارسالي از جانب سرويس دهنده در پاسخ به درخواست مرورگر است. علاوه بر آن برنامه نويس بايد از قالب اين تنظيمات نيز آگاهي داشته باشد تا بتواند تنظيمات را به درستي انجام دهد. به كمك تابع phpinfo() مي توانيد متغيرهاي محيطي مورد استفاده توسط مفسر PHP را مشاهده كنيد. Cache_Limiter: cache_limiter اطلاعات مورد نياز براي نحوه Caching داده هاي درخواستي توسط Client را در سرآيندهاي HTTP تنظيم مي كند. مقادير قابل تنظيم آن نيز عبارتند از: nocache: از cache شدن اطلاعات در سمت Client ممانعت مي كند Public:اجازه Cache شدن اطلاعات در سمت Client را مي دهد. Private: شبيه به Public است منتها كمي محدودتر عمل مي كند. مقدار اين تنظيم در حالت عادي توسط session.cache_limiter تعيين مي شود. براي هر درخواست ارسالي بايد session_cache_limiter() فراخواني شود (قبل از session_start) تكنولوژي ASP: ASPكلاسيك نيز قابليت تنظيم سرآيندهاي HTTP را براي تنظيم نحوه Cache شدن صفحات داراست. به عنوان مثال براي تنظيم زمان فساد (Expiry) صفحات، مي توان از خاصيت Expires شيء Response در صفحات ASP استفاده كرد. <% Response.Expires=1440 %> اين دستور مدت زمان اعتبار شيء مورد نظر را به صورت نسبي و بر حسب دقيقه بيان مي كند. (به اين معني كه از زمان درخواست اين صفحه و ذخيره شدن آن در Cache به مدت 1440 دقيقه يا 24 ساعت اين صفحه معتبر بوده و هر درخواست ديگري كه ناظر به اين صفحه باشد از ناحيه Cache پاسخ داده مي شود و نه از ناحيه Server). اين زمان را به صورت مطلق نيز مي توان بيان كرد و نمونه اي از آن را در قسمت بعد مشاهده مي كنيد <% Response.ExpiresAbsolute=#May 31,1996 13:30:15 GMT# %> همچنين سرآيندهاي Cache-Control نيز مي توانند به صفحات وب افزوده شوند. <% Response.CacheControl="public" %> در اينجا نيز بايد توجه داشت كه قبل از توليد خروجي HTML كار تنظيم سرآيندهاي HTTP را به كمك فراخواني رويدادهاي Response انجام داده باشيد و يا از Response.Buffer براي بافر كردن خروجي استفاده كنيد. به عنوان يك قاعده كلي سرآيندهاي HTTP همواره بايد قبل از خروجي هاي HTML ارسال شوند. نكته ديگري كه بايد به آن توجه داشته باشيد اين است كه ASP ها مقدار Cache-Control را به صورت پيش فرض private فرض مي كنند. براي اينكه اين صفحات توسط Shared Cache هاي تحت پروتكل HTTP1.1 قابل Cache شدن باشند بايد حتما اين مقدار به Public تغيير يابد. تكنولوژي .NET : در مقايسه با تكنولوژي هاي Server-side اي كه تاكنون مورد بررسي قرار گرفتند به نظر مي رسد تكنولوژي.NET از قدرت بيشتري براي بهره برداري از توان Cacheها برخوردار است. .NET اين ويژگي را دارد كه تمام صفحه، بخش خاصي از آن يا تنها داده هاي صفحه را ذخيره كند. اين سه بخش را .NET به ترتيب با Output Cachingو Fragment Caching و Data Caching مي شناسد. <LI>صفحاتی که از Output Caching استفاده می کنند برای بار اول اجرا می شوند و سپس حاصل آن cache می گردد. جهت پاسخگوئی به درخواستهای بعدی برای همين صفحه، از نسخه cache شده استفاده می گردد. اين كار با استفاده از دايرکتيو OutputCache@ در ابتداي صفحات وب طراحي شده به كمك اين تكنولوژي صورت مي گيرد. و در حقيقت اين دايركتيو فعال كننده اين ويژگي براي صفحات وب است. اين نوع از Cache دقيقا مشابه همان هايي است كه در تكنولوژيهاي PHP و ASP كلاسيك مورد بررسي قرار گرفت. حتي در اين مورد شكل دستورها در ASPكلاسيك و C# نيز بسيار شبيه به يكديگر است. <%@ OutputCache Duration = "..." VaryByParam = "..." Location = " ... " %> و يا [C#] Response.Cache.SetExpires(DateTime.Now.AddSeconds( 600)); Response.Cache.SetCacheability(HttpCacheability.Pu blic); صفات OutputCaching Duration: مدت زمان معتبر بودن cache را مشخص می کند. مقداردهی اين صفت الزامی است و مقدار آن بر اساس ثانيه است. Location: محل قرار گرفتن cache را مشخص می کند. در حالت Server صفحه cache شده در حافظه سرور نگهداری می شود. در حالت Downstream صفحه cache شده بر روی proxy server نگهداری می گردد. در حالت Client صفحه cache شده بر روی مرورگر کاربر قرار می گيرد. در حالت Any صفحه cache شده بر روی هر يک از موارد فوق می تواند قرار گيرد. در حالت None صفحه مربوطه عملا در هيچ کجا cache نخواهد شد. VaryByParam: نسخه های cache متفاوتی از صفحه مورد نظر براساس پارامترهای موجود در QueryString و Form يا ترکيبی از آنها ايجاد می گردد. <%@ OutputCache Duration="10" VaryByParam="location;count" %> VaryByHeader: نسخه های cache متفاوتی براساس مقادير مختلف پارامتر تعيين شده در HTTP header ايجاد می گردد. <%@ OutputCache Duration="60" VaryByHeader="Accept-Language" %> <LI>VaryByCustom: اگر مقدار اين صفت کلمه خاص "Browser" باشد، cache مورد نظر براساس نوع و نسخه اصلی مرورگرايجاد خواهد شد. اگر مقدار آن يک رشته دلخواه باشد، آنگاه لازم است که شما متد HttpApplication.GetVaryByCustomString را در فايل Global.asax را بگونه دلخواه بازنويسی کنيد. علاوه بر اينکه شما می توانيد تمام يک صفحه را cache کنيد، شما حتی می توانيد بخشی از يک صفحه را cache کنيد. به اين عمل Fragment Caching گويند. بدين منظور لازم است که شما بخش های مورد نظر را بصورت User Control يا کنترل کاربری ايجاد کرده باشيد.تعيين محل ذخيره سازي اين اطلاعات توسط برنامه ساز مقدور نمي باشد و محل ذخيره سازي بر روي سرور در نظر گرفته مي شود VaryByControl: ششمين صفت موجود در دايرکتيو Outputcache@ می باشد. تنها می توان در کنترلهای کاربری از آن استفاده کرد. استفاده از آن سبب می شود تا cacheهای متعددی براساس خواص (properties) کنترل کاربری ايجاد گردد. [*.ascx]<%@ Language="C#" %><%@ OutputCache Duration="10" VaryByControl="State;Country" VaryByParam="*"%><script runat=server>public String State {get { return state.Value; }set { state.Value = State; } }public String Country {get { return country.Value; }set { country.Value = Country; } } </script> <LI>با استفاده از data cache می توان داده های برنامه مانند رشته ها، DataSetها و ساير اقلام داده و آبجکت را بصورت زير cache کرد: Cache ("counter") = mycount.text |
| | |
| | #3 (permalink) |
| Registered User Join Date: Oct 2004 Location: Hamedan نوشته ها: 18 Thanks: 0 Thanked 0 Times in 0 Posts Groans: 0 Groaned at 0 Times in 0 Posts | اینم یکی دیگه چكيده كردن محتويات Cache در دنياي كامپيوتر سابقه طولاني دارد، اما Cacheاگر چه مفهوم اينترنت و وب يك فن آوري كاملا ً جديد براي كارايي وب **است. اين ارايه خلاصه ايــسـت از Cache FORCE ، معرفي Web Cache در اينترنت ، ويژگي هاي Cashingمفاهيم .Web Cache محصول شركت پركام تكنولوژي ، و نهايتاً بررسي رده هاي داخلي مقدمه در وب آن است كه صفحات ومحتويات وب تا حد امكان در مكاني نزديكCachingهدف از كاربران، نگهداري شود . در اين صورت ، ديگر نيازي نيسـت كه در خواسـت هاي آيــنده ، از هـمان سـرويس اصلــي پاسخ داده شود . يـكي از مزاياي عمده اين فن آوري ، كم شدن مصرف پهناي باند و در نتيـــجه كم شدن هزينه سرويـس ، و نيز بـهبود كيـفـيت به صـورت زمان پاسـخ كوتاهتر است. كم شدن ترافيك به معناي هزينه كمتر در سطح ملٌي يا بين المللي و كم شدن درنگ وتاخــير بـه معني صرفه جويي در زمان مشتريان و ماشين هاي مورد استفاده(هم در طرف سرور و هم در طرف مشتري) است . كم شـدن بار روي مسير يــاب ها و سرورهاي وب ، يكي از مزايــاي ، افزايش قابليت اطمينان است. بدين معنا كه حتـيCaching مزيت ديگر است.Caching هنوزCacheوقتي ارتباط با شبكه خارج از سايت قطع باشد، بسياري از درخواست ها توسط پاسخ داده مي شود. در وب آشنا مي شويد.Cachingدر ادامه با انواع Cachingانواع را در دو موضع متفاوت به شرح زير اعمال كرد:Cachingمي توان عمل Explorer Caching الف ) برنامه كلاينت (مرورگر) يا هاCache مستقيم روي سرور Caching ب ) است ، كه مي توان آنرا در دستهProxy server ،Cache قابل ذكر است كه نوعي از وب دوم جاي داد . ولي ما از ذكر توضيح بيشتر در اي زمينه خودداري مي كنيم. Explorer Caching الف ) برنامه كلاينت (مرورگر) يا است . اما مـعايبي دارد كه Web Caching سـاده تريـن حالـت ممكن Cachingاين نوع عبارتند از : افزونگي ذخيره سازي اطلاعات بين كامپيوترهاي يك سايت و ممكن نبودن اعـمال در كل سـايت وعدم اشتراكِ اطلاعات بين كاربران يك سايت . امــا وقتي Cachingسيـاسـت درخواسـتهاي يك كاربر، داراي هم مكاني خاصي باشد، اين امكان براي همان كاربر مفيد است. هاCache مستقيم روي سرور Caching ب ) Cache ، در شبكه محلي قرار مي گيرد . تمام درخواستها ابتدا به Cacheدراين روش ، موجود بود ، ديگر نيازي به به اتصال به شبكه خارجي Cacheداده مي شود.چنانچه پاسخ در با سرور اصلي در شبكه Cacheيا اينترنت نيست، اما اگر پاسخ موجود نبود يا كهنه شده بود، خارجي ارتباط برقرار كرده ، و پس از دريافت جواب آنرا ذخيره مي كند تا در صورت تكرار همان در خواست ، بلافاصله به كلاينت فرستاده شود. اين گونه سيستم ها معمولا ً داراي فضاي ذخيره سازي بزرگ و انبوه و توان پردازشي بالا هستند. ها عبارتند از:Cache Serverمزاياي 1- صرفه جويي در مصرف پهناي باند در خطوط ملي و بين المللي. 2- كاهش زمان پاسخ 3- امكان نظارت و فيلتر كردن اطلاعات وارده به سايت 4- كاهش بار روي سرورهاي وب در اينترنت وساير تجهيزات مياني (مسيرياب ها ، سوئيچها و...) 5- تحمل قطعي شبكه ،به اين معنا كه وقتي ارتباط شبكه داخلي با خارج يا اينترنـت قـطع اسـت مي توان بسياري از درخواستها را پاسخ داد. 6- بهـبود كارآيي برنامه هاي شبكه اي. به اين معنا كه برنامه هاي شبكه اي مـانند برنامه هايي Cacheكه با جاوا نوشته شده اند، در صورتي كه اطلاعات مورد نيازشـــان در شبكه مــحلي، شده باشد ،سريعتر و بهتر انجام مي شوند. 7- در مقايسه با ساير راه حل ها ، براي بهبود كارآيي وكاهش زمان پاسخ ” مانند افزايش پهناي باند ، بكارگيري ماشين هاي سرور سريعتر و غيره “ كه داراي محدوديت هــستند، ارزان تر و مقياس پذير تر است. Cacheويژگي هاي ها به دو صورت نرم افزاري و سخت افزاري عرضه مي شوند. درCache Serverامروزه ها به صورت يك بسته حاوي كليه سخت افزار و نرم افزارهاCache Server در حالت دوم مي باشد .Caching- ي لازم جهت انجام را به دو دسته كاربردي و ساختاري تقسيم كرد.Cacheمي توان ويژگيهاي ويژگيهاي كاركردي: آنهايي هستند كه بطور مستقيم براي كاربران نهايي قابل رويت هستند.اما ويژگيهاي ساختاري ؛ ويژگيهاي هستند كه براي كاربران مرئي نبوده، ولي در كارآيي و قابليت اطمينان ، بسيار مطمئن بسيار موثرند. ويژگيهاي كاركردي پروتكلها: ، بايد پروتكلهاي ابرمتن وب و انتقال فايل را پشتيباني كند. به علاوه ،Cache Serverهر داشتن امكان” اتصال پايدار“ و”گرفتن شرطي “ از مزاياي عمده هستند. ويژگيهاي مديريت و پيكربندي: ، بايد ويژگيهاي زير را براي مديريت و تنظيم حافظه داشته باشد. Cache Server هر 1- واسط سريال : براي تنظيم ابتدايي و نيز حالات اضطراري ، بايد بتوان از طريق يك پايانه را پيكر بندي ، نظارت و مديريت كرد.Cache ، سيستم LCDيا شبيه ساز پايانه و يا صفحه 2- واسط وب : بايد امكان تغيير و تنظيم تقريباً تمامي پارامترهاي سيستم را فراهم آورد. 3- قابليت ارتقا : بايد بتـوان از طــريق واســـط هاي فراهم شده ، بخش نرم افزاري سيـــستم را ترجيحاً از طريق شبكه و اينترنت ارتقا داد. ، بايد در مواقع بحراني ؛ مانند خرابي ،دسترسي غير مجازو ...Cache 4- هشدارها : سيستم بفرستد.Cache هشدار مناسب را به صورت پست الكترونيك براي مسئول ، بايد اطــلاعات مشروح و مفصلي در مورد مـــيزان Cache Server 5- گزارش گيري : بـهCache كاركرد و دستيابي، تعداد درخواستهاي انجام شده ، ميزان داده هايي كه از داخل كاربران داده شده و ميزاني كه از اينترنت آورده شده و مانند آن را نــگهداري كند و بتــوان از آن گزارشهاي متنوعي تهيه كرد. ، بايد ابزارها و تسهيلات لازم براي نظارت بر كارآيي ِ خود را فراهم Cache Server 6- كند. (پروتكل نظارت از طريق شبكه) بر كارSNMP7- نظارت : بايد بتوان با ابزارهاي پروتكل آن نظارت كرد. ،بايد بتواند در صورت بروز خرابي ، تا حــــد امكان بطور Cache Server 8- بازسازي : خودكار ، خود را ترميم و بازسازي كند و اجرا را از سر بگيرد.فرآيند ترمــيم ، تا حـــد امكان سريع و كوتاه و در عين حال اطلاعات زيادي را زنده كند. در شبكه:Cache روشهاي استفاده از در شبكه استفاده نمود.Cache Server به دو شيوه مي توان از 1- تنظيم مروگرها در اين حالت ، تمام كاربران ، مرورگر خود را تنظيم مي كنند تا تمام درخواستها را از طــريق ارسال كنند.Cache 2- تنظيم روترها به اينترنتCache در اين حالت شبكه طوري پيكربندي مي شود كه تمام درخواستها از طريق آگاهي ندارند .Cache Server ارسال شوند.در اين حالت ديگر كاربران از وجود امنيت و محرمانگي 1- بايد بتوان براي تك تك كاربران اجازه دسترسي تعيين كرد. در اين صورت وقتي كاربـــران وصل مي شوند بايد نام كاربر و كلمه عبور را بدهند.Cache به 2- بايد بتوان امكان دسترسي به گروهي ازسايتها يا صفحات وب را ممنوع يامحدود كرد. را براي ايجاد امنـــيت و SSL ، بايد بتواند پروتكل هاي ايــــمني مانند Cache Server3- محرمانگي در اطلاعات مبادله شده بكار گيرد. 4- دسترسي به واسط مديريت وپيكربندي بايد محدود و محافظت شده به كمك كلمه عبور باشد. قابليت اطمينان تحمل خرابي از مهمترين ويژگيها ست . مخصوصاً در ارتباط با ساير سرورها بايد تشـــــخيص هاي همسايه قطع شده اند و ترافيك را متناسب با آن تنظيم كرد. سيستم ذخيرهCache داد كه ،بايد امكان ديسك كمكي حين كار راداشته باشد. يعني ، وقتي يــكي از ديــسكها Cacheسازي خراب مي شود ؛ بايد اطلاعات آنرا روي ديسك كمكي منتقل شود؛ تا بدون قـطع كردن سروراز شبكه ، بتوان ديسك خراب را تعويض كرد. بايد بتواند از منبع برق كمكي استفاده كند؛ تا در صورت خـرابي منبع برق Cache Server اصلي ، بي وقفه به كار خود ادامه دهد. هاCache لينك كردن ها را بهCache يك راه براي رسيدن به كارآيي بيشتر و مقياس پذيري ، آن است كه بتوان هم متصل كرد و اصطلاحاً يك ” خوشه “ ايجاد كرد. لينك كردن و خوشه بندي از نظر اقتصادي نيز به صـــرفه اســــت . زيرا مي توان با بستن چند گران قيمت دســت يـــافت. در Cache ارزان قيمت به يكديگر به كارآيي معادل يك Cache ضمن ، امكان تحمل خرابي نيز بيشتر است. و ديگر ، نــــــقطه منفرد خرابي نخواهــــيم داشت. ها طراحي و پياده سازي شدهاست. از جمله :Cache پروتكلهاي براي ارتباط بين )CARP ها (Cache) ، پروتكل مسـيريـــــابي آرايــه ICPهاي اينــترنت (Cache پروتكل بايد آنها را Cache Server) ، كه يـــك WCCP هاي وب (Cache و پروتكل ارتـــــباط پشتيباني كند. هاي سلسله مراتبيWeb Cache ها را ايجاد كرد ؛ كه به صــــورت يك گراف يا درخـــت Cache بايد بتوان سلسله مراتبي از هاي ديـــگر پدر- فرزنــــدي يا برادري دارد. Cache با Cache باشد. در اين حالــــت هر هاي برادر مي توانند از اطـــلاعات هم استفاده كنند.اما در صورتي كه اطـلاعات در Cache برادرها نباشد فقط بايد از طريق اجداد از اينترنت آورده شود. است. اما از معايب آنhit ها وبالا رفتن Cache مزاياي اين حالت امكان اشـــتراك بيشتر بين را نام برد.Over-downloadمي توان افزايش تا****خير و Caching استراتژي هـــــا هر چيزي را كه از اينترنت مي آورند؛ ذخيره مي كنند. اما ، Cache Server معمولاً مي توان براي بهبود كارآيي و كم شـــدن مصرف ديسك روي اندازه اشياء محدوديت گذاشت، يا روي طول عمر اشيا محدوديت اعمال كرد. Cache Forceمعرفي است كه Web Cache يك مجموعه كامــــل سخت افزارو نرم افزار Cache FORCE بهينهCaching كارآيي بالاو قابليت اطمينان خوبي دارد. تمــــام قسمتهاي آن ، براي منظور شده است. نرم افزارهاي آن قابليت حمل بر روي سخـــــت افزارهاي مختلف از جمله اسپارك و آلفا را دارد.زير سيستم اين محصول طوري طراحي شـده است كه مي توان به راحتي ديسكهايي به آن افزود يا ظرفيت ديسكهاي آنرا تغيير داد. سيستم فـــايل اين وسيله نيز مخصوص كارهاي طراحي شده و بنابر اين از سيستم فايلهاي عمومي به مراتب بهتر است. Caching نيز يك سيستم عامل تـــك مــــــنظوره است كه در مجموعه Cache FORCE سيستم عامل بهينه شده است. Caching قرار داده شده كه براي اهداف Cache FORCE ها Web Cacheساختمان توسعه پذير متفاوت اسـت. با نصب برد هاي مختلف Web Caching ميزان نياز برنامه هاي مختلف به در سرور قرار مي گيرند. مي توان Expansion كه در داخل شكاف هاي Web Cache در سرور افزود . به عنوان مثال با افزودن يك برد 20 ترا بايتيWeb Cacheبر حجم كلي به يك سرور مجهز به پنتيوم 450 براي عبور هر 3 گيگا بايت اطـــلاعات 3 ثانيه جبران وقت داريم. كه اين صرفه جويي در زمان انتقال بين تمام كلاينت هاي متــــصل به ســـرور تقسيم مي شود. Web Cacheرده هاي داخلي Web مجــــــهز شد ؛ عملاً سه رده داخلي از Web Cacheپس از آنكه يك سرور به يــك در اختيار هر كلاينت آن قرار مي گيرد.به عبارت ديگر سه رده مختلف داخلي پس ازCache درون آن مستتر خواهد بود . كه بر حسب نياز مي توان از هر يك ازآنهاWeb Cacheنصب عبارتند از:Web Cacheاستفاده كرد. سه رده داخلي يا وب كش مرسومConventional Web Cache Area1- WWIC يا وب كش عر ضي كه آنرا با علات اختصاري Web Width Cache Area2- نمايش مي دهند. نيز مشخص مي WHIC يا وب كش عمق كه آنرا با سر نامWeb High Cache Area3- كنند. Web عاي سخـــــت افزاري داراي رده چهارمي موسوم به Web Cacheعلاوه بر اين اكثر يا ناحيه بالا مرتبه وب كــش نيز مي باشند، كه در حالت عادي و به Upper Cache Area در يك سرور نصب مي شود. Web Cacheطور عادي و خودكار هنگاميكه يك يا وب كش مرسوم بصورت پيش فرض وارد عمل Conventional Web Cache Area Conventional Web Cache Area مي شود . هنگاميكه ترافيك در شبكه به اوج رسيد؛ گــاهي از عهده بار ترافيكي موجود بر نـخواهد آمد وآن زما نــيست كه كلاينت هاي متصـــل به سرور زياد بوده از طرفي اكثر اين مشتري ها به طور همزمان در حال برقراري تماس با مورد وWHICو WWIC يعني Web Cache شــبكه هستند. در چنين وضعي دو رده ديگر و ياWHIC ويا WWIC استفاده قرار مي گيرند. بطور كـــلي براي آنكه برنامه ها بـتوانند از كه اين دسترسي را ميسر Web Cache نيز بهره بگيرند مي بايد يك برنامه مديـر WUCA مي Web Cacheمي سازد ؛ نصب شده باشد. در ادامه اين قســمت به شرح رده هاي داخلي پردازيم. Conventional Web Cache Area1- Web Cache نيز نمايش مي دهند؛ درحكم CoW مرسوم كه آنرا با سر نام Web Cache به حساب مي آيد.اغـلب آنها داراي حداقل Web Cacheپايه و اصلي درسرور هاي مجهز به را مي توان تا 5 ترابايت ديگرافزايش Web Cache10 ترابايت گنجايش هستند واين رده از شده در ســـرور مي توانند بدون نــياز به هيچ نوع Cacheداد . با اين توضيح كه برنامه هاي دستورالعمل خاصي به اين رده دسترسي داشته باشند. شده در سرور، مقداري از اين رده را اشغال مي كنند. به عبارتCaching هاي URLهميشه CoW هاي درخواستي به صورت پشته وارد ردهURLديگر هنگام تماس يك مشتري با سرور مي گردند. و پس از آنكه مشتري به محتويات پشــــته بصورت ترتيبي دست پيدا كرد، به ترتيب از خارج ميشوند. Cow Web Width Cache Area2- در شرايط اضطراري كه ترافيك شبكه به اوج مي رسد Web Cacheيكي از راههاي توسعه اسـت. كه Web Width Cache Area به نام Web Cacheآزاد سازي رده ديـگري از بصورت كمكي در اختيار قرار مي گيرد. براي آنكهConventional اين رده به موازات رده استفاده كنند؛ دستورالعمل هاي خاصي موردWWICمشتري ها بتوانند در مئاقع اضطراري از اگر بتواند در دسترس كاربران قرار گيرد، بسيار سريع و كارآمد است.WWICنياز است.رده مي بايستي درايـــوري به نام Web Cacheنكته مهم اينست كه براي استفاده موثر ازاين رده نصب شود. اين برنامه ، از استفاده همزمان چند مـشتري از يكWeb Width Cache مدير را براي مشـتري ها آسان مي Cache جلوگيري كرده ، و كاربرد اين نوعWWICقسمت از كند. Web High Cache Area3- نيز مي باشد.مشتري هنگام WHIC قادر به توسعه به رده اي ديگر به نام Web Cacheهر هنگام اســتفاده از اين نوع رده ، به صورت مســـتقيم به محتويات اين رده دسترســـي ندارد. در به هر كدام يك صفحه گــفته مي شود، تقسيم بندي شـده است. WHICعوض، مذكــور ،Cacheهنگامي كه يك مــشتري اطلاعات موجود دراين صفحه را مطالبه كند، مدير صفحه مورد نظر را در ناحيه اي به نام قاب صفحه كپي مي كند. نگهداري مي شود و مشتري اطلاعاتCacheالبته خود چارچوب صفحه در قسمت بالا مرتبه مي كند.Downloadمربوطه را Web Upper Cache Area4- محـلي است كه مي توان اطـلاعاتي را كه در قسمت ديگر Web Cacheناحيه بـالا مرتبه در قرار دارند را بر روي آن كپي كرد.Cache قرار گرفته است. وConventional Web Cache Areaاين فضا بلافاصله بعداز رده هنگامي كه هر سه رده قبلي پر شده باشند مورد استفاده قرار مي گيرد. سخن آخر و انــواع آن بود.Web Cacheآنچه را كه مطالعه نموديد حاصل پــژوهشي كوچـك در زمينه وچگونگي كاربرد آن را بيان كنيم. اصولاWeb Cacheتلاش ما بر اين بود تا مفاهيم پايه اي اين زمينه از اشتــغالات وب در پي افزايش سرعت دستـرسي كاربران به محتويات اينـــترنت و همچنين كاهش هزينه ها و نيز ترافيك شبكه است . اســتفاده شده كه براي همه كاربران رايانه آشـــنا ست.درCacheبراي اين موارد از مفـــــهوم مي باشد.يعني بــراي افزايـــش Cache در وب مترادف همان مفهـــوم عادي Cacheحقيقت سرعت با پيش بـــيني اطلاعات درخواستي درآيـنده و ذخيره سازي آن در محلي كه دسترسي به آن سريعتر است؛ تقاضاهاي بعدي به سرعت و بــي نياز از دستيابي به شبكه جهاني پــاسخ داده مي شود. اشـاره شد. و چهارWeb Cacheهمچنين از ديدگاه فني و البته بسيار گذرا به رده هاي داخلي رده داخلي آن از لحاظ كاربرد و چگونگي در دسترس قرار گرفتن مورد بررســي قرار گرفت. اميدواريم اين بحث كوتاه توانسته باشد فــنآوري جديــد وب كش را به صورت مختصر معرفــي نما يـد. مهدي علـيدوست....مجتبي لـطفي كرامتيمهدي علـيدوست....مجتبي لـطفي كرامتي آخرین ویرایش توسط babi_wd در 2005-04-26 ساعت 07:39 PM. |
| | |
| | #4 (permalink) |
| (Ali Niknam) مدیر بخش Proxy/Cache/Firewall Join Date: Mar 2003 Location: Shiraz - Fars - Iran نوشته ها: 1,944 Thanks: 26 Thanked 60 Times in 52 Posts Groans: 1 Groaned at 1 Time in 1 Post | يكسري اطلاعات کلی در مورد کش سرور ها منبع: پستهاي انجمن __________________ علی نیکنام ali { a@t } niknam.ir |
| | |
| | #5 (permalink) |
| Registered User Join Date: Mar 2007 نوشته ها: 2 Thanks: 0 Thanked 0 Times in 0 Posts Groans: 0 Groaned at 0 Times in 0 Posts | اتفاقا منم دنبال یه همچین مطالبی میگردم چون موضوع تحقیق من کش سرورها ست .مطالب گفته شده کامل نیستند انگار که نصفه و نیمه هستند. اگه کاملش رو داری یا منبعش رو در اختیار داری اعلام کن تا دو نفر رو از نگرانی در بیاری |
| | |
![]() |
| امکانات بيشتر | جستجو در اين بحث |
| نحوه نمايش | Rate This Thread |
| |
مطالب مشابه | ||||
| مطلب | آغازگر | انجمن | پاسخ | آخرین نوشته |
| Install Active Directory | sinaeslami | Windows Server Family -ا- | 38 | 2008-11-15 08:08 AM |
| اصول تکنولوژی اينترنت و وب | sinaeslami | مقالات عمومی شبکه -ا- | 0 | 2005-08-23 06:33 PM |
| كامل ترين مرجع خطاهاي مودم | sinaeslami | مقالات عمومی شبکه -ا- | 0 | 2005-08-09 02:27 AM |
| پشتیبانگیری از اطلاعات در لینوکس | sinaeslami | Linux -ا- | 0 | 2005-07-21 01:08 AM |