HitTail Website Goes For Tailspin - Solutions

By Angsuman Chakraborty, Gaea News Network
Saturday, June 24, 2006

HitTail is a nifty utility to get suggestions for writing your blog entries following the long tail model. All throughout the day I couldn’t login to their site, proving once again - If it sounds too good to be true…

I kept getting the following error:
Microsoft OLE DB Provider for SQL Server error ‘80040e31′

Timeout expired

/chart.asp, line 33

I am not surprised at all as HitTail is an ASP application based on Microsoft SQL Server which IMHO is not good enough for serious enterprise class applications. This problem is obviously caused by high server load (the price of popularity).

Few quick suggestions for HitTail to fix this problem now:

  • Try forcing TCP/IP lookup in your connection string
  • Refer to the SQL Server by IP address
  • Increase timeout values - set Server.ScriptTimeout = 0
  • Restart the server

Long term solutions:
Consider moving to MySQL or better yet Oracle.

Update: The problem appears to have been resolved by HitTail.

Discussion

luis hernandez
November 18, 2007: 12:56 pm

HOLA NECESITO AYUDA PARA RESOLVER UN PROGRAMA DE COLAS EN JAVA,SE LOS AGRADECERIA MUCHO.

EL PROBLEMA DICE LO SIGUIENTE:
ESCRIBE EL AGORITMO DE INSCOLA,DEBIENDO VALIDAR EL ESTADO(LLENA) DE LA COLA.


Mike Levin
November 14, 2006: 3:33 pm

Actually, it is more a comment on the perils of an open beta program, and the people you run into who are “looking for something to write about”, exactly the way HitTail provides. It is ironic in its own way.

September 13, 2006: 9:43 am

This is one thread I was happy to see end. It shows the perils honest criticism of any product or service.

Unfortunately I cannot go rah rah in TechCrunch style. I will continue to report as I see it.

July 6, 2006: 6:10 am

Mike,

Please note my comments tagged with [Angsuman] within your comment to make it more context senstive.

– Angsuman

July 2, 2006: 9:38 am

Maybe I’ll try appealing to you on a different level. I feel that your jumping on an error that appeared for a few hours in a beta site and blogging a sensational headline was an over-reaction and done in a spirit inconsistent with what you seem to otherwise be about. Could you please reconsider the decision?

[Angsuman] The issue has been long resolved and anyone reading the post and comments will understand it. I will still update the posts to mention that the mentioned problems have been fixed.

While I understand that have had bad experience with Microsoft technology, it is not sufficient evidence to universally condemn all those who use it. It is not that your advice wasn’t good, it is that you made incorrect assumptions, which I will explain further.

[Angsuman] You misunderstand me. I don’t condemn (not even in dreams) Microsoft technology or its users. I use Microsoft Windows and Microsoft Office suite of applications. I point out errors where I see it - Microsoft or not.

We are already supporting thousands of simultaneous users per second, and have tweaked out our system in all ways possible, including the sophomoric points of using IP-based communication rather than named pipes. The error that you encountered specifically was in a program called chart.asp, that a developer had mistakenly written using a stored procedure that generated temporary tables. With our level of usage, creating temporary tables for every user would have starved the resources on almost any underlying system–SQL Server, MySQL or otherwise. This is the only part of the system that made use of temporary tables, and I have subsequently educated the developer on the ramifications of doing anything that creates server-side state or session on either webservers or databases in massively scalable applications. Perhaps if our subsystems were on IBM iSeries hardware like the i5, it would have sustained the resource hit adequately.

[Angsuman] I am happy it worked out nicely for you.

To further appeal to your tech side, all our subsystem communication is occurring through Web Services, and we can recouple any system to any other system we like. We are not married to Microsoft technology the way others are married to particular programming languages like Java. Rather, we have a completely technology agnostic approach, where our static HTML can be served by content delivery partners, while our tracking systems can be moved to Linux Apache farms, our report processing to Solaris and our databases to Oracle or DB2 on i5’s.

