Joomla 3.5 که به تازگی منتشر شده است پر از ویژگی های سودمند است اما شاید بزرگترین تغییر ، تغییری باشد که کاربران نهایی متوسط به آن فورا توجهی نمیکند ؛ پشتیبانی از PHP7 . البته ویژگی های محسوس تری مانند کشیدن و انداختن عکس ها در ویرایشگر اول یا چیزهای اضافه شده ی UI به جریان کار و مدیریت موضوع کمک میکنند اما PHP7 چیزی مفید تر ارائه میکند ، برای توسعه ی تجربیات کاربر و کاهش میزان چیزهای اضافی که باعث بارگذاری سریع تر صفحات میشود . اگر در مورد PHP7 چیزی خوانده باشید از این تغییرات خبر دارید اما این تغییرات چه تاثیری بر روی Joomla دارند ؟ در این مقاله این مسئله بررسی میشود.


تغییرات چشمگیر در PHP

به روز رسانی PHP7 به عنوان مهم ترین تغییر برای PHP از زمان بیرون آمدن PHP5 در سال 2004 اعلام شد ، که ادعای کمی نیست . در واقع تیم PHP بیان میکند که عملکرد کلی اش دو برابر شده و مصرف حافظه اش را تا 50 درصد میتواند کاهش دهد . آخرین نسخه ی PHP همچنین چند ویژگی جدید مانند نوشتن بیانیه ، اپراتور کلاس یا سفینه ی فضایی ناشناس را معرفی میکند اما خطاهای مرگباری هم دارد . خبر های بدی هم وجود دارد ، به خاطر jommla 3.5 حمایت PHP7 به صورت برعکس دیگر ممکن نیست . درواقع بیشتر تغییرات در هسته ی PHP دیگر به صورت برعکس نیستند بنابراین Joomla هم همین وضعیت را دارد . اگر یک طراح هسته ی PHP باشید میتوانید لیست کامل تغییرات برعکس ناسازگار را ببینید .

 

 محیط آزمایشی

برای آزمایش این عملکرد من تصمیم گرفتم تا از آخرین به روز رسانی joomlaاستفاده کنم . jommla 3.5.1  . با نصبی تازه و یک نمونه ی داده ی بلاگ . این آزمایش ها روی سرور هاست محلی من و باستفاده از MAMP  برای OS X انجام میشوند .

در زمینه ی PHP های تست شده ، من عملکرد Joomla  را در PHP معروف و محبوب 5.6.10 استفاده کردم و البته PHP 7,0,0 .

من روی تست های نرم افزار نهایی تمرکز کردم زیرا این میتوانست سود کلیدی تجربه ی کاربری برای بیشتر کاربران Joomla باشد . در نصب های آزمایشی ام ، قسمت ذخیره را در joomla خاموش کرده و ذخیره را در سرور محلی ام برای مقایسه ای خالص تر غیر فعال کردم .تراکم Gzip هم برای گرفتن نتایج دقیق بارگذاری غیر فعال بود . در همان ابتدا ی نصب joomla ماژول های مختلفی را نشان میدهد :

  • ماژول های لیست ماژول
  • ماژول های منو
  • ماژول های جستجو
  • ماژول های منوی اصلی
  • لیستی از تمام بازدید های نرم افزار نهایی
  • ماژول های منوی دوم
  • ماژول شبیه ورود                                                                                    من تصمیم گرفتم که رهایشان کنم چون هر ماژول جستاری های پایگاه داده هایی تولید میکند  و روی استفاده از حافظه و زمان بارگذاری تاثیر میگذارد ، بنابراین رها کردنشان یک نتیجه ی واقعی به وجود خواهد آورد . در این نصب بارگذاری صفحه ی روبه رویی 21 جستار MySQL تولید میکند که ارزشی زیاد برای محتوای وبسایت ها دارد و بستگی به تعداد افزونه های نصب شده ی سوم شخص  دارد اما بخشی از جستار ها همیشه در همان سطح باقی خواهند ماند . به خاطر عملیات های هسته ی joomla  مانند مدیریت بخش ها یا ماژول های منتشر شده .

 

عملکرد joomla 3.5 در PHP5.6  و PHP7

قبل از اینکه به بخش اصلی آزمایش برسیم ، در نظر داشته باشید که اثرات این آزمایش ممکن است زمانی که به سرور زنده ی شما میرسند دقیق نباشند ، هنوز محدوده ای از پارامتر های مختلف وجود دارند که میتوانند روی عملکرد تاثیر بگذارند . هدف اصلی این تست آزمایش عملکرد خالص Joomla  در PHP7 است . با وجود وبسایت هایی با ترافیک بالا یکی از نقاط کلیدی تعداد درخواست هایی است که سرور شده در ثانیه پاسخ میدهد ، اما این به این معنی نیست که Joomla  در PHP7 هیچ توسعه ای نداشته و ارزش امتحان را ندارد ، بنابراین یک آزمایش هاست مرکزی  میتواند موثر باشد - میزان حافظه ی استفاده شده برای بارگذاری و نمایش وبسایت و کل زمان بارگذاری . ما سرعت پایگاه داده ها را در این آزمایش در نظر نگرفتیم بنابراین از همان نسخه ی MySQL ( MySQLi 5.5,42 ) در هر دو آزمایش استفاده کردیم ، با همان جستار و زمان آزمایش بدون توجه به اینکه کدام نسخه ی PHP فعال است .

در این تست من نتایج را از سه صفحه ی مختلف بررسی کردم :

