Extra long loading time on Angular/django app - angularjs

I just lauched a website http://www.dicorico.com running on AngularJS and Django for the back-end. The performances of Google Page Speed insight are not great and my Google anaytics indicates a page loading time under Chrome of 10 sec on average since launch on 22nd of October ... I'd like to identify the issue and have no clue where to start looking. Your help would be much appreciated.
Note, the app uses http://www.michaelbromley.co.uk/blog/171/enable-rich-social-sharing-in-your-angularjs-app to render HTML so that the content is crawlable by google.
Thanks,
Laurent

You need to first exclude the fact that it's your code that made the performance suffers. To debug the performance of django projects, use django-debug-toolbar in your dev environment.
There are too many other facts that could also slow down your website, the instance you use might not be performant enough to handle the traffic, or you are doing some backend process in crontab that eats up the resource, or your database is not optimized, or you simply didn't configure web server correctly, etc.
You might need to login into the box and check the memory/cpu/disk usage to determine where the bottleneck is, then try to improve that. There's no straight answer for that, hope it helps.

Related

React Native production app remote diagnostics / user assistance

I have published an app built with React Native. Currently it's iOS only, but eventually may be released for Android as well. I'd like a cross-platform solution to remotely assist customers that run into bugs, crashes or any unexpected behavior. While the app could continuously log everything to a server, I've found that that's not very helpful since customers usually have very specific points in time that they need help with. Sifting through continuous logs is time consuming and generally a waste of resources.
My hope is to give the user the ability to press a button to send the stack trace, the last N minutes worth of logs, etc directly to me. This wouldn't work in the case of a hard crash of course. The vast majority of the time the app is functional when there's something they need help with.
A pie-in-the-sky idea would be to let the user share their screen with me.
Found this related question but it doesn't fully encompass what I'm trying to accomplish:
Release mode diagnostics in React Native
BugSnag looks promising. It's a paid service.
https://www.bugsnag.com/platforms/react-native-error-reporting
I tried BugSnag and a few other services. In the end, Sentry has the most reliable and simplest RN library. It's also free for the Developer plan (5k errors per month is plenty enough for us, and supports multiple apps).
https://sentry.io/pricing/

html sites are fast but cms (wordpress/magento) sites are slow on my server. I cant find the reason

html sites are fast but cms (WordPress/magento) sites are slow on my server. I cant find the reason. This is my default WordPress site without theme and any plugins. Just installed. http://www.googlecloudhost.com/. It took 90+ seconds to load but this html site http://sohamdistributors.com/. This takes less than 2 seconds to load.
Please help me to find the reason of slow cms site.
Sites using WordPress/Magento are slower than sites using static HTML because of PHP and database usage. Your site on googlecloudhost.com seems slower than it should be though, it takes 20+ seconds for the server to respond.
To make sure the problem is not caused by a plugin you are using on your website you can use the Plugin Performance Profiler plugin for WordPress.
To increase performance you can also use a caching plugin like W3 Total Cache.
If both options do not solve your problem consider consulting your hosting provider, the problem could be caused by their setup then.

Joomla Site very slow

i'm struggling onto a problem that i can't find a way ti fix. I'm currently running joomla 3.4.5 and a gantry based theme. I tried minifying CSS, JS and HTML and also optimize the images with the google insight tool.
i've done a debug system and it shows that
Application: beforeRenderModule mod_rocknavmenu
implies 21.7 seconds ..... I think that is the issue .... how can i solve that?
The site is this
Thank you for your supoprt
I would guess the site is slow due to your hosting.
Also news01.png and news02.png are taking several seconds each to come through.
Update all of your extensions, out of date extensions can impact performance.
Check your slow query log, CPU, and memory usage on your server. Those will tell you more about potential issues.
Found realy easy solution - just disable System - Model plugin

Heroku - Spin Up

