8 نکته پرفورمنسی در پی اچ پی (PHP) - مقدماتی

مقاله "8 نکته پرفورمنسی در PHP" به بررسی تکنیک‌ها و روش‌هایی می‌پردازد که می‌توانند به بهبود عملکرد برنامه‌های نوشته شده با زبان پی اچ پی (PHP) کمک کنند. در دنیای توسعه وب، سرعت و کارایی برنامه‌ها از اهمیت بالایی برخوردار است و به همین دلیل، آشنایی با نکات بهینه‌سازی می‌تواند تأثیر زیادی بر تجربه کاربری و کارایی سرور داشته باشد.

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

با مطالعه این مقاله، توسعه‌دهندگان می‌توانند با روش‌های مؤثر برای بهینه‌سازی برنامه‌های خود آشنا شوند و در نتیجه، برنامه‌هایی سریع‌تر و کارآمدتر ایجاد کنند. این نکات نه تنها به بهبود عملکرد کمک می‌کنند، بلکه می‌توانند به کاهش هزینه‌های سرور و افزایش رضایت کاربران نیز منجر شوند.


1. استفاده از فانکشن های پی اچ پی به جای استفاده از کد های شخصی

تا حد امکان اگه بتونید از فانکشن های پی اچ پی استفاده کنید بهتره و پرفومنس بهتری داره نسبت به کد هایی که خودتون مینویسید. دلیلش هم اینه که این فانکشن ها با C ساخته شده.

یک مثال از استفاده فانکشن های پی اچ پی به جای کد های شخصی:

function wordCount($string) {
    return count(explode(' ', $string));
}

echo wordCount("Hello PHP World!");

استفاده از فانکشن های پی اچ پی:

echo str_word_count("Hello PHP World!");

استفاده از فانکشن str_word_count() احتمال خطا کمتر و پرفومنس بهتری نسبت به فانکشن شخصی که ساختیم داره.


2. Opt for isset and empty Over Lengthy Conditionals

فانکشن های isset() و empty() پرفورمنس خیلی بالایی دارند و استفاده ازش توصیه میشه:

if ($variable !== null && $variable !== '') {
    // Do something
}

استفاده از فانکشن پی اچ پی:

if (!empty($variable)) {
    // Do something
}


3. Cache Results Wherever Possible

در عملیات های سنگین و پیچیده استفاده کش همیشه توصیه میشه. شما میتونید از Redis، APCu و فایل برای کش استفاده کنید تا عملیات های سنگین خودتون تکرار نکنید و پرفومنس بهتری داشته باشید:

$cacheKey = 'user_data_' . $userId;
$userData = apcu_fetch($cacheKey);

if ($userData === false) {
    // Simulate an expensive database call
    $userData = getUserFromDatabase($userId);
    apcu_store($cacheKey, $userData, 300); // Cache for 5 minutes
}
echo $userData['name'];


4. Enable OPcache for Faster Execution

پی اچ پی هر بار که اجرا میشه، کد خودش کامپایل میکنه به بایت کد و اجرا میکنه. OPcache میاد اون بایت کد ها در مموری ذخیره میکنه و دیگه نیاز به اجرا دوبارهه پی اچ پی از اول نیست. با استفاده از این فرآیند پرفورمنس خیلی خوبی به دست می آورید.

برای فعال کردن این قابلیت باید در php.ini کد زیر اضافه کنید:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0


5. Minimize include and require Overhead

لود کردن فایل های غیرضروری سرعت اپلیکیشن پایین میاره. برای بهتر کردن سرعت میتونید از Autoloader ها مثل کامپوزر استفاده کنید.

بدون Autoloader:

require 'User.php';
require 'Order.php';
require 'Product.php';

با Autoloader:

spl_autoload_register(function ($class) {
    include __DIR__ . '/' . $class . '.php';
});


6. Use Prepared Statements to Optimize Database Queries

استفاده از prepare در کوئری زدن علاوه بر امنیت کوئری (SQL Injection) باعث سرعت بهتر کوئری هم میشه:

$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');
$stmt->execute(['email' => $email]);
$user = $stmt->fetch();


7. Profile Your Code to Find Bottlenecks

استفاده از ابزاری هایی مثل Xdebug، Blackfire یا Tideways برای اینکه نشون بده کجای اپلیکیشن مصرف زیادی داره تا بهینه کنید.

استفاده از Xdebug:

xdebug.mode=profile
xdebug.output_dir=/path/to/profiles


8. Optimize Loops and Data Processing

اگر حلقه های پرمصرفی داشته باشید سرعت اپلیکیشن پایین میاد، اما اگر بتونید حلقه های کم مصرفی درست کنید، میتونی سرعت خوبی تجربه کنید.

حلقه پرمصرف:

foreach ($users as $user) {
    echo strtoupper($user['name']);
}

حلقه کم مصرف:

$names = array_column($users, 'name');
$uppercaseNames = array_map('strtoupper', $names);

foreach ($uppercaseNames as $name) {
    echo $name;
}


نتیجه گیری

در این مقاله باهم 8 مورد پرفورمنسی در پی اچ پی تجربه کردیم. این 8 مورد بیشتر موارد مقدماتی هست و موارد بیشتر هم جلوتر بررسی خواهیم کرد. در کل هرچه بتونید مصرف رم کمتر کنید میتونید اپلیکیشن بهتر داشته باشید. اگه براتون کاربردی بود، ری اکشن بزنید، دمت گرم🤟🏻

0 🔥
0 🎉
0 😮
0 👍
0 💜
0 👏
میلاد خسروی
نویسنده کد نیوز

برنامه نویس فان | Fun Developer یک آدم ساده که عاشق برنامه نویسی و کد زدنه :) تلاش میکنه تا به بقیه کمک کنه. توسعه دهنده هسته لاراول و فضای اوپن سورس. فاندر پرانتز و کد نیوز.

0+ نظر

برای ثبت نظر ابتدا ورود کنید.

0 نظر

    اولین نفر باش که نظر ثبت میکنی :) یعنی یه کامنت به ما نمیرسه 😁