طرز کار php هنگام رسیدن 1000 درخواست با هم برای یک صفحه چطوریه؟

phpweb

Active Member
وقتی یه صفحه رو درخواست می کنیم، پی اچ پی این صفحه رو نمایش می ده.

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

ziXet

مدیر انجمن PHP/MYSQL
وقتی یه صفحه رو درخواست می کنیم، پی اچ پی این صفحه رو نمایش می ده.

فرض کنید 1000 نفر با هم برای یک صفحه درخواست بدن، در این صورت پی اچ پی به چه شکل عمل می کنه تا یک صفحه رو همزمان به 1000 نشون بده طوریکه فرمهای ارسالی و کوئری استرینگهای کاربران رو باهم قاطی نکنه؟
وظیفه php نیست که درخواست هارو مدیریت کنه
وب سرور این کارو انجام میده و requestها رو میدیریت میکنه
 

phpweb

Active Member
وظیفه php نیست که درخواست هارو مدیریت کنه
وب سرور این کارو انجام میده و requestها رو میدیریت میکنه
خب فرض کنید 1000 نفر باهم درخواست یه فایل پی اچ پی رو بدن، بعد از درخواست چه اتفاقی میافته که پی اچ پی کارهای خاسته شده این 1000 نفر رو با هم انجام می ده و اینها رو با هم قاطی نمی کنه.

بنظرم از هر اسکریپت پی اچ پی یه کپی موقت توی رم سرور ایجاد می شه، البته مطمئن نیستم. لطفا توضیح بدید.

البته اگه بنظرتون این سوال مربوط به بخش سرور هست، می تونم سوال رو اونجا مطرح کنم.
 

ALYREZA

Member
وظیفه php نیست که درخواست هارو مدیریت کنه
وب سرور این کارو انجام میده و requestها رو میدیریت میکنه
من هم یه چیزی اضافه می کنم به پاسخ دوستمون
به پهنای باند هم بستگی داره اگر کم باشه سایت down می شه یکی از راههای ناجوان مردانه هم همینه برای ضربه زدن به سایت (فرستادن درخواست های بی شمار)
البته php می تونه متناسب با پهنای باند مثلا به درخواست 1001به بعد دیگه پاسخ نده !
 

phpweb

Active Member
من هم یه چیزی اضافه می کنم به پاسخ دوستمون
به پهنای باند هم بستگی داره اگر کم باشه سایت down می شه یکی از راههای ناجوان مردانه هم همینه برای ضربه زدن به سایت (فرستادن درخواست های بی شمار)
البته php می تونه متناسب با پهنای باند مثلا به درخواست 1001به بعد دیگه پاسخ نده !

من می خوام بدونم که چه اتفاقی میافته که 1000 نفر یا بیشتر به یه فایل پی اچ پی دسترسی پیدا می کنن و این فایل برای همه اجرا می شه؟
 

ziXet

مدیر انجمن PHP/MYSQL
php یه زبان مفسری هست و با زبانهای کامپایلری فرق داره!
شما تو یه زبان کامپایلری مثل C وقتی برنامه تو مینویسی و فایل اجرایی ساخته میشه وقتی اجراش میکنه یه stack pointer برای اون برنامه ست میشه و برنامه میره تو رم و دستورات برنامه اجرا میشن. وقتی هم دوباره همون برنامه رو باز میکنه دوباره همین روند ادامه پیدا میکنه و این دوتا برنامه با هم قاطی نمیشن چون CPU اونارو تو دوتا پروسس جدید ران میکنه
زبان مفسری مثل php هم یه همچین مکانیزمی داره یعنی وقتی دوتا برنامه همزمان اجرا میشن متغیرهای هر کدوم یه آدرس مشخصی تو رم دارن و با هم قاطی نمیشن

موفق باشید
 

farik

Well-Known Member
باسلام..
علیرضا جان باید بگم که امروزه خیلی از سایت ها anti DOS دارن که مانع میشه سایت به این راحتی دان بشه..
موفق باشید..
 

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

بالا