WebSync - Upcoming Features

by anton.venema 28. February 2012 01:01

WebSync 4 has been actively in development in parallel with WebSync 3 for a few months now. We receive questions regularly asking, "What features are going to be included in WebSync 4?" To answer this, we've put together a list of the most significant changes. This is by no means a complete or final list - just what we think you'll find interesting at the moment. Please contact us if you have any questions or suggestions - we love to hear from you.

  • WebSocket protocol support
  • Guaranteed message ordering
  • Multiple callbacks per subscription
  • New client-side libraries built specifically for Windows Phone 7.0 and 7.1
  • New client-side libraries built specifically for .NET 2.0, .NET 3.5, and .NET 4.0 Client Profiles
  • New client-side library for Mac OS
  • New client-side library for WinRT/Metro
  • New Client.Service method for sending data to the server without broadcast
  • New Client.Notify method for sending data to a specific client without subscribing
  • New Chat extension to abstract away clientId-userId mappings in applications that implement chat features
  • New Filter attribute for server-side events so they only fire for specific channel/key patterns
  • New methods on WebSyncEventArgs for automatic parameter extraction from channels
  • New logging provider to support non-log4net logging frameworks
  • Many tweaks to the API to improve consistency and ease learning curve
  • Many updates to online documentation
  • Enhanced security features

As always, we will maintain:

  • Bayeux protocol compliance
  • Support for web browsers back to IE 5.5 and .NET back to 2.0
  • Simple aspect-oriented server-side programming
  • Awesome support/performance you've come to expect

There are a couple other cool features we have planned, but we don't want to ruin the surprise :) We're currently projecting an April release - stay tuned!

Tags:

Analyzing Long-Running SQL Queries without Profiler

by jerod.venema 17. February 2012 22:48

Recently, I had an issue where a server I maintain was randomly "freezing" momentarily. Not for long, but for 20-30 seconds, I would get no response. This was highly noticeable, because the application is a real-time communications application, and the users would momentarily be unable to communicate.

A quick review of the log files showed occasional SQL timeouts. I immediately figured we had some sort of blocking issue, so I decided to fire up SQL Profiler to find the culprit...only to find out that this installation didn't have profiler.

No problem, I figured; I'll just grab that nice standalone profiler from AnjLab. Download, install, run...System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.SqlClrProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified. Ouch. Probably not AnjLab's fault - the installation on this server obviouisly has issues.

So, back to the basics. Pure SQL. A few looks on Google and a couple minor adjustments, and I came up with this:

-- get the longest running sql statement
declare @sqltext varbinary(128)
select @sqltext = sql_handle
from sys.sysprocesses
where spid in (
	select
    top 5 p.spid
	from master.dbo.sysprocesses P
	where P.spid > 50
	and P.status not in ('background', 'sleeping')
	and P.cmd not in ('AWAITING COMMAND',
                          'MIRROR HANDLER',
                          'LAZY WRITER',
                          'CHECKPOINT SLEEP',
                          'RA MANAGER')
order by 
	-- this ridiculous statement orders by the 
        -- length of processing time, so we get the 
        -- longest running query first
	right(convert(varchar, 
                  dateadd(ms, datediff(ms, P.last_batch, 
                  getdate()), 
                  '1900-01-01'), 121), 12) desc)

select [text] from ::fn_get_sql(@sqltext)

This is a very handy, raw SQL statement that'll get you the top 5 queries currently running, ordered by the length of time they've been running. Pretty basic, but it'll get the job done!

Tags:

sql

WebSync Review by RobinHQ

by jerod.venema 14. February 2012 18:11

The folks over at RobinHQ in the Netherlands have put together a quick summary of the various comet solutions they tried, before finally settling on WebSync. Feel free to read about their process on their blog post.

Tags:

WebSync On-Demand Intermittent Connectivity

by anton.venema 14. February 2012 03:31

We are aware that some customers are experiencing intermittent connectivity to the WebSync On-Demand cloud. We have technicians investigating the problem and will report any progress as it is made.

Update 3:45pm: The WebSync On-Demand cloud should be back online as of a few minutes ago. Please contact us if you are still experiencing any issues. We are currently investigating the cause of the error and will be taking steps to ensure it does not repeat itself.

Update 4:05pm: Our investigation has uncovered an issue with our usage statistics compilation routines. Temporarily, we have taken new usage reporting offline to prevent any further service outages. You will still be able to access historical usage data, but new data will be unavailable until we can improve the routines.

Update 6:05pm: New usage data is being tracked again. Please let us know if you are experiencing any issues with cloud availability or usage reporting in the portal.

Tags: