PDA

View Full Version : آیا این کار اصولی هستش



olampiad
سه شنبه 30 دی 1393, 21:50 عصر
سلام و خسته نباشید به دوستان عزیز
به این تصویر من ی نگا بندازید.
http://s4.picofile.com/file/8165129176/fds.PNG
این جدول آمار بازدید من هستش.
من تابعی فقط تو صفحه اول نوشتم که وقتی صفحه اجرا میشه ی ردیف به جدول من اضافه میشه و اینطوری من آمار باز دید رو میفهمم.
حالا سوال من این هستش که
آیا این کار اصولی هستش؟
یعنی بعد چند ماه که کاربران زیادی از سایت باز دید میکنن ، دیتابیس سنگین نمیشه؟
مثلا بعد از یک سال 96387414 بازدید داشته باشه.
اگه دیتابیس سنگین بشه سرعت لود سایت هم پایین میاد؟
تو سایت های دیگه چ طوری آمار بازدید درس می کنن؟
ممنون

abolfazl-z
سه شنبه 30 دی 1393, 23:42 عصر
خوب performance در mysql خودش دنیایی هست.

لازمه فقط mysql performance blog را در گوگل جستجو کنید.

باید همه چیز را بهنیه کنید.

باید در مورد این قضیه خیلی تحقیق کنید.

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

mohamadali1374
چهارشنبه 01 بهمن 1393, 12:02 عصر
سلام و خسته نباشید به دوستان عزیز
به این تصویر من ی نگا بندازید.
http://s4.picofile.com/file/8165129176/fds.PNG
این جدول آمار بازدید من هستش.
من تابعی فقط تو صفحه اول نوشتم که وقتی صفحه اجرا میشه ی ردیف به جدول من اضافه میشه و اینطوری من آمار باز دید رو میفهمم.
حالا سوال من این هستش که
آیا این کار اصولی هستش؟
یعنی بعد چند ماه که کاربران زیادی از سایت باز دید میکنن ، دیتابیس سنگین نمیشه؟
مثلا بعد از یک سال 96387414 بازدید داشته باشه.
اگه دیتابیس سنگین بشه سرعت لود سایت هم پایین میاد؟
تو سایت های دیگه چ طوری آمار بازدید درس می کنن؟
ممنون
خوب شما میتونید یه جدول درست کنید که یه ستون id صفحه رو داشته باشه و یه ستون تعداد بازدیدها حالا هروقت یه نفر از یک صفحه بازدید میکنه فقط آمار مربوط به اون صفحه آپدیت بشه یعنی نیازی نیست به ازای هر بازدید یه سطر insert بشه
البته ممکنه شما نیاز به زمان بازدید ها داشته باشید که میتونید یه جدول دیگه درست کنید که زمان بازدید و ip بازدید کننده رو ثبت کنه و بعد از یه مدت مثلا یک هفته میانگین زمان بازدید ها رو بگیره و بقیه سطر ها رو حذف کنه در مجموع ایده های زیادی وجود داره ولی این تابعی که شما درست کردید واضحه که حجم زیادی از دیتابیس رو اشغال میکنه

MMSHFE
چهارشنبه 01 بهمن 1393, 13:27 عصر
توی پکیج PHP هم درمورد فشرده سازی اطلاعات Log کاربران و ذخیره کردن توی فایل بصورت فشرده و... هم توضیح داده شده. بد نیست یکسری کارها (مثل ثبت UserAgent که فقط به درد پلیس فتا میخوره) رو به فایل بسپرین و دیتابیس فقط آمار بازدید رو نگه داره که اونهم فقط با یک فیلد قابل انجامه.

beh3000
چهارشنبه 01 بهمن 1393, 13:35 عصر
سلام
1 . همین جدولی که دارین رو یک فیلد ip بهش اضافه کنین
2 . یک جدول دیگه درست کنید و آمارهایی که نیاز دارین رو بصورت فیلد بهش اضافه کنید مثلا تاریخ روز , بازدید , بازدیدکننده و ...
3 . یک کوئری بنویسید که تاریخ بگیره و از جدول شماره یک آمار هایی که نیاز دارین رو استخراج کنه ... این کوئری باید بصورت کرون جاب بعد از ساعت 24 هر شب اجرا بشه ... ( بعد از ساعت 24 یعنی میشه روز بعد پس باید تاریخ روز قبل رو بگیری و آمارش رو در بیاری مثل تعداد بازدید و بازدید کننده و ... این آمار رو باید در جدول شماره 2 ذخیره کنی بعد میتونی از جدول اول اون رکوردهارو پاک کنی ولی جهت احتیاط رکوردهای 48 ساعت قبل رو پاک کن )

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

در کل به این شکل میشه که در جدول شماره یک تعداد بازدید هر روز بصورت رکورد در جدول نمایش داده میشه ( حداکثر آمار دو روز ) مثلا در 2 روز یک میلیون بازدید داشتین یک میلیون هم رکورد داشتین

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