/
  • استفاده ترکیبی از nodejs و php

  • صفحه‌ها (2):
  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی استفاده ترکیبی از nodejs و php
    نویسنده پیام
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #1
    استفاده ترکیبی از nodejs و php
    سلام
    پروژه ای اخیرا به من محول شده که سینک و ارتباطات ایجکس بسیاری بین کاربر و سرور بوجود خواهد آمد. به عنوان مثال: بازی آنلاین
    بدلیل افزایش ارتباطات ایجکس ، سربار سرور با کلاینت های همزمان زیاد به شدت افزایش خواهد یافت به همین دلیل به فکر این افتادم که از nodejs در سرور بهره ببرم. و برای همین از اهل فن که مطالعات زیادی در این زمینه داشتند چند سوال دارم:
    1. آیا می شود در سمت سرور از کدهای php بهره برد؟
    2. آیا ادغام php و nodejs در سرور همان مشکل multithreading را بوجود نمی آورد؟
    3. سرور چگونه کلاینت ها را در حالت sleep یا انتظار قرار می دهد؟
    4. آیا در همه مرورگرهای جدید قابل پیاده سازی است؟

    با تشکر
    (آخرین ویرایش در این ارسال: ۱۳۹۱ مهر ۱ ۰۲:۵۰ عصر، توسط nasserghiasi.)
    ۱۳۹۱ مهر ۱ ۰۲:۴۸ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    phpveteran آفلاین
    رامين فرماني
    *******

    ارسال‌ها: 266
    تاریخ عضویت: ۱۳۸۸ خرداد ۱۴
    اعتبار: 14
    تشکرها : 11
    ( 514 تشکر در 204 ارسال )
    ارسال: #2
    RE: استفاده ترکیبی از nodejs و php
    از اونجایی که سوالاتتون نادقیقیه من هم جواب های خوبی بهت نمی تونم بدم جز اینکه به چند توضیح کلی بسنده کنم.
    1-چرا نشود چه ربطی داشت اصلاً؟
    2-بستگی دارد شما می خواین چه کار بکنین و اصلاً منظورتون از ادغام چی هست. در چنین مواردی برخی از وظیفه ها که نیازمند پردازش موازی یا پردازش های سریع و سنگین هست را nodejs انجام می ده و حالا بعضا خروجی هم در دیتابیس ذخیره می شه و این دیگه ارتباطی با php نداره نمی دونم چی تو ذهنت هست ولی این استفاده همزمان یا ارتباط این دو تا کلا معنی خاصی برا من نداره سوالت گنگه.
    3-کار مشکلی نیست این یک شروع خوبه که از وب ساکت استفاده می کنه http://nodejs.ir/blog/nowjs-tutorial
    4-بله اکثر مرورگرهای جدید از HTML5 پشتیبانی می کنن و شما در این زمینه اگه محدودیتی برای مرورگرهای جدید و قدیمی نداشته باشین مشکلی نخواهید داشت.


    در کل من تجربه توسعه بازی داشتم اگه دنبال توسعه بازی هستین خیلی نیازی به NODEJS نیست بیشتر فشار بر روی دیتابیس هست که تفاوت زیادی نداره شما با PHP کار کنین یا Node برای همین بهتره تمرکز را جای دیگه ای بذارین اگه هم اون یه مثال بود فقط که هیچ
    __________________________________________________________________________
    ۱۳۹۱ مهر ۱ ۰۴:۰۴ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : admin oia ali786 payam
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #3
    RE: استفاده ترکیبی از nodejs و php
    دوست عزیز وقتی مثلا 100 کاربر بصورت همزمان به سرور درخواست می فرستن، nodejs خیلی خیلی کارآمد میشه
    ۱۳۹۱ مهر ۱ ۰۴:۳۵ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,698
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6198 تشکر در 3439 ارسال )
    ارسال: #4
    RE: استفاده ترکیبی از nodejs و php
    (۱۳۹۱ مهر ۱ ۰۴:۳۵ عصر)nasserghiasi نوشته شده توسط:  دوست عزیز وقتی مثلا 100 کاربر بصورت همزمان به سرور درخواست می فرستن، nodejs خیلی خیلی کارآمد میشه

    بهتره به جای اینکار همون محصول رو روی php بهینه کنید بهتر جواب می گیرید.
    پیشنهادهای من
    ۱- به php 5.4 به روزرسانی کنید
    ۲- از nginx استفاده کنید
    ۳- php-fpm استفاده کنید
    ۴- پروفایلینگ راه بندازید و گلوگاه‌های بهینه رو روی سیستم پیدا کنید.
    منم دیروز یه همچین مشکلی رو داشتم سر سنگین بودن درخواست درخواستها حتی تا ۲ ثانیه هم میرفت. الان برای کاربر در مدت ۲۰۰ میلی ثانیه سرور پاسخ میده و لود به شدت اومده پایین.
    اصلا این ادغام رو انجام ندید. من خودم فقط توی یک حالت اونم web socket که می خواستم از socket.io استفاده کنم این ادغام رو انجام دادم و اونجا بحث امکانات بود تا بهینگی.
    اما بازم اگر می خوایید رفتاری مثل Nodejs یا java که به صورت یک ماشین مجازی سرور رو بیارید بالا از hhvm استفاده کنید. البته دردسرهای خاص خودش رو داره
    https://github.com/facebook/hiphop-php/w...untu-12.04
    __________________________________________________________________________
    http://mydolphin.ir
    ۱۳۹۱ مهر ۱ ۰۴:۴۸ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : Reza zoghal oia ali786 vejmad
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,698
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6198 تشکر در 3439 ارسال )
    ارسال: #5
    RE: استفاده ترکیبی از nodejs و php
    https://github.com/facebook/hiphop-php/w...ing-HipHop
    __________________________________________________________________________
    http://mydolphin.ir
    ۱۳۹۱ مهر ۱ ۰۴:۴۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #6
    RE: استفاده ترکیبی از nodejs و php
    چرا این ادغام رو انجام ندم؟
    من فقط می خوام بخشی از پروژه که درخواست های ایجکس شاملش می شه رو با nodejs پیاده سازی کنم تا بار سرور بیاد پایین. شما فکر می کنید php,apache چقدر می تونه در این زمینه بهینه بشه؟
    فرض کنید 1000 کاربر همزمان لاگین هستند و هر کدومشون هر 2 یا 3 ثانیه حدود 2 تا 5 درخواست ترکیبی (یعنی چند درخواست رو تو یه درخواست قرار بدیم) sync به سرور می فرستند. ببینید چه اتفاقی می افته. میشه 5000 thread
    اینم بگو که تعداد درخواست ها به نسبت فازبندی و توسعه برنامه بیشتر هم می شن. مثلا درخواستی خواهد بود که هر 20 ثانیه اجرا میشه ولی مثلا یک درخواست باید هر 2 ثانیه ارسال بشه. کلا ajax جواب نمی ده. مساله مقیاس پذیری هست. nodejs حجم پردازش رو تا 1% هم پایین میاره
    ۱۳۹۱ مهر ۱ ۰۵:۱۲ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,698
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6198 تشکر در 3439 ارسال )
    ارسال: #7
    RE: استفاده ترکیبی از nodejs و php
    (۱۳۹۱ مهر ۱ ۰۵:۱۲ عصر)nasserghiasi نوشته شده توسط:  چرا این ادغام رو انجام ندم؟
    من فقط می خوام بخشی از پروژه که درخواست های ایجکس شاملش می شه رو با nodejs پیاده سازی کنم تا بار سرور بیاد پایین. شما فکر می کنید php,apache چقدر می تونه در این زمینه بهینه بشه؟
    فرض کنید 1000 کاربر همزمان لاگین هستند و هر کدومشون هر 2 یا 3 ثانیه حدود 2 تا 5 درخواست ترکیبی (یعنی چند درخواست رو تو یه درخواست قرار بدیم) sync به سرور می فرستند. ببینید چه اتفاقی می افته. میشه 5000 thread
    اینم بگو که تعداد درخواست ها به نسبت فازبندی و توسعه برنامه بیشتر هم می شن. مثلا درخواستی خواهد بود که هر 20 ثانیه اجرا میشه ولی مثلا یک درخواست باید هر 2 ثانیه ارسال بشه. کلا ajax جواب نمی ده. مساله مقیاس پذیری هست. nodejs حجم پردازش رو تا 1% هم پایین میاره

    چرا فکر می کنی nodejs می تونه بهتر جواب بده؟ همون پردازش رو nodejs هم داره.

    البته این چیزی که شما داری میگی برای php نباید چیزی باشه.
    شما بهتره اول به مشکل بخوری بعد حلش کنی. شما هنوز مشکل رو ندیدی. من به هیچ عنوان این ادغام به این صورت رو بهتون پیشنهاد نمی کنم. من الان با درخواست ۳ ثانیه یه بار هم هیچ مشکلی ندارم
    __________________________________________________________________________
    http://mydolphin.ir
    ۱۳۹۱ مهر ۱ ۰۵:۵۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : zoghal ali786
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,698
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6198 تشکر در 3439 ارسال )
    ارسال: #8
    RE: استفاده ترکیبی از nodejs و php
    راستی این ادغام با رو بیشتر می کنه. به هر حال توی ادغام مگه نمی خوای دوباره یه کاری رو با php انجام بدی؟ چی رو می خوای ادغام کنی؟
    __________________________________________________________________________
    http://mydolphin.ir
    ۱۳۹۱ مهر ۱ ۰۶:۱۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    phpveteran آفلاین
    رامين فرماني
    *******

    ارسال‌ها: 266
    تاریخ عضویت: ۱۳۸۸ خرداد ۱۴
    اعتبار: 14
    تشکرها : 11
    ( 514 تشکر در 204 ارسال )
    ارسال: #9
    RE: استفاده ترکیبی از nodejs و php
    Smile
    نه عزیز من با php هم به مشکل برنمی خوری kingsera الان فقط داره 100 کوئری در ثانیه می گیره و این ریکوئست گرفتن با nginex انجام می شه پردازش های php به اندازه کافی سریع هست مشکل شما تو این بخش ها نخواهد بود بهتره پیشنهادهایی که می شه را گوش بدی و وقتت را صرف توسعه سریعتر کنی وقتی کاربرانتون به اون اندازه رسیدن هم توان مالی خواهی داشت که سرورهای قدرتمندی اجاره کنی هم وقت داری که کدها را بهینه کنی و کانفیگهای بهتری پیاده کنی زمانی هم که واقعا گلوگاه های شما php باشه که خیلی خیلی دور از ذهنه می تونی از hipop استفاده کنی.
    __________________________________________________________________________
    ۱۳۹۱ مهر ۱ ۰۷:۱۲ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : zoghal ali786
    zoghal آفلاین
    صالح سوزنچی
    *****

    ارسال‌ها: 1,766
    تاریخ عضویت: ۱۳۸۷ دي ۲۵
    اعتبار: 23
    تشکرها : 1500
    ( 1729 تشکر در 992 ارسال )
    ارسال: #10
    RE: استفاده ترکیبی از nodejs و php
    ناصر عزیز بنده هم با رامین و وحید هم نظرم.
    بهینه کردن بهترین پشنهادی هست که بهت دادن مواردی که خیلی روش می تونم تاکید کنم که خیلی تاثیر داره در سرعت پاسخ گویی
    1- استفاده از 5.4
    2- رندر ها رو سمت کلاینت انجام بدی.
    3- یک لایه مدل در کلاینت سایت داشته باشی و یک سری دیتا ها رو توی اون نگه داری کنی و در پاسخ ها موارد تغییر پیدا کرده یا مورد نیاز رو ارسال کنید. و بتونی از local storage استفاده هم استفاده کنی.
    4- ریسپانس ها رو به صورت جیسون ایجاد کنی.
    5- از سوکت یا کامیت بهره بگیری به همراه روش publishsubscrib
    کد PHP:
    http://weblog.bocoup.com/publishsubscribe-with-jquery-custom-events/ 
    و خیلی روش های دیگه
    ۱۳۹۱ مهر ۲ ۰۶:۰۰ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : ali786 payam
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (2):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS