درود ،
من میخوام یک کش کننده خوب نصب کنم ، کدوم یکی از اینا رو پیشنهاد میکنید ؟ (:|
- APC
- eAccelerator
- Memcache
- XCache
؟؟؟
وب سرورم هم آپاچی + Nginx (بصورت Reverse P-r-o-x-y Server) ه ...
چقدر تو سرعت لود سایت تاثیر داره ؟ :109:
نمایش نسخه قابل چاپ
درود ،
من میخوام یک کش کننده خوب نصب کنم ، کدوم یکی از اینا رو پیشنهاد میکنید ؟ (:|
- APC
- eAccelerator
- Memcache
- XCache
؟؟؟
وب سرورم هم آپاچی + Nginx (بصورت Reverse P-r-o-x-y Server) ه ...
چقدر تو سرعت لود سایت تاثیر داره ؟ :109:
سلام
apc و Eaccelerator و Xcache هر ۳ Opcod Cache هستند . کارشون ذخیره سازی فایل های PHP در وضعیت کامپایل شده روی دیسک ها حافظه (رم) سرور است . هر ۳ بسیار استیبل و سریع هستند
APC بیشترین سازگاری رو داره . به خصوص اینکه در آینده نه چندان دور بخشی از PHP خواهد بود...همین پشتیبانی رسمی از APC توسط خود PHP باعث میشه بیشترین سازگاری رو داشته باشه . سرعت APC بسیار بالاست و فایل های کامپایل شده رو داخل RAM سرور کش میکنه .
Eaccelerator که مدت نسبتا طولانی هست که ورژن جدیدی ارائه نکرده و به نظر هم نمیرسه دیگه تولید کنندگانش قصد توسعه اون رو داشته باشند . Eacclereator تا php 5.4 رو پشتیبانی میکنه . به هر حال همچنان یکی از بهترین آپکد کش ها به حساب میاد . مخصوصا متد کش کردن فایل های کامپایل شده PHP روی دیسک توسط Eaccelerator بسیار رایج است و تاثیر زیادی روی کاهش لود سرور دارد .
ٓXcache شاید سریع ترین آپکد کش باشه ولی بیشتر برای تک سایت ها یا سرور های شخصی با تعداد سایت های کم توصیه میشه . این سیستم کشینگ بیشترین آمار نا سازگاری را با سایر سرویس ها و نرم افزار های سرور دارد و در ضمن از بعضی فانکشن های خطرناک نیز استفاده میکند . اگر فانکشن های معروف و پر ریسک رو در php.ini ببندید در فرایند نصب Xcache با ارور مواجه میشید .
Memcache کاملا کارش با ۳ آپکد کش فوق متفاوته . Memcache یک Object Cache بسیار قویه . بهترین روش برای کش کردن کوئری های دیتابیس Memcaceh هست . بازدهی زمانی به حد اکثر میرسه که از Memcache روی یک سرور جدا (Memcache Server) استفاده بشه
شما میتونید یک آپکد کش رو در کنار Memcache به صورت همزمان استفاده کنید . اگر از cPanel استفاده میکنید بهتون Eaccelerator رو بین ۳ انتخاب بالا توصیه میکنم
در ضمن استفاده از Nginx به عنوان Reverse ***** در کنار آپاچی تاثیر بسیار زیادی روی سرعت لود وب سایت ها خواهد گذاشت .
موفق باشید
درود
Eaccelerator نصب نمایید و اگر هم اسکریپت های روی سرور از cache server مانند memcached پشتیبانی میکنند حتما نصب نمایید (اکثر اکریپت های رایج مانند wordpress - joomla - vb - mybb و..) همگی پشتیبانی میکنند
ضمنا nginx+apache بسیار مطلوب میباشد و تاثر خوبی در سرعت و لود و کاهش مصرف منابع دارد
APC و ... هر کدوم کاراییشون مربوط به اسکریپت ها هست که پشتیبانی کنن یا نه مثال mybb با APC نمی تونه کار کنه و منابع بالایی مصرف می کنه ولی با xcache بهترین کارایی رو داره!
در حالت کلی xcache و memcache بهترین کارایی و سازگاری رو دارند به نظر من! APC هم باشه بد نیست ولی با بعضی از اسکریپت ها ناسازگاره ولی اسکریپت هایی هم هستند که فقط از APC پشتیبانی می کنند!
بهترین حالت ممکن برای سرویس دهی انتخابی کردن این موارد هست که مشتری خودش بتونه انتخاب کنه ! امکانی که که کلود لینوکس فراهم کرده!
من Eaccelerator رو طیق این آموزش : آموزش نصب eaccelerator کش در سرور لینوکس و کاهش لود سرور و افزایش سرعت
نصب کردم و مقادیر گفته شده ر هم ته php.ini اضافه کردم ، الان باید php رو rebiuld کنم ؟ یا نیازی نیست ؟ چطوری بفهمم درست کار میکنه ؟
برای نصب memcached حتما باید از یک سرور جدا استفاده کرد ؟ نمیشه memcached server رو همین سرور باشه ؟
وقتی تست میگیرم ، ارور داره :
eAccelerator: Unable to create cache directory ”/tmp/eaccelerator”
من پرمیشن این پوشه رو گذاشتم رو ۷۷۷ ، اما بازم این ارور هست :| و کار نمکینه .نقل قول:
[root@ca eaccelerator-eaccelerator-42067ac]# make test
Build complete.
Don't forget to run 'make test'.
eAccelerator: Unable to create cache directory ”/tmp/eaccelerator”
eAccelerator: Unable to create cache directory ”/tmp/eaccelerator”
================================================== ===================
PHP : /usr/local/bin/php
PHP_SAPI : cli
PHP_VERSION : 5.3.27
ZEND_VERSION: 2.3.0
PHP_OS : Linux - Linux 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64
INI actual : /usr/src/eaccelerator-eaccelerator-42067ac/tmp-php.ini
More .INIs :
CWD : /usr/src/eaccelerator-eaccelerator-42067ac
Extra dirs :
VALGRIND : Not used
================================================== ===================
TIME START 2013-11-16 09:33:43
================================================== ===================
دستور اولیه ارور میده :
کد:[root@omidx ~]# wget -c http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz tar -xzf memcached-1.4.5.tar.gz cd memcached-1.4.5/ yum -y install libevent libevent-devel ./configure --prefix=/opt/memcached make make install
wget: invalid option -- 'z'
Usage: wget [OPTION]... [URL]http://www.webhostingtalk.ir/f55/97365/...
Try ‘wget --help’ for more options.
[root@omidx ~]#
Up :|
درود
Eaccelerator پیشنهاد میشه . برای نصب هم در خدمت شما هستیم ...
درود
اطلاعات سرور روی برای ما از طریق تیکت در سایت ارسال کنید تا براتون نصب کنیم ...
فعلا بزارید ، بقیه دوستان هم نظر بدن ،
ترجیح میدم خودم نصبش کنم ، تا بدم یکی دیگه نصب کنه ...
چون میخوام بدونم ، الان ایراد کار من کجاست !
توضیح کاملی دادید ، این مورد هم من اضافه کنم
APC علاوه براینکه opcode cache هست قابلیت object cache هم دارد و این مزیت رو داره که همزمان هر جفت این دو نوع کش را ارائه می کند و نیازی نیست جداگانه objectcache مثل memcache نصب کنید و اکثر اسکریپت های اپن سورس مثل وردپرس و جوملا به راحتی به apc برای object cache وصل می شوند.
به تجربه و مقایسه های موجود در اینترنت apc درصد اندکی از بقیه موارد سریعتر هست و گزینه انتخابی خود من هم همیشه apc است.
درمورد apc که قراربوده در هسته پی اچ پی قرار بگیره این مورد کنسل شده و بزودی شرکت zend محصول PECL :: Package :: ZendOpcache
را که درحال توسعه هست را جایگزین apc در هسته php خواهد کرد. (توصیه نمیشه این محصول زند رو نصب کنید چون هنوز سازگاریه کاملی نداره)
در مورد eaccelator نیز که شما نصب کردید و خطا دارید به خاطر نساختن فولدر فایل های کشن و ندادن پرمیشن هست که اخیرا نسخه جدیدش تا پی اچ پی 5.4 را ساپورت میکنه
نکته ای که برای نصب هرکدام از این کش ها باید بدانید این هست که در حالت fastcgi چون هر پروسس وب سرور بصورت مستقل لود میشه عملا یک کش متمرکز وجود نداره و هر پروسس برای خودش یک نسخه کش بالا میاره که کارایی کش رو کم میکنه و بهترین کارایی این کش ها در mod_php یا fpm هست که کش بصورت متمرکز عمل میکند
الان من باید چه کار کنم ؟ پرمیشن رو میزارم رو ۷۷۷ ، بازم همین ارور هست !
suPHP رو سرور من نصب ه ، ممکنه مشکل از owner permission باشه ؟ ، اما من با یوزر روت لاگین و پرمیشن رو ۷۷۷ کردم !
تازه وقتی سرور ریبوت میشه ، پوشه ای ک ساختم + خط هایی ک به php.ini اضافه کردم ، کلا حذف میشه :|
من طیق این آموزش : آموزش نصب eaccelerator کش در سرور لینوکس و کاهش لود سرور و افزایش سرعت نصب کردم ، یکی بگه چجوری اینو حذفش کنم ؟؟؟ :| :| :|
من الان eaccelerator رو حذف و APC رو طیق این آموزش Installing Alternative PHP Cache (APC) نصب کردم .
اما بازم تو phpinfo هیچ اثری از APC نیست :|
من اینeaccelerator رو حذف کردم ، اما این ارورا چیه ؟! :|
کد:
Failed loading /usr/lib/php4/eaccelerator.so: /usr/lib/php4/eaccelerator.so: cannot open shared object file: No such file or directory
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/“eaccelerator.so”' - /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/“eaccelerator.so”: cannot open shared object file: No such file or directory in Unknown on line 0
msj
سلام
برای نصب php module Memcache از دستور pecl استفاده کنید !
pecl install memcache
حالا memcached رو به صورت زیر نصب کنید :
yum install memcached
برای نصب Eaccelerator هم فقط یک راه وجود داره و ان هم کامپایل از روی سورس هست...
wget https://github.com/eaccelerator/eacc...tarball/master
tar -xvf master
cd eaccelerator-eaccelerator-42067ac
phpize
./configure && make && make install
حالا پوشه مربوط به ذخیره سازی فایل ها رو ایجاد کنید و دسترسی هاشو هم ست کنید :
mkdir -p /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator
حالا فایل php.ini رو ویرایش کنید و خطوط زیر رو عینا توش کپی کنید :
extension = "memcache.so"
extension = "eaccelerator.so"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.check_mtime="1"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.debug="0"
eaccelerator.enable="1"
eaccelerator.filter=""
eaccelerator.optimizer="1"
eaccelerator.shm_max="0"
eaccelerator.shm_only="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_size="16"
eaccelerator.shm_ttl="0"
وب سرور رو ریستارت کنید :
service httpd restart
اگر از php-fpm استفاده میکنید باید حتما ریستارتش کنید
موفق باشید
درخواست این دوست عزیز پیگیری و حل گردید و کش سرورهای مورد نیز ایشون نصب و تنظیم شد