GWT is slow in Development Mode - performance

I'm using Eclipse Galileo with latest GWT 2.0 version in development mode, but it runs really slow (I need to wait about a minute to open one page, but after compilation, my application works very well when I run it using Tomcat 5.5).
My code is not too heavy and I guess there is an OS-related or software inconsistency problem, because I'd this problem before, but when I reinstalled Windows Vista SP2 (I formatted my Windows drive and reinstalled it), my problem was resolved for a few days and then again it became too slow.
I didn't install any special software on my Windows machine, so I really don't know why this problem occurs. Any suggestion ?

If it has become unusually slow, but was faster previously, and you are debugging, that might be because you have a breakpoint set on a method entry. This can make things extremely slow, even if the breakpoint is not hit. Try clearing your breakpoints.

If you're using smartgwt make sure firebug or similar is disabled. That will really slow down your browser in dev mode.
And as far as NetBeans is concerned there really is a plugin for GWT called GWT4NB. But the IDE is not your problem :)

First time you load the page, it loads all the necessary javacode (and the JVM). Later, each refresh of the page will only loads the changed javacode then execute the whole (I might be wrong though). So if you're closing the browser then reopening your page each time you want to see the changes you made, yes it's going to be slow. If you refresh the page each time, it SHOULD be fast (if the changes you made weren't huge).
Eclipse + GWT 2.0 is not the reason why it's slow... (by the way Shubhkarman, if I'm correct there is no GWT plugin for netbeans...)

Delete gwt cache from temporary folders like images. rpc files..etc. than see the performance. it is one of the cause to slow in hosted mode.

I've found that the performance difference between running the GWT hosted mode in debug vs. non-debug to be large. If you're running with debug, try running without to see if that helps.
The initial page load can be slow, but once you get going just clicking refresh on my browser reloads the updated project in just a few seconds.

I had similar kind of issue and I found that it was happening because of number of break points. After reducing number of break points performance got improved.

Even I had the same issue with GWT. I've started testing with firefox now. first time when I ran the debug on firefox, it was slow.
I set the log level to 'info' in the runconfig > gwt tab
So, I restrated my workspace and the firefox. Then 'debug >myGWTapplication '
When you open your application on debug mode, wait for the browser plugin to connect now.
This time it does not write all the log lines in the development mode, and it is faster.
I think the firefox and the logging has made the differance. Now I do not see much lag.
Also as mentioned in the above comments, remove the debug points, i've removed all, and use then when necessary.
Edit: tried it on the IE8 - it is fast event there.

Related

Website running slow in IE with no specific reason why

We have a website that a few people are complaining about it running extremely slow. We're struggling to figure out why and to even recreate it. Most are mentioning that it's running slow in IE.
It's not limited to any specific section of the site, just the whole thing in general.
There's been several developers creating/adjusting the code so it's overly bloated but we can't see any specific reason why this should happen.
Can anyone see why?
We've also run a speed test:
I was running a profiling test with IE on your website and there is a call to:
http://www.playforce.co.uk/-ms-transform.htc
Which is giving error 404 not found and taking 1 second to complete (0.91 sec).
If is found all around your css under this line:
behavior:url(-ms-transform.htc);
Am no expert !! Am welcome to better suggestion and corrections of what i am about to say
You can try using a trial version of Borland Silk meter ..
They tend to measure the speed with which each element loads using various browsers and various geographical locations which are configurable by you.
Also , since only some of the user's are complaining about the speed being an issue you should also check the speed of their internet and their browser version and other addon etc of those users. Because sometimes the problem is not only with the server .
Try the above tool to confirm nothing is wrong in your server and then proceed to checking the client's browser and network.

Strange memory leak on Mac (Chrome, Firefox and Safari) with our GWT based web UI

