PDA

View Full Version : سوال: افراد آنلاين



saadatieathar
دوشنبه 27 آذر 1391, 21:39 عصر
سلام.در مورد به دست آوردن تعداد افراد آنلاين تو انجمن سرچ كردم ،برام سوال هايي پيش اومد.
اگر بخواييم نمايش افراد آنلاين رو به عنوان يه سرويس دهنده ارائه كنيم،يعني اينكه بگيم مثلا قراره به 1000 تا وبلاگ اين سرويس رو ارائه بديم،هر وبلاگي كه ثبت نام كرد بتونه با قرار دادن يك كد توي وبلاگش افراد آنلاين رو به كاربرهاش نشون بده.
براي اين كار توي ديتابيس يه تيبل ايجاد مي كنيم كه يه فيلد ID و يه فيلد online_user داريم،فيلد يوزر آنلاين مدام آپديت ميشه و عدد تعداد آنلاين تغيير مي كنه،سوال من در مورد حجم اشغال شده ديتابس و فشار روي سرور هست،وقتي ما همچين سرويس دهنده اي داشته باشيم كه همزمان به چند تا وب افراد آنلاين رو نشون بده فشار روي سرور زياد هست ؟ حجم ديتابيس زياد ميشه ؟

و در آخر اينكه در مورد نوشتن چنين كدي كه بشه به عنوان سرويس دهنده ازش استفاده كرد و افراد آنلاين وب هاي مختلف رو ثبت كنه و به وب ها نشون بده هم راهنماييم كنيد ممنون مي شم.

tehro0n
دوشنبه 27 آذر 1391, 22:04 عصر
فشار سرور رفته رفته زیاد خواهد شد تا جایی که sespend میشی :D
فرض بگیر به یک عدد معمولی 5000 سایت رسیدی، هر سایت هم بگیم 5 نفر آنلاین داشته باشه شما تقریبا در هر 30 دقیقه باید 25000 کوئری بگیری..

نحوه کلی کار: یک جدول داری که نام سایت و تعداد افراد آنلاین ستون های آن جدول هستند و نیازی به آی دی نیست چون فقط همین سرویس رو داری می دی، اما اگه امکانات دیگری مثل بازدید ها رو هم داری علاوه بر افزایش کوئری ها که بحث کردیم باید چند جدول داشته باشی و با آی دی جدول های دیگه رو به هم ربط بدی

من هم کار شما رو می کنم و حدود 6 میلیون رکورد در هر ماه دارم (کوئری هم حداقل باید این عدد * 5 باشه)

saadatieathar
دوشنبه 27 آذر 1391, 22:43 عصر
آهان پس هر چقدر كوئري هاي پشت سر هم زياد بشه فشار هم بيشتر ميشه.تشكر.
اگر بياييم و به جاي ذخيره در ديتابيس توي فايل ذخيره كنيم چطور؟ در اون صورت چه مشكل هايي داريم ؟
مثلا اينجا كدي هست كه مياد يك فايل counter.db مي سازه

http://www.phpkode.com/scripts/item/cf-users-online/

من تست كردم بر اساس تعداد آنلاين ها حجمش متغيره ، يعني هر بار كه يك درخواست ارسال ميشه فايل آپديت ميشه.
اين فايل آپديت شدن مدام مثل همون كوئري ها همون قدر روي سرور فشار مياره ؟