افت سرعت لود ( آنلاین زیاد )

با سلام خدمت دوستان و اساتید محترم
عزیزان بنده یک اسکریپت نوشتم که موضوعش رو بهتره نگم اینجا، الان مشکلی که دارم اینه که تعداد آنلاین ها که بالا میره مشکل افت سرعت پیدا میکنم
تحقیق کردم و فهمیدم که مشکل از دیتابیس (INDEX و KEY) و فراخوانی کوئری ها در PHP هست که باعث افت سرعت لود میشه.
من 1 سال و نیم وقت گذاشتم پای این اسکریپت و حالا خسته شدم دیگه، تجربه ی کافی هم در زمینه MySQL ندارم
خواستم ببینم کسی هست کمک کنه اسکریپت رو OPTIMIZE کنم و یا اینکه پروژه رو بگیره کار کنه روش و هزینه ی زحمتش هم دریافت کنه

تشکر
 

bestdata

Active Member
بهترین کار برای کاهش فشار کش سرور هست که وقتی اسکریپت اجرا میشه و یک خروجی html به کاربر داده میشه این خروجی cache بشه و نفر بعدی اومد دیگه نیازی به کامپایل نباشه و همون فایل cache نشون داده بشه ...

راه دوم استفاده آژاکس هست که نیازی نیست همه صفحه رفرش بشه بخشی که مهمه فقط رفرش بشه که کلی فشار از سرور بر میداره

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

راه دوم استفاده آژاکس هست که نیازی نیست همه صفحه رفرش بشه بخشی که مهمه فقط رفرش بشه که کلی فشار از سرور بر میداره

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

درسته ولی همه چیز به کش نیست، بخش های سنگین اسکریپت که تست شد و سرعت لود رو میگرفت کش شده، اسکریپت تا حد خیلی زیادی بهینه شده وگرنه الان این جوابی هم که دارم میگیرم رو نمیداد
همه راهی رو رفتم و به هر دری زدم... مشکل فقط و فقط از دیتابیس و فراخوانی کوئری های mysql در php هست
 

bestdata

Active Member
خوب دوست عزیز شما حرف من رو درست نمی خونید
شما کش مرورگر رو با کش سرور اشتباه گرفتید

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

خوب شاید سایت شما از اون سایت هایی باشه که هر عضو یک محتوای خاصی می بینه و... حتی اگر هم اینطوری باشه وقتی یک یوزر از یک صفحه چند بار بازدید کنه دیگه نیازی به چند بار استفاده از دیتا بیس نیست فقط با دفعه اول استفاده میشه و کش میشه و....

آژاکس که نیازی به توضیح نیست فقط اینم بگم فک کنید که صفحه هات همه کش شده باشند بعد بخش های مهم و متغییر سایت آژاکس باشه اینطوری هم حالت متغییر بودن پیج هستش هم فشار خیلی زیادی از دیتابیس برداشته میشه


ترکیب این دو روش با روش کش روی مرورگر و بهینه سازی سرعت سایت سرعت بارگذاری رو هم از طرف سرور هم از طرف کلاینت به اوجش میرسونه
 
خوب دوست عزیز شما حرف من رو درست نمی خونید
شما کش مرورگر رو با کش سرور اشتباه گرفتید

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

خوب شاید سایت شما از اون سایت هایی باشه که هر عضو یک محتوای خاصی می بینه و... حتی اگر هم اینطوری باشه وقتی یک یوزر از یک صفحه چند بار بازدید کنه دیگه نیازی به چند بار استفاده از دیتا بیس نیست فقط با دفعه اول استفاده میشه و کش میشه و....

آژاکس که نیازی به توضیح نیست فقط اینم بگم فک کنید که صفحه هات همه کش شده باشند بعد بخش های مهم و متغییر سایت آژاکس باشه اینطوری هم حالت متغییر بودن پیج هستش هم فشار خیلی زیادی از دیتابیس برداشته میشه


ترکیب این دو روش با روش کش روی مرورگر و بهینه سازی سرعت سایت سرعت بارگذاری رو هم از طرف سرور هم از طرف کلاینت به اوجش میرسونه
حرف شما کاملاً درسته اما mysql انقدر قدرتمند هست که پاسخگو ریکوئست ها باشه
بعد اینکه این روشی که شما میگید تا جایی که تونستیم عملی کردیم، اما اسکریپت یک بازی آنلاین هست که دائماً دیتاها در حال تغییر هست و امکان کش کردن این مورد وجود نداره.
در مورد آژاکس هم در یه موردهایی با شما موافقم اما اینطور نیست که خیلی تاثیر زیادی داشته باشه، چون در هر صورت چه آژاکس چه php بلاخره دیتا به mysql ارسال و دریافت میکنن.
 

جدیدترین ارسال ها

بالا