PDA

View Full Version : سوال: اینکلود فایل ها و تاثیر آن بر حجم صفحه و سرعت بارگذاری



xoogle.ir
دوشنبه 20 اردیبهشت 1389, 19:47 عصر
یه سوال ساده :بامزه:
اینکلود کردن فایل های مختلف از جمله فایل توابع ، قالب ، بانک و کلا فایل هایی که سمت سرور استفاده میشوند روی سرعت بارگذاری صفحات در سمت کلاینت تاثیر دارند ؟

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

sedamorde
دوشنبه 20 اردیبهشت 1389, 20:03 عصر
یه سوال ساده :بامزه:
اینکلود کردن فایل های مختلف از جمله فایل توابع ، قالب ، بانک و کلا فایل هایی که سمت سرور استفاده میشوند روی سرعت بارگذاری صفحات در سمت کلاینت تاثیر دارند ؟

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

تاثیر که داره اما تاثیر زیادی نیست. البته به تعداد include ها هم مهم. شما میتونید از تابع memory_get_usage() برای دیدن مقدار رم مصرفی استفاده کنید.
این تابع را در آخر همه کدها اجرا کنید.

mohmadd
دوشنبه 20 اردیبهشت 1389, 20:14 عصر
یه سوال ساده :بامزه:
اینکلود کردن فایل های مختلف از جمله فایل توابع ، قالب ، بانک و کلا فایل هایی که سمت سرور استفاده میشوند روی سرعت بارگذاری صفحات در سمت کلاینت تاثیر دارند ؟

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

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

xoogle.ir
دوشنبه 20 اردیبهشت 1389, 20:16 عصر
تاثیر که داره اما تاثیر زیادی نیست. البته به تعداد include ها هم مهم. شما میتونید از تابع memory_get_usage() برای دیدن مقدار رم مصرفی استفاده کنید.
این تابع را در آخر همه کدها اجرا کنید.
در هر صفحه حدود 15 فایل include میشه به صورت مستقیم و غیر مستقیم که البته روز به روز داره تعدادشون بیشتر میشه ! :لبخندساده:

xoogle.ir
دوشنبه 20 اردیبهشت 1389, 20:17 عصر
فایل ها در هر صورت امکان دیکد شدن دارن .


این که گفتی یعنی چی ؟ :لبخند:

mohmadd
دوشنبه 20 اردیبهشت 1389, 21:50 عصر
این که گفتی یعنی چی ؟ :لبخند:
یعنی امکان خارج شدن از کد هست.
از لحاظ امنیتی در این مورد معنی نداره که اطلاعات رو کد کنیم .
تو میخوای فایل رو از کی مخفی کنی ؟
فقط رم سی پی یو اشغال میکنه.
سرور بیاد اطلاعات رو نشون بده خیلی فرق میکنه تا اینکه اونو دیکد کنه بعد نشون بده ...
برو چند تا سایت امنیتی همین فارسی خودمون مطالب زیاده

rapidpich
دوشنبه 20 اردیبهشت 1389, 21:56 عصر
نه بابا 15 تا که چیزی نیست! خیلی از سیستم ها 15000 تا فایل دارن. نه اینکه تو هربار همشو لود کنن ولی خوب 15 تا چیزی نیست. اگه خیلی وسواس داری! یه phpinfo بگیر ببین APC نصبه یا نه( eaccelerator,xcache) یکیشون حداقل باید نصب باشه. ولی بازم میگم 15 تا مهم نیست. نگران نباش.
بعدشم یک خط کد که درست نوشته نشده باشه (یا پردازش زیادی بخواد) میتونه جور اون 15 تا فایل رو بکشه. نمیشه از رو حجم چیزی گفت.
تنها چیزی که میتونی در نظر بگیری عکس های صفحه هست که صفحه رو سنگین میکنه.

mohmadd
دوشنبه 20 اردیبهشت 1389, 22:10 عصر
اهان یعنی میخواید 15 تا فایل رو کد کنه ؟
به هر حال من مخالفم
حتی اون صفحهاتی که کد شدن سرعتش یکمی کمتره از بقیه هستش.
اگه درخواست ها از اون صفحه زیاد بشه که دیگه هیچی ....
شما سرور یا سرور مجازی دارید ؟
از چه اسکریپتی استفاده میخوای بکنی ؟

rapidpich
دوشنبه 20 اردیبهشت 1389, 22:29 عصر
کد شدن و دیکد شدن رو کی اول گفت؟!؟ این بنده خدا اصلا چیزی از کد شدن نگفته که.

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