I have a site that I deployed to Heroku. It's a low traffic site so if nobody goes to it for a couple hours and then go to it, it will take about 5-10 seconds to load. Any other requests to other pages on that site loads up fine quickly. If I exit the site entirely and check back in a few minutes later, it also comes back up quickly.
It's only if it's left idle for a couple hours that the spin up time is noticeable. Does anyone else have this issue? If so, how did you fix it.
Also while on the topic, does the same thing happen with Google App Engine? I'm currently just trying out these app hosting platforms so I don't really have any preference for technologies/languages.
Quickest way to "fix" this problem is to make sure your site is always up. Set up a pingdom account (http://www.pingdom.com/) which will ping your site every few minutes just to keep it alive.
I have a special route myapp.com/keep_alive which does nothing except hit the rails stack without caching.
Hopefully this helps!
Do you happen to be hosting it with the 'free plan', ie. only with 1 dyno?
If so, what you experience might be a Dyno Idling. You can increase the number of the dynos so that your app is 'always-on'
From what I understand Heroku makes public this behaviour.
For free site hosting, one heroku 'Dyno' is dedictaed to your site, if the dyno is inactive for a period of time then the resource will be redirected elsewhere, when you try access the site after this time the system has to go request a Dyno back.
You can prevent this by paying for extra dyno's which will stick with your site or you can visit the site on a regular basis yourself with a automated script.
The best thing you can do to decrease this time is to minimize the size of your slug. This includes steps like deleting any PSD or AI image assets, removing PDFs, and minimizing your gem set. For more information see: http://devcenter.heroku.com/articles/slug-size. As a reference, my applications can usually spin up in under around one second.
If you don't want to pay for Pingdom, you can try the open source alternative: Pinger
https://github.com/austinthecoder/pinger

heavy iTunes Connect scraping

I'm looking at different options to get the sales reports and other data out of the iTunes Connect website. Since Apple doesn't provide an API, all the solutions I found are based on scraping the page.
As I need the information for a product that we offer, I'm not that happy to give all the iTunes accounts to a 3rd party service. This is why I want to scrape it myself or use a product that runs on our servers.
My questions are:
does someone have experience how frequent apple is changing the web front-end?
has someone experience in maximum request from one server to the site? I'm afraid of being baned by apple.
anything else I have to have in mind that will cause serious trouble?
Just if someone is interested in the tools I looked at, here is a list:
Services:
http://www.appfigures.com (has API)
http://www.itunesapis.com
http://www.appannie.com/
http://www.heartbeatapp.com
Products:
http://www.appclix.com (has a enterprise licence that runs on your own server, includes API. Tends to me more a mobile analytics tool in general)
http://www.ideaswarm.com/products/appviz/ (Mac enduser app)
Open Source Tools:
http://code.google.com/p/appdailysales/
http://metacpan.org/pod/WWW::iTunesConnect
http://www.rogueamoeba.com/utm/2009/05/04/itunesconnectarchiver/
http://github.com/kasatani/iphone-stats
http://bfoz.net/projects/itc/
http://sourceforge.net/projects/itunesanalytics/
UPDATE:
I started using Kirby's python script (https://github.com/kirbyt/appdailysales) and it works very well.
does someone have experience how frequent apple is changing the web front-end?
I can't speak for all of iTunes Connect, only downloading daily sales reports. My script was rock solid and didn't require a single change between November 2009 and September 2010. This changed in September 2010 when Apple rolled out the new web site. This broke the old script, and a new one had to be written. Since rolling out the new web site, I make changes every few days to handle the tweaks from Apple. I'm hoping the tweaks will end soon.
Take a look at the download page for appdailysales.py. The dates will give you a general idea of how often I make changes to the script.
https://github.com/kirbyt/appdailysales
Again, this is only for daily sales reports. I'm not sure how frequently others areas of iTC change.
has someone experience in maximum request from one server to the site? I'm afraid of being baned by apple.
I've not experienced this, but my server runs the script only once a day. I frequently hit the iTC when working on the script, but not enough to cause a load on Apple's servers.
anything else I have to have in mind that will cause serious trouble?
I don't know what might get you in trouble with Apple, but one thing that does cause a serious headache is changes to the web site. While the new version of the web site makes screen scraping the site easier, it did involve writing a new script. Apple does not give you a heads up that they are changing something. You find out after the fact when something in your screen scraper breaks.
If you depend on the data daily, then you have to drop everything and make the necessary fixes. And there is nothing stopping Apple from rolling out another new site sometime in the future.
Hope that helps.
-KIRBY
I'm using AppSalesMobile on iPhone. It get's updated pretty quickly. Another script I use is salestrends.sh that just downloads the reports in a folder for easy import into databases etc.
If you're also interested in finding out, in which countries an app is featured, you can use my iTunesFeaturedCheck script.
Also check out this question with more links.
You might also try the Autoingestion tool from Apple. Documentation here.
appdailysales is the best tool out there that I have found.
I have modified it so that the script automatically puts the ITC data into a MySQL database instead of just saving the txt files. And as Kirby pointed out, I too only have it run once a day and everything appears to be working. Nothing has been blocked by Apple so far.
As for the script breaking, the one good thing is that Apple keeps daily sales reports for 14 days (last I checked). This means that if the script breaks, one has several days to fix the script and still get the daily sales reports.
Good luck.
Kevin

Resources