PDA

View Full Version : memcache (حل شد)



beh3000
یک شنبه 16 آذر 1393, 21:14 عصر
سلام

من از هاست اشتراکی استفاده میکنم و از مسئول هاست که پرسیدم گفتن ماژول memcache روی هاست نصبه ...

قبلا جایی خونده بودم که استفاه از Yiilite بدون کش apc تاثیر عکس داره یعنی به جای اینکه سرعت و کارایی رو افزایش بده کاهش میده ... حالا با استفاده از memcache چطور ؟ تاثیر منفی نداشته باشه ؟

rezaonline.net
دوشنبه 17 آذر 1393, 17:54 عصر
استفاده از Yiilite فقط با apc ممکن است .

memcache رو میتونید بعنوان کامپوننت کش پیشفرض استفاده کنید توی فایل config/main.php
:)

beh3000
دوشنبه 17 آذر 1393, 19:30 عصر
ای بابا !!! چرا اصلا این هاست memcache نصب کرده ؟! با apc چه فرقی داره ؟

hsgpro
سه شنبه 18 آذر 1393, 09:37 صبح
سلام

APC خیلی بهتره چرا memcache نصب کردن؟ این لینک ها رو ببینید APC همیشه نفر اول کش کننده ها بوده:

http://www.webhostingtalk.ir/f85/78333/
http://yon.ir/yrzo

rezaonline.net
سه شنبه 18 آذر 1393, 10:08 صبح
فکر کنم apc مخصوص php هست اما memcache برای قسمتهای دیگر هم مورد استفاده قرار میگیره به همین دلیل از memcache استفاده میکنن مدیر سرور ها

البته اینایی که گفتم مستنداتشو ندارم یعنی طبق اطلاعاتم گفتم
سرچ کنید بهتر میتونید متوجه بشید

MMSHFE
سه شنبه 18 آذر 1393, 10:52 صبح
APC تو نسخه های اخیر PHP کلاً منسوخ شده و بجاش باید با OPCache کار کنید. کاربرد memcache و APC کلاً فرق میکنه با همدیگه.

beh3000
سه شنبه 18 آذر 1393, 13:46 عصر
میشه یک مقداری بیشتر در مورد memcache توضیح بدین ؟ آخه من الان مجبورم با اون کار کنم ؟ توی yii که فک نمیکنم کش کردن با apc و memcache فرقی داشته باشه ... از لحاظ کاربرد ولی نمیدونم ؟؟!!!

نسخه php هاستم هم 5.3.28 هست

