PDA

View Full Version : حرفه ای: کاهش اتصالات به دیتابیس



lovephp
سه شنبه 22 فروردین 1391, 11:19 صبح
من میخواستم یه سایتی با php طراحی کنم که مثلا در سمت راست سایت یه ستونی داشته باشه که لیست تمام پستها رو نمایش بده

1- آیا میشه یه کدی برای اون قسمت بنویسم که با درخواست صفحه یه اتصال به دیتابیس برقرار کنه عنوان همه پستها رو از دیتابیس بخونه و برگردونه؟

2- آیا این روش بهینه هست؟

3 - آیا در سایتهایی با بازدید بالا که ممکنه یه صفحه در آن واحد توسط چندین بازدیدکننده درخواست بشه کارایی سایت پایین نمیاد؟

4 - چه روشی برای کاهش اتصال به دیتابیس وجود دارد؟


و سوال آخر:
5 - در سایتهای بزرگ و واقعی و یا در جوملا و وردپرس از چه روشی برای این مورد استفاده میشه؟

J.Masomi
سه شنبه 22 فروردین 1391, 12:26 عصر
با سلام

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

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

farhadfery
سه شنبه 22 فروردین 1391, 12:45 عصر
همانطور که دوستمون گفت کشینگ. همچنین شما اگر از ajax در جای مناسب استفاده کنید خیلی مهمه. مثلا در paginate کردن یا لیست مقالات و موارد مشابه=< بدین شکل صفحه هم رفرش نمی شه

lovephp
سه شنبه 22 فروردین 1391, 18:28 عصر
با سلام

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

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

میشه در مورد کشینگ بیشتر توضیح بدین
مثلا میشه ایست پستها رو از دیتابیس بخونیم و تو یه فایل بنویسیم و در قالب سایت اون فایل حاوی عناوین پستها رو انکلود کنیم
آیا این روش استانداردی است؟

آره تو تنظیمات جوملا یه قابلیتی به نام کشینگ وجود دارد اما من با فعال کردنش تغییری ندیدم
چون یه دایرکتوری cache داره که وقتی میری میبینی خالیه

lovephp
سه شنبه 22 فروردین 1391, 18:50 عصر
همانطور که دوستمون گفت کشینگ. همچنین شما اگر از ajax در جای مناسب استفاده کنید خیلی مهمه.

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



مثلا در paginate کردن یا لیست مقالات و موارد مشابه=< بدین شکل صفحه هم رفرش نمی شه

pageinate کردن یعنی چی؟
و منظورتون از این علامت =< چیه؟
اگه میشه یه مثال بزنید