It was a disappointment to have such a forward-thinking system negatively blogged about in its earliest stages by a developer who did not have the whole story. I was overly harsh in my response to this negative blogger, but am using this post to clarify the story. I have dealt with the original issue, that had nothing to do with technology choice, but rather one incident of an “old school” programming technique where state and session is allowed to live on the server. It was caught and solved in the same day, over a weekend, which is better service than most non-beta services.

[Angsuman] I want my users to get the full story which I am sure they will get from our comments. I think you are overreacting to a simple blog entry. This is a criticism in timeline, nothing more nothing less. I am very happy that it has propelled you to quickly rectify the situation and further analyse the problem.

I would appreciate you reevaluating the use of what can be interpreted as the mean-spirited and inaccurate headlines, because what promotes appears to be inconsistent with the fine philosophies and image that you otherwise project.

Thank you for your consideration.

Regards,

Mike Levin

July 2, 2006: 9:06 am

So, for you to make a suggestion by creating a headline like “HitTail Goes For Tailspin” and blogging it to the world instead of discreet email is not self promotional? And indeed, not mean spirited?

[Angsuman] A blog is a timed entry. At that time the entry was relevant. The title was intended to be funny, not mean spirited. I am positive my users are intelligent enough to understand that.

You know exactly the effect this sort of action has in Google and the blogosphere these days. That sort of thing can kill an endeavor in its birth. The behavior is totally inconsistent with the image of yourself you appear to project in your biographical material.

[Angsuman] I believe a good product stands on its own right. A simple blog entry is not going to wipe it out. Don’t expect everyone to sing your tune.

Further, when I posted the error that occurred on your site, you edited it out here. I was kind enough to bring it up directly with you on a site that you control. Would you prefer that I blog it to the world stating “Taragana full of bugs?” then selectively edit your responses? This is exactly what you are doing?

[Angsuman] As far as I remember you have never pointed to any errors on my site. All you did was some self-promotion, which I edited. Feel free to blog about my errors publicly. In fact I will welcome it as it will help me improve :)

July 1, 2006: 10:45 pm

@Mike
There isn’t any promotion on my part here and there are no benefits for me. If you do not like my suggestions that is your call. However I do not allow blatant self-promotion in comments. Your url is already hyperlinked to your name.

The comment form isn’t your free advertising billborad, sorry. Try it elsewhere.

July 1, 2006: 9:17 pm

Oh, and please direct me to some MySQL vs. SQL Server TPS benchmarks. I’m talking real apples-to-apples bencmarks with numbers–not TechReplublic opinion pieces with no substantiation. Thanks.

July 1, 2006: 9:14 pm

Taking pot shots at a rapidly rising beta on your blog with completely off-base “suggestions” was blatant self promotion on your part. You’re editing of my posts that I make in direct response is hypocritical. You appear to be inviting me here to respond, and so I am!
[Edited for blatant self-promotion]

June 30, 2006: 11:14 pm

> Boy, you really feel quite passionate about this.

I headed two enterprise products which is supported on three databases - Oracle, SQL Server & Sybase. SQL Server gave us lots of problems way more than tolerable. I attribute my passion to that experience.

I use MySQL for low-end and Oracle for high end.

June 30, 2006: 4:04 pm

Aside from this techie dogma being rather pointless, I figured I’d use this thread to continue promoting a service that continues to grow.

[Edited for blatant self promotion]

June 27, 2006: 12:58 pm

Of course, that should read “When the time comes for cheap clustering, I’ll switch over to MySQL.”

June 27, 2006: 12:57 pm

Boy, you really feel quite passionate about this. I use both SQL Server and MySQL, each where appropriate. When the time comes for cheap clustering, I’ll switch over to SQL Server. But when you have beefy hardware to start with, advantage: SQL Server–especially with multi-processor PCs and 64bit OSes. The numbers do in fact back it up. Many more high profiles sites use SQL Server, which is why you notice it more. SQL Server doesn’t have any monopoloy on sloppy developers…
https://www.google.com/search?q=Warning%3a+Can%27t+connect+to+local+MySQL

June 27, 2006: 5:48 am

> The numbers are still valid.
They don’t include MySQL. Try this bachmark for apples-to-apples comparison.

> Don’t use their search tool,
How else can I find what I want from their site?