در زیر شما به صورت شکل جزئیات خرابی  زمان های بارگذاری عناصر صفحه ها را میبینید ؛ همانطور که میبینید توسعه در PHP7 7,0,0  خیلی قابل توجه است . برای وظایف کوچک مانند BeforeRender تفاوت ماژول ها زیاد برجسته نیست اما برای مهم ترین لینک ها مانند afterInitalise و afterRender  joomla 305 سرعت بالا میرود ! ما میتوانیم در تصویر بالا ببینیم که afterInitialise در اصل 149.40 میلیونم ثانیه وقت گرفت و afterRenderComponent 141.23 میلیونم ثانیه تا بارگذاری شوند ، در حالیکه بعد از به روز رسانی این زمان ها به 62.80 و 60.93 کاهش یافتند. بنابراین باjoomla 3,5,1  و PHP7 فرایند بارگذاری این لینک ها دوبرابر سریع تر از PHP5,6,10  کامل میشود . این تقریبا موفقیتی است که مانند CMS در نظر گرفته شد . فقط با نسخه ی مختلف PHP . و فقط سرعت نیست بلکه حافظه ی کمتری هم اشغال میکند . ارزش استفاده از حافظه واقعا برای وبسایتهایی با ترافیک بالا مهم است و در اینجا برجسته ترین تغییرات مشاهده میشود .

یک نصب تمیز joomla با ماژول های پایه و یک مقاله با محتوای کامپیوتر در صفحه ی اصلی کمتر از 9 مگابایت حافظه میخواهد - 8.49 مگابایت . زمانی که در حال استفاده از نسخه ی قدیمی تر PHP هستیم نیاز به حداقل 12 مگابایت ( 12.05)  داریم تا همان صفحه را بارگذاری کنیم . که یعنی تعویض به PHP7 چهل درصد حافظه را نگه می دارد . یک نگاه سریع به زمان بارگذاری به ما بیشتر در مورد جزئیات میگوید ، سرعت کلی خیلی بهتر است .

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

 

قبل از اینکه به PHP7  ارتقا دهید

برای من ، و همانطور که نتایج نشان میدهد ، معرفی PHP7 در آخرین joomla بزرگترین پیشرفت حاضر است و گزینه های به روز رسانی بیشتری ارائه میکند .  گرچه این چیزی نیست که شما لزوما در اولین بار متوجه شوید . چیزی که متوجه خواهید شد سرعت بارگذاری است که یک فاکتور برجسته در مورد سایت است  و حافظه ی توسعه داده شده تجربه ی قوی تری برای سایت هایی فراهم میکند که تعداد زیادی بازدید کننده و بازدید صفحه دارند ، به طور طبیعی ؛ گرچه استفاده از یک سرور هاست محلی مکان خوبی برای عملکرد کلی آزمایش است ، پس نوساناتی در هر سایت بسته به پیکر بندی سخت افزار در ماشین زنده دیده خواهد شد . با این حال امکان هر نوع بالا رفتن سرعتی ، چیزی نیست که بتوان انکارش کرد . در این تست ها تقریبا همه ی نیروی CPU استفاده میشود تا یک صفحه در یک جستجوگر کار کند ، در حالیکه هاست بودن شما احتمالا بازدید کنندگان بسیاری به صورت همزمان خواهد داشت ، بنابراین حتی پیشرفت های کوچک در زمان بارگذاری هم مهم خواهند بود . همراه این ، حافظه ی مدیریت بسیار زیاد است ، 40 درصد حافظه ی کمتر بر حسب صفحه خیلی زیاد است . با در نظر گرفتن همه ی اینها ، تنها سوالی که داریم این است که چرا حالا ارتقا ندهیم ؟

واضح است که پیشرفت سرعت و حافظه چیزهایی هستند که شما میخواهید خیلی زود از آنها بهره مند شوید ، اما بهتر است که خیلی عجله نکنید . امکانش وجود دارد که سایت شما اصلا نصب joomla نداشته باشد . همیشه افزونه هایی وجود دارند که نمیتوانیم بدون آنها کاری کنیم . اینکه joomla 3,5 از PHP7 حمایت میکند به این معنی نیست که هر کدام از افزونه های Joomla 3.5  با آخرین انتشار PHP کار خواهد کرد . بنابراین قبل از اینکه محصول سایتتان را به php7 تعویض کنید ، زمان بگذارید تا تحقیق کنید که آیا فراهم کنندگان افزونه هایتان از آن حمایت میکنند یا آیا در آینده اینکار را خواهند کرد تا بتوانید بر اساس آن برنامه ریزی کنید . البته برگرداندن ارتقا چیزی است که اگر به مشکل برخوردید میتوانید از آن استفاده کنید ، با PHPMyAdmin بیشتر هاست ها امکان گزینه ی ساده ای را برای انتخاب نسخه ی PHP میدهند ، اما برای هاست های کوچکتر برگشتن به تغییرات ممکن است یک مشکل باشد . فراموش نکنید که این را هم چک کنید که آیا فراهم کننده ی هاستتان php 7.0.0 را پشتیبانی میکند یا نه ، اگر نه پس الان زمان آن است که دنبالش بگردید تا بتوانید از مزایای این تاثیر برخوردار شوید .

امیدوارم که این مقاله به شما نشان داده باشد که چه دستاورد هایی را از ارتفا PHP و joomla انتظار دارید . اگر میخواهید بدنید که چه چیزی در Joomla  3.5  تغییر کرده نگاهی به تفکیک ویژگی های joomla 3.5 بیندازید .