PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : افزایش سرعت با مم‌کشد



zartosht
May 11th, 2014, 17:22
memcached یک سیستم کش آزاد و اپن‌سورس است که با کاهش لود دیتابیس سرعت دسترسی به وب‌سایت‌های داینامیک یا برنامه‌ها را افزایش می‌دهد. این برنامه رکوردهای دیتابیسی که امکان کش شدن دارند را برای استفاده در کوئری های بعد در حافظه RAM نگه‌داری می‌کنند.



عملکرد: حالتی را تصور کنید که برنامه یا وب‌سایت شما داده‌هایی در پایگاه داده دارد که در بازه زمانی کوتاه تغییر نمی‌کند (مثلا پست‌های وبلاگ شما) پس چه لزومی دارد که هر بار با ارسال جستجو به پایگاه داده بار اضافه به روی پایگاه داده تحمیل کنیم و از طرفی سرعت وب‌سایت و یا برنامه را افزایش دهیم.

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



نصب و راه اندازی با php در سنت‌او‌اس:




ابتدا مخزن EPEL را به لیست مخازن سیستم اضافه می‌کنیم.





#rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm


سپس با دستور زیر memcached و php-pecl-memcache و memcached-selinux را نصب می‌کنیم.



yum install memcached php-pecl-memcache memcached-selinux

سپس فایل تنظیمات را ویرایش می‌کنیم.



nano /etc/sysconfig/memcached


و فایل را به شکل زیر ویرایش می‌کنیم.



PORT="11211"
USER="memcached"
# max connection 2048
MAXCONN="2048"
# set ram size to 2048 - 2GiB
CACHESIZE="4096"
# listen to loopback ip 127.0.0.1, for network connection use real ip e.g., 10.0.0.4
OPTIONS="-l 127.0.0.1"




با دستورات زیر memcached را راه اندازی می‌کنیم.


chkconfig memcached on

service memcached start


ابتدا آی‌پی‌های سرورهای memcached را در آرایه مشخص می‌کنیم. سپس یک نمونه جدید از memcache می‌سازیم و سرورها را memcache معرفی می‌کنیم. در نهایت بررسی می‌کنیم اگر دیتایی با کلید huge_data_for_front_page در memcache وجود داشت دیتا را دریافت می‌کنیم (یعنی اطلاعات قبلا درخواست شده و در کش ذخیره شده) در غیر اینصورت از پایگاه داده کوئری می‌گیریم و نتیجه را در پایگاه داده ذخیره می‌کنیم. مدت زمان باقی ماندن کش را بروی ۶۰۰ ثانیه و یا ده دقیقه تنظیم می‌کنیم.



memcached و سی‌ام‌اس ها: بسیاری از سی‌ام‌اس‌های آزاد و متن‌باز به صورت پیش‌فرض و یا با کمک پلاگین می‌توانند با memcached کار کنند.


برای وردپرس باید پلاگین memcached (http://wordpress.org/extend/plugins/memcached/) نصب شود.


کاربران دروپال با استفاده از پلاگین memcached (http://drupal.org/project/memcache) می‌توانند از مم‌کشد استفاده کنند.


وی‌کی‌مدیا به صورت پیش‌فرض از مم‌کشد (http://www.mediawiki.org/wiki/Memcached) پشتیبانی می‌کند.


امنیت: memcached هیچ مکانیزم امنیتی برای تایید کاربران ندارد! هر کاربری با دانستن شماره پورت و آدرس سروری که memcached روی آن در حال اجراست می‌توانند براحتی به دیتابیس شما دسترسی پیدا کند و اطلاعات شما را پاک کند، تغییر دهد و یا سرقت کند. بنابراین در هنگام راه‌اندازی باید سیستم را با دیواره آتش امن کرد پورت memcached را از پورت پیش فرض ۱۱۲۱۱ به پورت ناشناس دیگری تغییر داد و همچنین دسترسی به سرور و پورت را از خارج سیستم و شبکه مسدود کرد.



برنامه‌های جانبی: با استفاده از برنامه memcached-tool IP_ADDRESS:Port می‌توان وظعیت memcached را در سرور مشاهده کرد.


memcached-tool 127.0.0.1:11211


MemcacheDB: یک دیتابیس بر پایه memcached است که امکان ذخیره سازی اطلاعات را بصورت پایا فراهم کرده.

اطلاعات بیشتر را در سایت پروژه بخوانید. (http://memcached.org)



منبع :
افزایش سرعت با مم‌کشد - ایران سرور (http://blog.iranserver.com/%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-%D8%B3%D8%B1%D8%B9%D8%AA-%D8%A8%D8%A7-%D9%85%D9%85%E2%80%8C%DA%A9%D8%B4%D8%AF/)