sedamorde
دوشنبه 20 اردیبهشت 1389, 23:42 عصر
دوستان چرا ماجرا را انقدر پیچیده میکنید!!؟
include کردن در php اجتناب ناپذیر و باعث راحت شدن و مرتب شدن کد برای استفاده مجدد و گسترش میشه. به فرض شما یک کلاس ساختید برای اتصال به بانک، حالا باید هر صفحه ای که لازم از این کلاس استفاده کند include شده باشه به صفحه کلاس. البته شاید هم فکر میکنید که بهتر در هر صفحه یک کد برای اتصال بنویسید!!!!؟
include_one زیاد جالب نیست و تاثیر بد شاید بگذاره. گرچه که هر چیزی باید درست استفاده بشه. مثلا شما مجبورید صفحه theme را include کنید چون بهترین راه.
من نمیدونم برنامه شما چیه اما هرجا که لازم شد (لازم شد) include کن در غیر این صورت این کار را نکن.
من چندبار تست کردم include در ram تاثیر قابل توجهی نداره.

rapidpich
سه شنبه 21 اردیبهشت 1389, 01:03 صبح
include_once بهتره چون مطمئن هستی که هر فایل حداکثر یکبار اجرا میشه.

xoogle.ir
سه شنبه 21 اردیبهشت 1389, 12:00 عصر
ممنون از همگی
البته من کاری به کد شدن و دیکد شدن نداشتم فقط مشکلم سر سرعت سایت بود!
طیق صحبتی که rapidpich عزیز کرد پس دیگه نگران حجم فایل های اینکلودی نباید باشم چون حجم صفحه خروجی که در سمت کلاینت نمایش داده میشه رو زیاد نمیکنه.

فقط دو سوال دیگه مبتدیانه دیگه :

1- تعداد query هایی که در صفحه اجرا میشه چه قدر روی سرعت سایت تاثیر میذاره ؟ الان من توی تمام صفحاتم 4 5 تا query ثابت دارم و توی بعضی از این صفحات تعداد query هایی که اجرا میشه به حدود 15 تا 20 تا میرسه میخام ببینم که استانداردی توی تعداد query ها وجود نداره ؟ که بهتر باشه رعایت کنیم ؟

2- الان سایت من روی یه هاست معمولی هست اگر بخام این پروژه تمرینی رو تجاریش کنم با توجه به سرعت نسبتا پایین سایت (که نمیدونم دلیلش چیه؟) :متفکر: از چه سروری استفاده کنم تا بهترین سرعت رو داشته باشم ؟
اگر سرور vps یا اختصاصی بگیرم احتیاج به تنظیمات یا بهینه سازی خاصی برای سزعت هست ؟

rapidpich
سه شنبه 21 اردیبهشت 1389, 19:09 عصر
منظورت از query دیتابیس هست دیگه؟ 15ثانیه خیییییییییییییییییییییییی یییییییییییییلی زیاده! اونقدر که داری اشتباه میکنی! :لبخندساده:
خط اولی که اجرا میشه( احتمالا index.php ) بنویس



$start_time = microtime();


آخر فایل هم بنویس:



$end_time = microtime();
echo "<!-- execution time = " . $end_time - $start_time . " -->";



این عدد زمان اجرای php هستش(و تمام متخلفات مثل دیتابیس و ...)
فقط یادت باشه به میکرو ثانیه هست.

xoogle.ir
سه شنبه 21 اردیبهشت 1389, 22:01 عصر
منظورت از query دیتابیس هست دیگه؟ 15ثانیه خیییییییییییییییییییییییی یییییییییییییلی زیاده! اونقدر که داری اشتباه میکنی! :لبخندساده:
خط اولی که اجرا میشه( احتمالا index.php ) بنویس



$start_time = microtime();

آخر فایل هم بنویس:



$end_time = microtime();
echo "<!-- execution time = " . $end_time - $start_time . " -->";

این عدد زمان اجرای php هستش(و تمام متخلفات مثل دیتابیس و ...)
فقط یادت باشه به میکرو ثانیه هست.





من نگفتم 15 ثانیه طول میکشه !! چرا توی این تاپیک همه اشتباه متوجه منظور من میشن :لبخند:
گفتم تعداد query هایی که از بانک میگیرم حدود 15 تا میشه یعنی تایع mysql_query پانزده بار توی بعضی از صفحات اجرا میشه میخاستم ببینم تعداد نرمال query ها باید چند تا باشه ؟ به علاوه سوالی که در مورد سرور پرسیدم :لبخندساده:

rapidpich
چهارشنبه 22 اردیبهشت 1389, 10:59 صبح
آها
من اشتباه خوندم!
نوع کوری مهمه. باید کوری هارو ببینیم تا بتونیم نظر بدیم.