القضية الاقتراع طويلة مع ارتفاع حركة المرور على الانترنت
-
07-07-2019 - |
سؤال
ويقول لدي النصي، أن يفعل الاقتراع طويلة على الخادم لمعرفة ما اذا كان المستخدم لديه أي mesages جديدة. سوف جانب الخادم أن يكون شيء من هذا القبيل
while counter < 5
if something_changed
push_changes_to_client
break
else
counter++
sleep 5
والذي يتحقق قاعدة البيانات 5 مرات وفي كل مرة إذا كان هناك أي تغيير، فإنه ينتظر 5S درج نقود الاختيار المقبل، والذي ينتج في وقت التنفيذ الحد الأقصى لعن 25S.
وماذا يحدث عندما ينتقل العميل من صفحة إلى أخرى بسرعة حقا؟ أعتقد أن السيناريو الخادم تبقي على تشغيل حتى بعد الخطوة العميل إلى صفحة مختلفة، حيث يرسل طلب آخر لإجراء تغييرات.
هل يعني ذلك، أنه عندما الكثير من الناس يتحركون بسرعة في جميع أنحاء الموقع (أقل من 25S تنفيذ أقصى في كل صفحة)، ثم الملقم للحفاظ على تشغيل جميع البرامج النصية، التي تحاول الرد على الصفحة التي لا توجد الآن 'ر وجود أي أكثر؟ لن يسبب هذا الملقم لاستخدام كل من انها تجمع مؤشرات الترابط سريع جدا؟
المحلول
في نموذج موضوع لكل اتصال مع المكالمات النوم متزامن، وهذا في الواقع قد ربط عدد كبير من المواضيع. ومع ذلك، إذا كان "النوم" ببساطة جداول الاستدعاء والعودة، والجمود تجمع موضوع يمكن تجنبها.