Ask your own question, for FREE!
OpenStudy Feedback 8 Online
OpenStudy (anonymous):

Request: Make this website less slower and laggier.

OpenStudy (osanseviero):

Hah! It isnt so easy

OpenStudy (farmdawgnation):

Nonamejim, thanks for the suggestion. We're aware of the issue. Shadowfiend has been digging through heap snapshots trying to figure out what's causing the slowness. Unfortunately, these are problems that take a significant amount of time a labor to solve. We'll be sure to keep the community apprised of what we find, but all I can say right now is "we're working on it". Thanks for bearing with us, and we're glad to have you as a member of the OpenStudy community.

OpenStudy (shadowfiend):

We're going to be trying some tweaks in the backend next time we give the server a kick which should hopefully help performance at peak times. We're still looking into deeper changes, as well.

OpenStudy (anonymous):

thanks farmdawgnation. a funny thing is that my computer froze while typing this haha. This website is one of the best I've been to.

OpenStudy (anonymous):

I've so far been very impressed just by the fluidity of things. This site represents the best of where the web is going in terms of web apps functioning like desktop apps. I've not yet seen the lagginess, but it's SO much better than those apps where every submission is an html form and new page load... see what happens if you lose your post on those!

OpenStudy (shadowfiend):

Yep, sadly there are still accidents that can happen where you can lose your posts here; we're working on all of those :) The lagginess will hopefully be better over the coming days, as we've switched a couple of things around backend-wise to try and deal with it.

OpenStudy (anonymous):

are you allowed to talk about your architecture at all? I teach web tech, but it's mostly low-level stuff- html and css, so most other stuff is new to me, and i'm trying to get up to speed.

OpenStudy (shadowfiend):

Absolutely! The core of OpenStudy is written in Scala using the Lift framework. We use a core set of Actors to funnel messages around between Lift's CometActors, which talk to the client for the real-time functionality. Our data is stored in mongodb (we're approaching ~400M of gzipped data). We're running everything but the widget on a single cc1.4xlarge Amazon EC2 instance with 8 cores (16 with hyperthreading) and ~21GB of RAM. The main server runs both mongodb and the JVM that handles the Scala side of things. The JVM is given up to 15GB of RAM to live in. Most of the latency issues the last couple of months have been related to garbage collection pauses, and we've been trying to tweak both the lifecycles of our objects and the GC strategy the JVM uses to minimize both the frequency and duration of these pauses. Client-side, most of the data is shuttled back and forth as JSON and bound to HTML templates using Knockout JS ( http://knockoutjs.com/ ).

OpenStudy (shadowfiend):

We've got ~220K of CSS and ~300K of our own JavaScript, plus ~150K or so of external JS (that transfers down closer to ~60K). We use MathJax for our equation handling and a bit of decoration over the Raphael vector graphics framework for drawings. Let me know if you have any other questions :) Oh -> Scala is at http://scala-lang.org/ and Lift is at http://liftweb.net/

OpenStudy (anonymous):

@shadowfiend- dude, you rock!

OpenStudy (shadowfiend):

Hahaha. Well thank you :)

OpenStudy (anonymous):

I've never had a post lost and thanks for the info shadowfiend

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!