Over the last weekend we had three separate outages; it appears that something on one of our servers was rapidly increasing the memory it was using and took down the main PythonAnywhere website. The majority of our users websites were unaffected.
We're investigating the problem and will post again with an update.
Today's new release features:
a fix to the file browser unicode bug. This was a regression whereby non-ascii characters in filenames caused problems. Shame on us! fixed now.
I'm counting chickens here, but we may have fixed one of our resource leaks, which means we should need to restart console servers less often. That should mean that your console sessions can stay live for longer
Improvements to load-balancing between console servers.
and finally, a bugfix that was causing errors in "Reload Web app".
Thanks to everyone that's been pestering/encouraging us to get these fixes and features in, and people who've reported bugs, including a2j, in4paschenko, btccharts, web2pyslices, lmsmodule , nim4n, SignumSol, viralto, hardsoft, xdanyelo, afinney, rudi, tanay009 + sansoftaus
Keep in touch!
Harry + the PythonAnywhere team.
Well, it's been weeks and weeks and weeks, but we've finally (finally) managed to get a version of MULTIPLE WEBAPPS out.
This is a soft launch, so all you avid blog and forum readers are finding out about it first. We'd love your feedback! Is it working OK? Can you break it? What should we improve?
Is it working OK? Can you break it? What should we improve?
Head on over to your Web Tab and take a look. You'll spot your web apps listed on the left - at this point, if you're a Hosting user (which we're now calling Web Developer) you'll probably have two: one for your
<username>.pythonanywhere.com subdomain, and one for your own domain.
Also, what do you think of our new pricing table? Do you think we've got the balance of features right, esp. re storage space + number of web apps? What do you think of our new account names (warning: only the answer "super-cool" will be accepted as valid feedback to that last.).
[image credit -- "map of the Internet" by Steve Jurveston]
We've just released a new version of PythonAnywhere which features a full suite of LaTex executables, available for you to run, in a browser, in our Bash consoles.
We've been experimenting with this for a couple of weeks, and we've had people in floods of gratitude, saying "YES! Never again will I have to install LaTeX! Thank you thank you thank you!".
So, perhaps it's of use to other people out there, even outside the world of Python? If you're a big LaTeX user, come check it out. Just sign up for a free account, start a Bash console and see what you can do. You can use dropbox, github or just a simple upload (in the Files menu) to get your documents uploaded.
We've basically installed a combination of the Debian texlive and ghostscript packages. If you're a Python fan, there are a few libraries to help as well, like texcaller and pdflatex which you may find useful too.
We crave feedback like prehistoric mammals crave an asteroid, so keep it coming!
Love, the PythonAnywhere team.
We deployed a new version this morning. The visible changes are
Progress on multiple web apps is looking good. We are rewriting the last couple of 'Quickstarts' right now.
We've just released a new version with some more improvements:
We've also added a few packages:
More improvements on their way - speeding up saving files is next, and we're back to work on finishing multiple webapps, so hopefully that won't be long either.
Keep your feedback and suggestions coming!
We've just pushed an updated version of PythonAnywhere! The biggest change this time around is that browsing through directories in the "Files" tab is much quicker.
Some background: in the older version of PythonAnywhere, every time you browsed a directory, launched a new process that ran inside your sandbox. This gave us great security pretty much for free -- as the file view was running in your sandbox, it was certain that you couldn't see anyone else's files. The problem was that as more and more people started using PythonAnywhere (yay!) more and more processes were being launched, and it got slower and slower (boo!). So we've had to bite the bullet and code our own secure sandboxed file browser. The first cut of this, which just uses the new system for browsing directories, is what we've just released. We're also working on using the same technique for viewing, saving and editing files -- that's coming soon.
There have also been a couple of minor tweaks:
ping are now available from Bash consoles, and user web applications can now accept requests of 32kB, up from 4kB (which was too small for, in particular, web apps that wanted to use OpenID).
As many of you know, we've been having some scaling issues in the last week or so. This new release is our first crack at addressing them.
Here's what we've managed:
It's been a fairly hectic couple of weeks! We're very conscious of unacceptable performance, since we use PythonAnywhere every day - in fact, there's a bit of a Catch-22, since PythonAnywhere being slow slows down our development of fixes to that slowness... Anyways, we've got there in the end, and we look forward to seeing how those improvements pan out. We're keeping a close eye on things for the next few days!
Lots of stuff still to do - we're half-way through some more major speedups to the file browser, and we've got lots more planned. And, of course, we're looking forward to getting back to work on the multiple-web-apps / Pro plans, which are tantalisingly 90% finished -- so we've only got the remaining 90% to do ;-)
Over the last couple of months our users have been noticing increasing performance issues. I think the most noticeable one is browsing directories and viewing files. Though the other problem is a slow down of console performance.
The file browser is currently slow because it launches a new user process which is chrooted and then inspects a user's files. This made for very easy and simple security and when a server is under light load it was actually quite quick. Under heavy load it grinds to a halt. Process start times balloon making file operations take forever for the user.
We are currently rewriting the code so that it no longer launches a sub-process. As of today we are about halfway through the total rewrite and plan on releasing it in stages once each segment passes through our testing loop.
The other main performance issue are slow consoles. By this I mean slow start times and laggy response to typing. Part of this problem is that scheduled tasks are run on the same server type as consoles. Scheduled tasks are very spiky so we've split those out to their own server type. Something that will help with latency while also making it easier to scale horizontally.
The slow start times for consoles is related to the file browser problem. Starting a console would launch a number of sub-processes to perform some admin tasks before actually launching the Python or Bash process. We've rewritten these functions so that this doesn't happen. We should be able to release these fixes soon as they are currently in testing.
Thanks to everyone for bearing with us, we appreciate the support. Fixing the performance problems have been our top priority and we will not stop working on it until it's fast for everyone.
All the best
From the PythonAnywhere team
We've just upgraded PythonAnywhere with a bunch of stability fixes. One nice new thing: if you create a new web2py app, you'll get version 2.0.9 -- and even better, the build-in "upgrade" button in the web2py admin view now works -- just click it, click OK, then once it's done, use the "Reload web app" button on the Web tab of your PythonAnywhere dashboard.
Page 2 of 6.