We are experiencing a serious memory problem in our GWT based web application when running in Mac, for Chrome, Firefox and Safari.
For example, with Firefox, when looking at the Activity Monitor on Mac, the memory consumption is quickly increasing across time, even through frequent refreshes, and can reach 1 GB after a significant session. Similar phenomena happens for Chrome and Safari.
But, we cannot see a real reason using various profiling tools, including Java JProfiler (for GWT) and Chrome profiler and timeline looking at native JS, listeners and DOM elements.
Actually there are 2 related problems here:
The memory is increasing while using the UI for along time without refresh. In this case, we can see some uncollected garbage SVG elements (we are using SVG based canvas) that are unreachable, but the memory increase in the Activity Monitor is much higher than what we would expect with this garbage.
The memory remains high even after multiple refreshes, and even though the profiler shows that all the above garbage is completely gone.
We are chasing this leak for a while, with no results, so I would appreciate any help.
Thanks,
Yaron.
The problem occurs only on Mac?
What GWT version are you using? 2.5?
Did you saw this issue https://code.google.com/p/google-web-toolkit/issues/detail?id=6938?
I faced several issues with leaks using GWT before, but in 2.5 version it works fine, even in IE!
I've tracked down some leaks in my GWT application before, and it's certainly not easy to determine where they're coming from thanks to Java's garbage collector hiding what's going on. The most common reason for a leak would be cyclical references, so multiple objects can't be garbage collected because they reference each other. They're tough to spot on your own so I use a library called FindBugs - it also comes with a very convenient Eclipse plugin. FindBugs literally finds anything you could possibly consider and has worked wonders for me. BUT make sure to play with the settings first; cyclical reference checking is not enabled by default.
Bruno_Ferreira makes a good point, too - make sure you're up to date with your GWT version as they're always improving memory leaks.

Monitoring Hosting Performance

I've been building a site, running Wordpress 3.2.1 and noticed
the performance is sluggish in the front and back end.
I believe the problem is hosting specific.
The problem seems to be the connection loading the actual HTML
which is taking about 5.5 seconds. It appears to finish after
about 500ms, but does not stop loading for 3-4 more seconds.
Here is the development URL:
http://d1001488.u57.ukisp.com/dev/
Hosting:
Windows NT
PHP Version 5.2.10
There are a couple of jQuery select boxes that get
replaced and styled onload (in the footer), these take a
long time to get replaced after the page fully loads.
The hosts are claiming all is running properly. Is there
any thing I can try and tweak or monitor to see what
is going on? Or any suggestions?
Thanks.
For largely extrinsic causes, try YSlow. This will identify a number of things you can work on. It won't tell you anything about the internal behavior of your server, but it may help you narrow down what's going on.
The problem may be a specific plugin. Here's what I would recommend:
Try going through each plugin, deactivating it, and see if that makes your site load faster. Do this for each plugin, and if a deactivated plugin doesn't improve performance then just reactivate it and move to the next one.
Try temporarily activating the default Twenty Eleven theme. See if the default theme loads faster. If it does, then we can look at your custom theme.
These two things may help narrow down at least where the problem is coming from. Let me know how it goes!
Do you have CPanel access with your hosting account? If you do, look in the left side toolbar at the bottom you should see where it says server status (click to view) you will see various details about your server performance.

Drupal development: performance

