[英]Ruby On Rails 3, Pusher, Javascript, AJAX, Slow requests
我正在使用Ruby on Rails 3后端和HTML AJAX前端構建一個Facebook聊天應用程序。 對於套接字,我使用Pusher 。 一切正常,但是有一個缺點,那就是性能。
對Pusher API的請求大約需要300毫秒,這太慢了。
觸發Pusher API的代碼是這樣的:
Pusher['presence-chat'].trigger!( 'message_added', { message: message, name: session[:user][:fullname], username: session[:user][:username] } )
Pusher
類來自於pusher-developers開發的寶石。
我最近在他們的論壇上發布了帖子,並等待答案,但是我想知道這里是否有人可以為我指明正確的方向以加快速度。
僅供參考:
運行該應用程序的服務器在荷蘭,而我猜他們的服務器不在。
因此,問題是,是什么導致緩慢的Net::HTTP
(因為Pusher-gem使用的是這種速度)?
提前致謝!
因此,我從標准的WEBrick服務器切換到Thin(=事件服務器)。
然后將觸發方法更新為異步觸發方法:
Pusher['presence-chat'].trigger_async( 'message_added', { message: message, name: session[:user][:fullname], username: session[:user][:username] } )
現在,請求只需2-4毫秒!
感謝Phil @ Pusher!
嘗試使用一些后台作業推送到bacground中的api
sidekiq上有一些很棒的寶石,工作拖欠了,resque等
也有railscasts可以幫助您輕松理解它
http://railscasts.com/episodes?utf8=%E2%9C%93&search=background+job
如何在前端使用node.js和RoR進行套接字,使用此配置將獲得最佳性能
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.