Is quick start rails server single threaded?

56 views
Skip to first unread message

Pritpal Riat

unread,
Jan 14, 2016, 8:37:03 AM1/14/16
to Canvas LMS Users
Hi,

I have a canvas installation using the quick start guide for development on a virtual machine. I have additional extras installed such as redis and canvas analytics for my development. However, when getting multiple data at a time from the canvas server, it is very slow? Is the server single-threaded, because it seems as if it before the next request can occur it must do the one above first. Also i noticed how a user can not long in while another user is publishing an assignment. Publishing an assignment is also very slow too. This leads me to believe that either rails dev server is single-threaded or there is some other issue maybe to do with the vm? If the server is single threaded, how can one make it multi threaded?

Many Thanks

Pritpal

Cody Cutrer

unread,
Jan 14, 2016, 3:49:08 PM1/14/16
to canvas-l...@googlegroups.com
Pritpal,

No. Canvas does not support multi-threaded, and the default development web server runs a single process. When you deploy to production you'll configure your application server to run multiple processes of Canvas, and each process can handle one request at a time.

Have you installed and configured redis for caching? That should significantly increase speed for a development instance.

Cody Cutrer
Software Engineer
Instructure

--

---
You received this message because you are subscribed to the Google Groups "Canvas LMS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to canvas-lms-use...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Pritpal Riat

unread,
Jan 14, 2016, 4:20:09 PM1/14/16
to Canvas LMS Users
Hi Cody,

I have redis installed as I have used it for OAuth2. My redis.yml is configured as 
development:
  servers:
    - redis://localhost

I don't know whether that is all that is required for caching as well. I am using my canvas installation for my dissertation/software project, using the API extensively, and have found that getting data from my canvas installation to my software can be slow since the server handles one request at a time. I don't think its going to be worthwhile for me to set up a production server for my project and time is limited regarding my dissertation, is it possible to run an local apache server on my existing quick start installation that can run multiple processes of Canvas?

Thank you for the reply. 

Kind Regards

Pritpal

Graham Ballantyne

unread,
Jan 14, 2016, 4:45:07 PM1/14/16
to canvas-l...@googlegroups.com
Pritpal,

The production deployment guide walks you through setting up Apache & Passenger (https://github.com/instructure/canvas-lms/wiki/Production-Start).

Our fork contains a Vagrant setup for quickly spinning up a local development VM. It runs in development mode (e.g. classes aren't cached), but it's trivial to flip it to production mode. Check out the docs: https://github.com/sfu/canvas-lms/blob/sfu-develop/Vagrant.md


--
Graham Ballantyne
IT Services
Simon Fraser University

Simon Williams

unread,
Jan 19, 2016, 10:39:42 PM1/19/16
to canvas-l...@googlegroups.com
You’ll also want to look at https://github.com/instructure/canvas-lms/wiki/Quick-Start#performance-tweaks (cache_store.yml) for caching.

Simon
Reply all
Reply to author
Forward
0 new messages