as the single user / developer on a drupal website im experience serious performance problems. several issues occur:
usually i develop drupal on our company dev server but now im at a client's office. the IT guys installed a VM with WAMP on the server they usually use for .net development. on the first day of dev (installing drupal, required modules and configuring them) httpd.exe would max out the cpu and loading any page would take minutes. IT guys just scratch their heads.
i then just installed WAMP on the local machine they gave me: some 299,99 Win XP Dell piece of sh*t, nevertheless a P4 2.8Ghz 2GB Ram. the fan blows so loud the entire office is giving me dirty looks. Again httpd.exe maxes out. again, any page (esp admin ones) takes minutes to load
in firefox, the views UI is completely unworkable. alot of stuff is loaded with ajax and it again takes minutes to see the various html elements dynamically inserted in the UI to appear - try to imagine this.
Chrome seems to handle the JS a bit better but it still takes way too long to complete any kind of action.
the devel_themer module ads tons of markup to the page which leads to "Allowed memory size of X exhausted" errors (memory_limit = 128MB ).
now im at the themeing stage where i need to do a LOT of page refreshes. I NEED firebug which requires firefox which in its turn eats up CPU and RAM. What usually takes seconds now takes minutes and by the time whatever action is completed, i forgot what i was doing. im basically reading news stories in between every page reload.
now, i know drupal is resource intensive but that its impossible to develop on a typical Dell / Win XP machine is a bit much, no? at home i work on an iMac and everything runs silky smooth.
i cant imagine im the only guy with this problem since what im doing is basically drupal 101 (no custom modules so far ...). unless someone can offer a solution, im concluding that you basically can not develop a typical drupal site on a normal home desktop computer.
what gives?
So you have abandoned the VM,check you php.ini file for the memory limit, increase it and see if there is a performance boost. its usually set to a default of 16M.
HTH
I'd suggest you either make sure to spend some time actually tuning your XP system, because the default WAMP config is definitely suboptimal, or consider an alternative, like Zend Server community edition (ZCE). Although not completely free as in speech, it is free as in beer, and simply builds up on top of a better default config for Apache and MySQL.
Although less convenient than WAMP or ZCE since not bundled, a manual install of Apache 2.2 is also usually a good choice.
Also note that, that the way devel_themer works, it is constantly building files in your temp directory, meaning that unless that directory is cleaned regularly, files will accumulate and directory browses will become exceedingly slow. Only a cron.php run will cause drupal to clean those files, for an up-to-date version of devel. See my patch adding this cleanup at http://drupal.org/node/303443
Finally, you mention Firebug, and you might be using the Drupal for Firebug module, which has known performance issues, apparently related to infinite recursion in some cases; although recent versions are supposed to fix this problem. See for instance http://drupal.org/node/303443
A couple things I've run into that could potentially help.
Unless you actually need it, turn off Locale. It causes a ton of extra queries (at least the last time I looked into it, this may have changed) so if you're not using it then don't put the unnecessary load on your DB.
Just like on a regular development machine, make sure MySQL is properly tuned and configured. This goes for any setup; local, development or production. 3/4 of the time the database is the bottleneck so start there.
If you've got the devel module installed and enabled it should have a query log you can tell it to output at the bottom of the page, this should help you with number 2.

IIS5, 6, and 7 Speed Issues After Upgrade

I will apologize in advance as this post is born out of severe frustration.
I have a classic asp website that has been running on Windows 2000/IIS5 for years, and another ASP.NET 2.0 site that we've recently started running on the same servers. So far, everything is running well.
Last year, I tried upgrading (fresh install) to Windows 2003/IIS6. The classic ASP site was much slower, about 50% slower based on logs/stats averaged over weeks of use. I tried everything to find out what was slow. Network tweaks. Integrated. Classic iis5 mode. In process. Out of process. Nothing ever made things better and I soon rolled back to IIS5/2000. The very day rolled back, performance went right back to where it was. This happened on more than one server. Eventually, I gave up and chalked it up to 2003 TCP issues of some sort.
I recently installed a Windows 2008/IIS server on a similar, but more powerful machine in hopes that things were better. Much to my happiness, my ASP classic app is faster under Windows 2008. Unfortunately, my ASP.NET app is 50-75% slower for now apparent reason. All of it's content loads. It's on the same network as the 2000 machine. The site was copied directly from the other machine, and it's a precompile web app from studio 2005.
While the page does hit the database and another server for initial data, it caches it from there for quite a while, it also uses the same db servers as the classic site, which is fast, so I know it's not necessarily a connection issue.
I've tried the default app pool and the classic .NET pool Made no difference. Upped./check the max threads, max per cpu in all the usual locations, web garen or no nothing seems to matter. I've double checked that the compilation debug=false is still set in the web.config.
For a quick benchmark, I used ab.exe (Apache Bench) to send 10 request, 1 at a time. Even if I use IE or Firefox to hit the site, it's clearly slower than under 2000, even according to firebug.
At this point, I'm frustrated and at a complete loss as to where to start. Has anyone been through this sort of mess before?
Speed depends on many factors. You do need to measure performance just on the server to understand if this is server issue. Enable tracing for your web site in web config and see which part/function is slowing it down. You can add you own tracing after each operation to see which block of code is slowest. I'm sure you will find things that you can improve/optimize once you which part of the page is the slowest.
In my case, the answer turned out to be simple one I fired up WireShark. There was 1 external resource request that could not be resolved since the test machine had no direct access to the internet like the live machine did.
It's always the little things.

Resources