Can a Raspberry Pi serve a mobile app with lots of users?

As well as running the DingleberryPi website, I work on a number of other personal projects, one of which has had a lot of my time over the past few months (which is why I’ve slightly neglected this site somewhat, my apologies) is my first mobile app.

My first attempt at a commercial mobile app is built with HTML5, and will be coming soon to iOS, Android and BlackBerry 10. It’s a tidal predictions and maritime weather app, serving every major port and seaside location in the UK.

Data supply, from a Raspberry Pi?

As part of the development, I’ve written a web service which synchronises nightly with the API’s that supply the tide and weather data. Its also this web service that provides the app with the data it needs to work.

The web service is written using CodeIgniter PHP framework, and makes around 1,100 api calls to collect its data. Once the app launches, it will then provide this data to possibly hundreds, hopefully thousands of users.

My next test is; can a Raspberry Pi host this web service reliably? I think it can, and will be testing the web service from a 256mb Model B that I have spare.

When I launched this site, I set out to see what the Raspberry Pi was really capable of, and I’ve found it to be a very capable web server, hosting this WordPress site to over 7,000 visitors a month. The next test is using one for a commercial product, and I have every confidence in these excellent bits of kit.

Are you running a CodeIgniter installation from a Raspberry Pi? Do you have any thoughts or suggestions? comment below.

Ste

Web Developer living in Manchester, working for Studio Skylab (http://www.studioskylab.com). Views and thoughts are my own.

You may also like...

11 Responses

  1. Aron says:

    Have you looked at, http://raspberrycolocation.com/? I would be interested to see how you find it performance wise.

  2. Bradley says:

    I’m really impressed that you have this website running on a raspberry pi. 🙂 can you explain this further to me.

    I have a small website that i’ve paid go daddy to host and get my domain from.
    I figure since its really a tiny website with only a few pictures and a few pages of txt and a small number of visitors that a raspberry pi would be a good server for it instead of spending hundreds on an actual server or eve spending the money to host it through godaddy. (I hate reoccurring bills).

    Can you point me in the right direction with this idea?

    • Ste W says:

      Hi there Bradley. I’m going to look at doing a post about this, probably not a tutorial because its a different process depending on your domain registration company. Essentially what you need are the following:

      1. Static IP address (ideally) – speak to your ISP who should be able to arrange this.
      2. Install Apache, MySQL (if DB is needed) and PHP on your Raspberry Pi (read my tutorial on how to do this)
      3. DNS for your domain.

      What you’d need to do is configure your Router to push all traffic from port 80 to your Raspberry Pi, and then point your A record for your domain to your static IP. That’s essentially it, but like I say, I’ll go into this in more detail.

  3. Nathan says:

    Thank you Ste. You have inspired by set up my own Raspberry Pi server which is now running on nathanelec.co.uk. If anyone is interested please come and check it out and if you do leave a comment on one of the posts.

    Thanks
    Nathan

  4. Dave Elbro says:

    I have just put a test version of my site on http://www.joomla.sellyourskills.net
    I have converted my raspberry pi into a server and connected it to a subdomain provided by 1&1.

    as you may notice the 2 sites http://www.sellyourskills.net and http://www.joomla.sellyourskills.net run at different speeds, does any one know how I can speed up my pi so its performs faster on the net?

    • Ste W says:

      Hi Dave

      Without a doubt, look at caching your content. If you’re using WordPress, Quick Cache is an ideal solution, easy to install and configure and not overkill on options like with W3 Total Cache.

      Aside from this, having a decent internet connection is a must. Most ADSL packages advertise as being ’20meg’ but this is only downstream. In reality at best the upload speed on ADSL is around 1mb. If you’ve got access to fibre, go down that route, alternatively, look into SDSL which provides the same speed up and down. Are you using a CMS or is it a static site?

  5. Kenneth Lim says:

    Hi Ste,

    What a cool project you have done up with the Pi 😉

    Just like to know how’s your progress on getting the Pi to serve Web service? I have plans to do something similar (not the app) and use the Pi as the backend.

    Thanks for sharing!

    • Ste W says:

      Hi Kenneth

      Thanks for the comment, the Pi works ok for providing cached data, I plan on using one for supplying json data to the app, but it really struggled with syncing the data from the API providers to serve out to the app, in fact it caused it to kernel panic!

      I’m reviewing my sync program to try and overcome it, it would be really cool if I could get a Pi doing the full job, but it is a massive amount of data that the app needs every day, ready to serve up; 4 readings per port (500 ports), plus 12 maritime weather readings for 1,000 UK locations. Then on top of that, it needs to serve up that data to the app – a tall order for a Raspberry Pi! I’ve not given up yet!

  1. 10th April 2013

    […] with lots of users? Posted on April 10, 2013 by News Collector — No Comments ↓ By Ste W Can a RaspBerry Pi be used reliably in a commercial project? There’s only one way to find […]

Leave a Reply