John's little part of the web

John's home page

123Last ›

2015-02-26 09:16:00

 

Recently the company I work for decided to update one of our websites from Flash to HTML5 with MVC backend.  Since there was going to be a lot of AJAX request with the server do some heavy processing we needed a good implantation of a AJAX handler for passing data from the server to the browser.  We could also see a use for having constant connections to the server in the future to add technical support and communication between users, basically a hodgepodge of features that may or may not be added someday.

 

Obviously the easiest thing to do was add something like JQuery and use their AJAX calls, there were other choices too including to build our own.  After some research I decided on SignalR for a variety of reasons but partly for it robustness, large community, and its ability to handle different browsers.

 

So after building the site we published a test version using our Rackspace account.  So far so good, there was a slight uptick in CC but nothing unexpected.  The only slight problem was the system kept losing connections which was easily solved by adding a reconnection function to the original connect.  Obviously poor internet connections and intermitting connection would cause this, mostly expected.  Things were going well so we launched the full site.

 

After a couple weeks we received the first bill which was about double our normal, ok time to start investigating.  Looking at the CC it was obvious that the CC started to ramp up from the day we first launched the site.  Now we was expecting a jump but not like this, we were looking at sub one thousand CC a day to better than five thousand per day and it was still climbing, it seems to have peaked at eighteen thousand a day.  Note this was aggregated by the fact that we could not see the CC usage until about three days after it occurred.

 

After spending some time with the helpful people at Rackspace it was determined the problem was the re-connection time in SignalR.  The connection time was sometime slow but the reconnection time was running for up to seven minutes.  This was just from a sampling of log records, it is possible that in some cases it could be longer. We were unable to reproduce this on test systems where connection and re-connection times were normally less than a second but something had to be done.

 

So we yanked SignalR and replaced all the calls with standard JQuery AJAX calls and uploaded the new site.  Mind you it would still be days before we could see a difference and the log files where still showing SignalR request but at least they were 404 now, we assume as the browsers refreshed their caches that would end.

 

So after a week our CC rate is down to the six hundred range and the site is still working well.  We will obviously have to either remove some of our future dream feature or find another way of implementing them.

 

In conclusion I don’t know if the problem was SignalR, Rackspace hosting, or something we did.  I don’t think it was something per say done on our part because of the few changes made to fix it, basically the removal of SignalR.  But it our humble opinion SignalR and Rackspace hosing are not compatible but I do think there is a deeper problem with SignalR connection/re-connection function.  I would love to dig into this deeper but we can’t simulate a large load and the Rackspace environment here so it would just have to stand as it is.

 

2014-08-15 05:09:27

Interesting article: link

2014-04-11 08:26:27

I am always trying find, remember, or use these commands so here is a list for refrence.

source

ApplicationCommands
ApplicationCommands.CancelPrint
ApplicationCommands.Close
ApplicationCommands.ContextMenu
ApplicationCommands.Copy
ApplicationCommands.CorrectionList
ApplicationCommands.Cut
ApplicationCommands.Delete
ApplicationCommands.Find
ApplicationCommands.Help
ApplicationCommands.New
ApplicationCommands.NotACommand
ApplicationCommands.Open
ApplicationCommands.Paste
ApplicationCommands.Print
ApplicationCommands.PrintPreview
ApplicationCommands.Properties
ApplicationCommands.Redo
ApplicationCommands.Replace
ApplicationCommands.Save
ApplicationCommands.SaveAs
ApplicationCommands.SelectAll
ApplicationCommands.Stop
ApplicationCommands.Undo

NavigationCommands
NavigationCommands.BrowseBack
NavigationCommands.BrowseForward
NavigationCommands.BrowseHome
NavigationCommands.BrowseStop
NavigationCommands.DecreaseZoom
NavigationCommands.Favorites
NavigationCommands.FirstPage
NavigationCommands.GoToPage
NavigationCommands.IncreaseZoom
NavigationCommands.LastPage
NavigationCommands.NavigateJournal
NavigationCommands.NextPage
NavigationCommands.PreviousPage
NavigationCommands.Refresh
NavigationCommands.Search
NavigationCommands.Zoom

