انجمن کسب درآمد از اینترنت
تبلیغات کلیکی
کسب درآمد از بازدید خودکار

بایگانی

بایگانی برای دسته ی ‘آموزش اینترنت’

بهینه سازی کد های php

۲۳ آذر ۱۳۹۴ بدون دیدگاه

بهینه سازی کد های php

 

بهینه سازی کد های php

همچنان که ترافیک یک وب سایت بالا می رود باری که روی سرور

آن قرار می گیرد افزایش می یابد و علاوه بر اینکه سبب افزایش

هزینه های هاستینگ می شود سرعت لود شدن صفحات هم کمتر می شود

و اگر به روش درستی این مشکل حل نشود یک وب سایت پرترافیک

به جای سود دهی تبدیل به کاری پر خرج و زیان ده می شود. این معضل را باید

به روش های مختلف مهار کرد و یک روش به تنهایی کارساز نیست

اگر توفیقی باشد از این به بعد در یاد بگیر دات کام به معرفی راهکار های مختلف

خواهیم پرداخت اما اولین کاری که در چنین مواقع باید حتما انجام شود بهینه

سازی کد ها و برنامه ای است که آن وب سایت با آن نوشته شده است.

در این مقاله به ارائه راهکارهایی برای بهینه سازی

 

کد های php  و همچنین افزایش سرعت اجرای آنها می پردازیم.

اگر یک صفحه می تواند به صورت استاتیک اجرا شود سعی نکنید

به روش دیگر آنرا نمایش دهید

چون سبب کاهش سرعت اجرای آن می شود.

تا حد امکان از دستور echo استفاده کنید

چون این دستور سریعتر از print است.

برای نمایش عبارت ها بهتر است

چند بار از دستور echo استفاده کنید

تا پارامتر ها را در کنار یکدیگر نمایش دهید

چون استفاده از عملگر الحاقی ” . ”

کد ها را کوتاه تر می کند اما سرعت اجرای اسکریپت افزایش می یابد.

مقدار ماکزیمم را برای یک حلقه (لوپ) قبل

از شروع حلقه قرار دهید و نه در داخل حلقه.

متغییر ها را بازنشانی کنید

تا حافظه را برای اجرای اسکریپت خالی کنید

به خصوص برای متغییر های ماتریسی یا arrays.

تا حد امکان از جادوگری پرهیز نمایید! با دستوراتی مانند:

__get, __set, __autoload

استفاده از دستور require_conce معمولاً گران تمام می شود!

سعی کنید برای دستور های require , include از لینک کامل استفاده کنید

چون اجرای این دستورها زمان کمتری می گیرد.

اگر می خواهید بدانید چه موقع اسکریپت شما شروع

به اجرا می کند بهتر است از این دستور استفاده کنید:

INSERT:CONTENT:END SERVER[‘REQUEST_TIME’]

تا اینکه ازدستور

Time()

دستور str_replace سریعتر

از preg_replace است اما strtr باز هم از str_replace سریعتر است.

بهتر است از select  استفاده کنید تا چند if , else if استفاده کنید.

ممانعت از خطا با @ بسیار کند است.

mod_deflate را در آپاچی غیر فعال کنید.

وقتی که کار با بانک اطلاعاتی تمام شد

با استفاده از دستور close این ارتباط را ببندید.

دستور

$row[‘id’]

۷  بار سریعتر از دستور

$row[id]

است

پیغام های خطا بار سرور شما را افزایش می دهند.

توابع را در داخل حلقه های for استفاده نکنید مثلاً

for ($x=0; $x< count (array); $x)

تابع count هر بار که حلقه اجرا می شود لود می شود.

افزایش تدریجی یا incrementing یک متغییر

لوکال در متد ها از همه روش ها سریعتر است.

افزایش تدریجی یک متغییر گلوبال ۲ بار کندتر

از انجام این کار توسط یک متغییر لوکال است.

افزایش تدریجی یک متغییر تعریف نشده ۹ تا ۱۰ برابر کندتر

از یک متغییر از پیش تعریف شده است.

احضار متد ها ظاهرا مستقل از تعداد آنهاست

و سبب کند شدن آنها نمی شود.

یک فانکشن کال یا لود کردن

یک تابع با پارامتر و یک تابع خالی به اندازه ۷ الی ۸ عملگر

$localvar++

زمان بر است.

قرار دادن رشته ها در داخل ‘ به جای ” کمی سرعت را بالا می برد

 

چون در حالت عادی php داخل ” ” به دنبال متغییر می گردد.

البته زمانی که متغییر استفاده می کنید می توانید از آن استفاده کنید.

وقتی که رشته ها را با دستور echo خروجی می دهید

جدا کردن آنها با ویرگول سریعتر از جدا کردن با نقطه است.

توجه داشته باشید

که این کار فقط با دستور echo  انجام پذیر است.

یک اسکریپت php در سرور آپاچی دو تا ۱۰ برابر کندتر

از کد های استاتیک html است سعی کنید

بیشتر از صفحات استاتیک استفاده کنید تا اسکریپت های دینامیک

جمع آوری و اجرای چند باره اسکریپت های php بسیار وقت گیر است

و بار زیادی روی سرور ایجاد می کند و لازم است

که از یک سیستم کش سمت سرور برای وب سایت

خود استفاده کنید و کارایی را ۲۵ تا ۱۰۰ درصد افزایش دهید.

این کار با جلوگیری ار دوباره کاری و انجام کار های تکراری صورت می گیرد.

تا جایی که ممکن است از کش استفاده کنید.

از memcached استفاده کنید. memcached یک سیستم

با کاربری بالاست می تواند سرعت برنامه های دینامیک را با

به حداقل رساندن فراخوانی بانک اطلاعات بالا ببرد.

 

کد های OP هم مفید است

 

چون اسکریپت شما نیاز نخواهد داشت برای هر درخواستی یکبار اجرا شود.

نیازی نیست هر ساختار

اطلاعاتی را به صورت یک کلاس تعریف کنید استفاده از array بهتر است.

شما می توانید کد های یک متد را هر جا لازم است تکه کنید

علی یزدی مقدم