> or mistake developer errors for inherent platform flaws.

This is a trivial example to demonstrate a trend I have observed. Most of the time I have found failed web applications, the underlying engine was asp-sql server.

> While MySQL is free for non-commercial use, I would have to put a lot more hardware behind supporting the same thousands of simultaneous users per second.

Do you have any hard numbers to support that?

My experience does not support that. In independent tests MySQL comes way ahead of SQL Server. Check this article for a fair comparison.

As far as replication and scalability is concerned:

MySQL keeps a binary log of all SQL statements that change data. Because it’s binary, this log can be used to replicate data from the master to the storage on one or more slaves very quickly. Even if the server goes down, the binary record is still intact, and replication can take place. For query-heavy databases systems, MySQL scales easily into large data farms.

In SQL Server, you can also record every SQL statement, but doing so can be costly. I know of one development shop that had to do this because of other architectural issues, and the sheer volume of data that they were storing on tape was quite remarkable. Instead, SQL Server relies on elaborate mechanisms of record and transaction locking, cursor manipulation, and dynamic replication of data to keep database servers synchronized. If you’re skilled at juggling these mechanisms, replication is pretty easy.

June 26, 2006: 4:30 pm

The results on this page only include hardware (and database size) in order to have an apples-to-apples comparison https://www.tpc.org/tpch/results/tpch_price_perf_results.asp The numbers are still valid. Don’t use their search tool, or mistake developer errors for inherent platform flaws. SQL Server delivers excellent price/performance. While MySQL is free for non-commercial use, I would have to put a lot more hardware behind supporting the same thousands of simultaneous users per second. Same goes for IIS as a Webserver. Microsoft has just tweaked out certain apps to have amazing performance statistics.

June 26, 2006: 1:00 pm

> What would you suggest for enterprise class applications?

There are several valid mix of software stack which fits the bill. My personal favorites are Java (JSP, Servlets)-Oracle (best) or Java-MySQL. In my book ASP-SQL Server combination is begging for trouble.

Which benchmark in TPC are you referring to? The link you pointed to displays hardware performances. I tried to search for SQL server, only to be greeted by:

Search Results

Error Code: [1]
Error Message: [$E 0001 Unable to access index in directory C:\TPC\dtSearch\TPC Main Site. ]
Error Argument 1: [C:\TPC\dtSearch\TPC Main Site]
Error Argument 2: [ ]

Error Code: [1]
Error Message: [$E 0001 Unable to access index in directory C:\TPC\dtSearch\TPC Main Site Results. ]
Error Argument 1: [C:\TPC\dtSearch\TPC Main Site Results]
Error Argument 2: [ ]

And then I realized it too uses asp.

As I said before MySQL is a faster (and free) alternative to SQL Server. I used both extensively and I prefer MySQL.

As for HitTail itself, it appears to be a nifty application. I am looking forward to see how its suggestions translate to real value.

June 26, 2006: 11:25 am

So, the problem was in chart.asp, a file that used temporary tables in a stored procedure. It was in its early beta, and we fixed and optimized it. It had nothing to do with the capabilities of SQL Server.

Sometimes too good to be true… is true! HitTail is one of those cases.

I’m also a little curious about where you get your bencmarks concerning its appropriateness for enterprise use. I get mine from the TPC Council. Of all Microsoft’s good & bad, tweaking out SQL Server to be a serious rival to the 800-lb. gorillas at a fraction of the cost is one of the best–much to the chagrin of the rest of the database vendors who have to begrudgingly admit it.

June 26, 2006: 10:30 am

Thanks for the feedback. What would you suggest for enterprise class applications? The TPS benchmarks for SQL Server rival the best of them. And I could always throw in a few servers for clustering. Anyway, all I had to do was fine tune a few indexes to solve the problem. But thanks for the publicity. You’re right. We’ve become massively popular in very short period of time. Anyone looking for a practical alternative to paying for search hits at HitTail.

YOUR VIEW POINT
NAME : (REQUIRED)
MAIL : (REQUIRED)
will not be displayed
WEBSITE : (OPTIONAL)
YOUR
COMMENT :