ComponentCommands
ComponentCommands.ExtendSelectionDown
ComponentCommands.ExtendSelectionLeft
ComponentCommands.ExtendSelectionRight
ComponentCommands.ExtendSelectionUp
ComponentCommands.MoveDown
ComponentCommands.MoveFocusBack
ComponentCommands.MoveFocusDown
ComponentCommands.MoveFocusForward
ComponentCommands.MoveFocusPageDown
ComponentCommands.MoveFocusPageUp
ComponentCommands.MoveFocusUp
ComponentCommands.MoveLeft
ComponentCommands.MoveRight
ComponentCommands.MoveToEnd
ComponentCommands.MoveToHome
ComponentCommands.MoveToPageDown
ComponentCommands.MoveToPageUp
ComponentCommands.MoveUp
ComponentCommands.ScrollByLine
ComponentCommands.ScrollPageDown
ComponentCommands.ScrollPageLeft
ComponentCommands.ScrollPageRight
ComponentCommands.ScrollPageUp
ComponentCommands.SelectToEnd
ComponentCommands.SelectToHome
ComponentCommands.SelectToPageDown
ComponentCommands.SelectToPageUp

MediaCommands
MediaCommands.BoostBass
MediaCommands.ChannelDown
MediaCommands.ChannelUp
MediaCommands.DecreaseBass
MediaCommands.DecreaseMicrophoneVolume
MediaCommands.DecreaseTreble
MediaCommands.DecreaseVolume
MediaCommands.FastForward
MediaCommands.IncreaseBass
MediaCommands.IncreaseMicrophoneVolume
MediaCommands.IncreaseTreble
MediaCommands.IncreaseVolume
MediaCommands.MuteMicrophoneVolume
MediaCommands.MuteVolume
MediaCommands.NextTrack
MediaCommands.Pause
MediaCommands.Play
MediaCommands.PreviousTrack
MediaCommands.Record
MediaCommands.Rewind
MediaCommands.Select
MediaCommands.Stop
MediaCommands.ToggleMicrophoneOnOff
MediaCommands.TogglePlayPause

2013-07-04 05:56:48

http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2013/07/03/await-task-task-wait-and-friends.aspx

2013-03-10 06:42:33

Interesting video on aging.  Since I take Isagenix and it is suppose to slow the aging process I always look for things that might educate me on it.

http://www.youtube.com/watch?v=BkcXbx5rSzw&feature=em-subs_digest

2013-02-04 06:57:41

I guess if you have to use a langage it helps if you know the problems you may run up against.  Since I have had nothing but problems I am using this list as a way of at least giving me some warning of why.  http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

2013-01-11 01:53:28

Since I have been in the position where installing unsigned drivers was needed and now I find that Windows 8 makes this even harder :( the below link is to remember me how.

http://10rem.net/blog/2013/01/07/installing-unsigned-drivers-on-windows-8-64-bit-or-how-to-get-stm-st-link-working

2012-12-20 03:49:42

Ok I upgraded my wife's laptop with Windows 8, mostly the upgrade was uneventful.

I personally found the lack of a start menu on the desktop to be annoying, my wife hated it with a passion and made several comment about how bad it was (won’t go into details).

Ignoring the start menu item things were ok, took a bit to find some of the items I needed.  I tried it on a table before the laptop and swiping in from the side was ok but on the laptop moving mouse from edge to edge was very slow.  Example was the PC setting, you have to go to the top right corner and then to the bottom right corning.  On a touchpad this is a major pain.

So we moved past those issues and started doing the zillion updates.  Does not matter how old Windows is there is always a zillion updates.  The first few batches went ok but that last too got stuck.  So first choice after the normal repair was to try MS Fix It, which failed.  Then I move to the install as stand alone, again it failed.  The problem is now when it rebooted the system when into “Automatically repairing” which failed.  Then it when to “Diagnosing PC” which went on for 2 hours so I killed it and started it again.  I tried shift-F8 but no luck.  The second time it rebooted the system managed to get though repairing and diagnosing but then went back to repairing so after 40 minutes I gave up.

So then the 4 hour MS chat which basically boiled down to making a CD (made a flash drive first but laptop would not boot).  The system is now refreshing...

Please oh please MS tell me why you hate feedback so much.  The biggest annoyance so far about this is there is NO feedback at all. I mean come on I don’t know if the computer is dead, stuck, or just really slow.  I for one do not consider a spiny thing to be feedback.  The “Refresh your PC <spiny thing> please wait” for hours is beyond annoying, really who in their right mind would thing this was useful.

Oh well at this point I won’t be upgrading any more computer so Windows 8, I may purchase one someday but it will be a while until they have worked out all the bugs and I will buy a start menu.

So far very unhappy camper...

2012-11-26 05:04:45

This is a well written link on RAID types for SQL.

http://www.sqlservercentral.com/articles/RAID/88945/

2012-10-30 06:35:47

Things I can never remember that come in handy ;)

http://windows.microsoft.com/is-IS/windows7/Keyboard-shortcuts

123>Last ›

Search using bing

this is a test