MMSHFE
سه شنبه 18 آذر 1393, 14:46 عصر
توضیحات خودش خیلی واضحه:

Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its API (http://code.google.com/p/memcached/wiki/Clients)is available for most popular languages.
توی ویکیپدیا هم خیلی خلاصه درموردش توضیح داده:
http://en.wikipedia.org/wiki/Memcached

hsgpro
سه شنبه 18 آذر 1393, 15:07 عصر
APC تو نسخه های اخیر PHP کلاً منسوخ شده و بجاش باید با OPCache کار کنید. کاربرد memcache و APC کلاً فرق میکنه با همدیگه.


سند این حرف شما چیه؟ آخه من برعکس حرف شما رو در انجمن وب هاستینگ تاک و سایت stackoverflow.com خوندم که تازه APC در PHP 6 همراه خود PHP میشه بعد شما APC که قدرت از همه کش کننده ها بیشتره رو میگید منسوخ شده؟

hsgpro
سه شنبه 18 آذر 1393, 15:12 عصر
اینم منبع حرفم که میگم APC در نسخه 6 پی اچ پی الحاقش میشه:

http://davidwalsh.name/php6


APC was originally scheduled for inclusion into the PHP core no later than PHP 6.

http://en.wikipedia.org/wiki/List_of_PHP_accelerators

MMSHFE
سه شنبه 18 آذر 1393, 15:32 عصر
زیاد به ویکیپدیا اعتماد نکنید. هر کسی میتونه بیاد مطالب رو تغییر بده. APC از 2012-04-11 تا حالا نسخه Stable نداشته. این یعنی بیش از 2 سال و نیم! پروژه APC کلاً یک پروژه 3rd-party و مرده است و درعوض Zend Optimizer و OPCache متولدین جدید این عرصه هستن که توسط تیم اصلی توسعه PHP یعنی خود شرکت Zend تولید و پشتیبانی میشن. این آقای David Walsh طبق چه ادعایی گفته در آینده قراره APC با PHP ادغام بشه؟
https://wordpress.org/support/topic/looking-ahead-to-php-55-zend-optimizer-the-end-of-apc

MMSHFE
سه شنبه 18 آذر 1393, 15:46 عصر
این هم یک مقایسه از سرعت APC و Zend Optimizer
http://www.ricardclau.com/2013/03/apc-vs-zend-optimizer-benchmarks-with-symfony2

MMSHFE
سه شنبه 18 آذر 1393, 15:47 عصر
این هم سایت خود PHP :

This » PECL (http://pecl.php.net/) extension is not bundled with PHP.

Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions (http://php.net/manual/en/install.pecl.php). Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: » http://pecl.php.net/package/apc (http://pecl.php.net/package/apc).
A DLL for this PECL extension is currently unavailable. See also the building on Windows (http://php.net/manual/en/install.windows.building.php) section.

Note: On Windows, APC needs a temp path to exist, and be writable by the web server. It checks the TMP, TEMP and USERPROFILE environment variables in that order and finally tries the WINDOWS directory if none of those are set.

Note: For more in-depth, highly technical implementation details, see the » developer-supplied TECHNOTES file (http://git.php.net/?p=pecl/caching/apc.git;a=blob;f=TECHNOTES.txt).


رسماً اعلام شده جزو PHP نیست.

hsgpro
سه شنبه 18 آذر 1393, 15:51 عصر
والا من قبلاً لینک گفته شده در سایت stackoverflow.com هم داشتم حیف سیستم عامل عوض کردم لینکش رو دیگه ندارم.

این خبر خیلی وقته گفته شده حتی دوستان ایرانی مون هم در جاهای مختلف مثل انجمن http://webhostingtalk.ir در تاپیک های مختلف گفتن.
APC هم Object Cache هست و هم Opcode Cache در صورتی که کش کننده هایی مثل memcache فقط Object Cache هستند.
یه مقاله هم خونده بودم میگفت APC سازگار ترین و پر سرعت ترین کش کننده برای PHP است تست هاش هم توی اینترنت هست می تونید APC Benchmark رو سرچ کنید.

MMSHFE
سه شنبه 18 آذر 1393, 15:55 عصر
اینم منبع حرفم که میگم APC در نسخه 6 پی اچ پی الحاقش میشه:

APC was originally scheduled for inclusion into the PHP core no later than PHP 6.

توی ترجمه دقت کنید کل متن رو بخونید بعد قضاوت کنید. متن کامل این جمله که بخشی از اون رو گذاشتین اینه:

APC was originally scheduled for inclusion into the PHP core no later than PHP 6. While multiple accelerator projects were considered desirable, the focus has since moved to Optimizer Plus which is included in the core distribution as of PHP 5.5.
ترجمه: در اصل اینطور برنامه ریزی شده بود که APC حداکثر تا نسخه 6 جزو PHP شود. درحالیکه چندین پروژه شتاب دهنده مطلوب شناخته شده بودند، تمرکز از آن به بعد به سمت Optimizer Plus حرکت کرد که جزو هسته PHP از توزیع 5.5 به بعد شده است.
توضیح از خودم: Zend OPCache همون +Zend Optimizer سابق هست که اسمش رو تو نسخه های جدید عوض کردن.

MMSHFE
سه شنبه 18 آذر 1393, 15:58 عصر
یه مقاله هم خونده بودم میگفت APC سازگار ترین و پر سرعت ترین کش کننده برای PHP است تست هاش هم توی اینترنت هست می تونید APC Benchmark رو سرچ کنید.

به تاریخ مقاله دقت کنید. OPCache عمر زیادی نداره. دلیلی نداره APC اگه یه زمانی سریعترین و سازگارترین شتاب دهنده بوده، تا قیامت همینطوری بمونه. لینک Benchmark که گذاشتم رو بررسی کنید.

MMSHFE
سه شنبه 18 آذر 1393, 16:02 عصر
توی همون لینک ویکیپدیا که گذاشتین هم آخر صفحه رو نگاه کنید میبینید که APC با نسخه 5.5 (و نسخه های بعدی) سازگار نیست. من خودم هم هرکاری کردم توی openSuSE نتونستم نصبش کنم درحالی که به راحتی توی Ubuntu نصب شده بود و بعد که بررسی کردم دیدم بخاطر نسخه PHP هست (بخاطر به روز بودن مخازن openSuSE نسخه PHP من 5.6 بود). تمام روشها رو هم امتحان کردم. از دانلود فایل so. بگیرین تا کامپایل دستی ولی هیچ کدوم کار نکرد.

hsgpro
سه شنبه 18 آذر 1393, 16:06 عصر
بله حق با شماست من کامل نخونده بودم.
عجیبه ها ولی هنوز نسخه 6 نیامده APC رفت کنار؟ آخه موقعی که APC رو اوج بود یه جوری میگفتن تو نسخه 6 همراه php میشه ما فکر کردیم شاید سریع می خواد نسخه 6 بیاد اما...

MMSHFE
سه شنبه 18 آذر 1393, 17:04 عصر
حتماً جایگزین بهتری پیدا کردن که گذاشتنش کنار وگرنه برای اونا چه فرقی میکنه شتاب دهنده چی باشه. تنها چیزی که براشون اهمیت داره اینه که PHP سریعتر و بهتر کار کنه. پس ما هم باید خودمون رو با تغییرات سازگار کنیم. خوشبختانه توی PHP فرصت کافی برای سازگار شدن با نسخه های جدید داده میشه.

hsgpro
سه شنبه 18 آذر 1393, 18:56 عصر
تو ایران که اکثر هاست ها با php 5.3 هستن پس APC همچنان در ایران کاربرد داره.
به شخصه با کلی شرکت هاستینگ معروف کار کردم تو هیچ کدوم php بالاتر از نسخه 5.3 ندیدم وقتی پرسیدم میگن php های بالاتر مثل 5.4 و 5.5 با اسکریپت های محبوب کاربران مثل وردپرس سازگاری نداره به همین دلیل در هاست های اشتراکی معمولاً php 5.3 نصب میکنن.

به نظر شما چرا این اسکریپت های معروف مثل وردپرس نباید کدشون رو با جدید ترین نسخه php سازگار کنن؟ چرا هاستینگ ها برعکس باید خودشون رو با این اسکریپت ها سازگار کنن؟

rezaonline.net
سه شنبه 18 آذر 1393, 22:43 عصر
به شخصه با کلی شرکت هاستینگ معروف کار کردم تو هیچ کدوم php بالاتر از نسخه 5.3 ندیدم وقتی پرسیدم میگن php های بالاتر مثل 5.4 و 5.5 با اسکریپت های محبوب کاربران مثل وردپرس سازگاری نداره به همین دلیل در هاست های اشتراکی معمولاً php 5.3 نصب میکنن.

وقتی شما یا هر کسی نیازش با هاست اشتراکی تامین میشه پس سایتش اونقدر منابع نیاز نداره و یک بازدید متوسط داره .
لذا استفاده از file cache هم کفایت میکنه واسه اینطور سایتها زیاد سخت نگیرید

:)

beh3000
چهارشنبه 19 آذر 1393, 13:12 عصر
برای کار کردن با opcache در Yii کد اختصاصی وجود نداره درسته ؟ باید با php خام توی Yii کد بنویسیم ؟

MMSHFE
چهارشنبه 19 آذر 1393, 13:21 عصر
کار خاصی نمیخواد انجام بدین. فقط OPCache رو نصب و فعال کنید. خودش کدها رو کش میکنه.

beh3000
چهارشنبه 19 آذر 1393, 17:26 عصر
برای استفاده از memcache هم همینطوره ؟ توی Yii مم کش رو فعال کنیم تمومه ؟

MMSHFE
پنج شنبه 20 آذر 1393, 09:20 صبح
بهتر نیست یکم جستجو کنید؟ من تو گوگل نوشتم how to use memcache in yii و اولین لینکی که آورد این بود: http://yiiframework.ru/doc/guide/en/caching.data

MMSHFE
پنج شنبه 20 آذر 1393, 09:47 صبح
توی این لینک هم نحوه فعال کردن memcache رو توضیح داده:
http://www.yiiframework.com/doc/api/1.1/CMemCache

engmmrj
دوشنبه 24 آذر 1393, 18:26 عصر
کار خاصی نمیخواد انجام بدین. فقط OPCache رو نصب و فعال کنید. خودش کدها رو کش میکنه.
خوب مثلا بخوایم یک صفحه رو کش کنیم باید چیکار کنیم ؟

engmmrj
سه شنبه 25 آذر 1393, 07:11 صبح
http://www.sitepoint.com/understanding-opcache/
اونجور که فهمیدم از مقاله بالا خودش کش میکنه ولی اگر بخواهیم جایی رو کش نکنه باید تو بلک لیست بدیم که تو هاست های اشتراکی نمیشه ! یا تنظیمات دیگه اش و وقتی فایل رو کش میکنه اون فایل قفل میشه

MMSHFE
سه شنبه 25 آذر 1393, 09:50 صبح
بله OPCache خودش کش میکنه. بطور کلی اگه میخواین از امکاناتی مثل کش اسکریپت و... استفاده کنید و یا هر کار حرفه ای دیگری انجام بدین، قید هاست اشتراکی رو بزنید. سایتی که روی هاست اشتراکی قراره بالا بیاد معلومه اینقدر بزرگ نشده که به کش کردن اسکریپت نیاز پیدا کنه.