Monday, October 19, 2009

Performance Comparison of Major Web Browsers

I just finished reading this article about performance comparison of major web browser by Jacob Gube and wondered if everything was said. Unsurprisingly, Internet Explorer is presented as the worst and slowest browser. By the way, I often consider that people tend to appreciate criticizing when talking about Microsoft products in general.

But in the case were the tests complete ? It talked about speed, CPU, and read access time. But nothing about memory consumption. I jumped on the gun, took a look at my dozen tabs opened on Firefox and opened them as well under Internet Explorer 8 (IE8) and Chrome.

As you can see, Firefox momory consumption is bundled inside a single process while IE8 and Chrome creates several processes with different memory consumption.














But after summing all results, I was astonished to see that Internet Explorer 8 is the best browser concerning memory consumption. The fancy Excel graphic below perfectly illustrate that fact.

There is no doubt that IE 8 requires less memory than Chrome or Firefox.

For the sake of fairness, here are the types of websites I used for the test. All of them are common sites I use on a day-to-day basis:
  • iGoogle
  • Two bugtrackers: Mantis and Jira
  • Two tabs concerned games on Kongregate.com
  • A PHPMyAdmin and a MediaWiki pages
  • A page on my online game (MMOG): Star Wars Combine
  • A web page from the MySQL site, one from an online banking, one from a newspaper with forums, and that blog on sixrevisions.com
In my next post, I will maybe make performance and statistics reports about the number of crashes of each browser. ;)

Monday, August 31, 2009

Upgrading MS BI to SQL 2008: Do not underestimate the Power of the Dark Side

For our BI setup running under Microsoft BI 2005, we have an environment that comes straights from scholar manual. We have a development environment (DEV), composed of 4 servers: two are SQL 2005 database servers (staging database and a data warehouse ), one server is a SharePoint 2007 server hosting also the SharePoint database (SQL 2005) and a Visual Studio server. Similarly, we have a testing environment (TEST) composed of 3 servers: a staging database, a data warehouse, and a SharePoint server hosting the SharePoint database as well. Both the DEV and the TEST environments are virtualized. Then we have our production environment (PROD) composed of 4 physical servers: a staging server, a data warehouse, a SharePoint server, and a SharePoint database server. The only difference being that in production, we have separated the SharePoint front layer from the database layer for performance reasons.

Developers develop in the DEV environment and technical approvals are done there. Testers test in the TEST environment, which is also used for the functional approvals. Production data run in the production environment. So far so good and nothing new. I just described an out-of-the-manual architectural setup. All databases are up-to-date SQL 2005 and the SharePoint version is 2007.

We had planned to upgrade this environment to Microsoft SQL 2008 and thought it was quite well planned. We had waited for SQL 2008 SP1 to be released. We had waited for our sub-contractor to accumulate some upgrade experience and finally decided to migrate progressively. During last July, we migrated our DEV environment. Everything went smoothly. Some of us then went on vacations. The migration of our TEST environment was planned for mid-August and took place as expected. All functional tests we had prepared were passed without any problem. As this point, and as all lights were green, I decided to authorize the migration of the PROD environment.

And guess what ? Everything went fine with only one unexplained manual reboot. We later even noticed a small but noticeable performance gain with SQL 2008.

On the next days, I got an alarming phone call from the IT operations department. They reported that since the SQL upgrade all production servers kept rebooting every 2 to 12 hours without apparent reasons.

We then immediately started our investigations but quickly discovered that there was no logged Windows event or error message. A closeup monitoring of SQL did not give us any clue. A couple of days were necessary to find out that the reboots were caused by the monitoring systems because the servers were freezing for more than 10 minutes. Still, we had no idea why they were freezing. It only happened on the physical PROD servers, not on the virtual DEV or TEST servers.

The main difference between virtual and physical machines concerns the underlying drivers. After a couple of days, we upgraded several drivers on one of the blade servers: HBA StorPot card, Ilo2 card firmware, blade power management control and various other minor drivers. It worked and fixed the problem.

Conclusion of the story ? You cannot foresee everything and even if you work by the book, shit may happen. The good news is that we only lost 3 days with a very limited impact on end-users.

Wednesday, August 5, 2009

Picturing SharePoint Lists

For one of my recent SharePoint projects, I have been asked to create lists where an image could be included to illustrate the content of each list entry. As each entry will have a picture attached to it, the picture upload process had to be quite straightforward and user-friendly.

I had first pointed my thoughts toward a picture library but soon discovered that it did not correspond totally to my needs. After some more googling, I found the Enhanced picture custome type on CodePlex. Here then comes the necessary complete instructions to install and parametize this nice add-on.

1/ As prerequisite, you need to install ASP.NET AJAX on your SharePoint (MOSS 2007 or WSS 3.0). This operation is made extremely easy thanks to the detailed instructions on Mike Ammerlaan's blog post regarding Installing ASP.NET AJAX on SharePoint. Ultimately, it all comes down to downloading an EXE file, running it, then copying/pasting XML from the blog post into the web.config file of your SharePoint and finishing with an iisreset command.

2/ Once AJAX has been installed, download the Enhanced picture custome type WSP file and install it using the following commands:
stsadm -o addsolution -filename .wsp
stsadm -o deploysolution -name .wsp -allowgacdeployment -url http://sitename -immediate -force

(The -force attribute is necessary if some elements are already installed on your SharePoint.)

3/ Go to your site settings and then under site collection features, activate the ImageEnhancer feature.

4/ Go to your custom list, and add another field of the newly available type Enhanced Image.

5/ On your site, create a picture library. It will be used to store the pictures but you do not need to manage it or create any specific fields for it.

6/ Go back to your list and under the general settings, click on Enhanced Image Picture Library. Select the picture library you created before and click ok.

7/ That's it, you're ready to upload picture inside your custom list with maximal effects and minimal efforts.

Tuesday, June 23, 2009

How to include SharePoint Document Version in your File ?

Since I started using SharePoint (MOSS & WSS), I wondered how I could include the version number provider by a SharePoint document library into the document itself, to ensure some cohesion help people to easily identify the latest version, particularly in the case of printed documents.

I discovered the following easy tip, which works for SharePoint 2007 and Office 2007.

  • In your documents list, go to Settings then Information management policy settings.

  • Under Specify a policy, select Define a policy and click OK.

  • In the labels section, enable labels and in the format field, enter something like: Version: {Version}.

  • Click ok.

Now go back to any of the documents of that library. Open it and edit it then go to insert, quick parts, document property and select Labels. Save your document, close it, then reopen it (in read only) and voilĂ , the SharePoint version will be included. For example, it will look like: Version: 1.4.

Note that it only works for Office 2007 documents (docx format for example) and MOSS.

Saturday, June 20, 2009

Ten ways to sink an IT project

During the recent Project Management Institute (PMI) congress from last May, Andre Chrome made an interesting show about ten ways to sink your project. And of course it applies perfectly to any IT project and I modified them sightly for this purpose.

  1. Be vague: Do not define any detailed scope that would force you to implement what you promised.

  2. Begin the execution ASAP. Why make a planning when you already know lots of changes will happen.

  3. Focus solely on your team. Clients will only interfere with your work.

  4. Forgot about code documentation and instead prefer mutual trust with your client.

  5. Go beyond your client expectations. As clients expect always more and fancy features, you will sign new contracts that will compensate for your losses and bugs.

  6. Risk management ? By definition, risk is uncertain. Why bother planning for risk.

  7. Quality is only important at the end of the project. The client will only look at the GUI anyway.

  8. Avoid bureaucracy. Paperwork is a waste of (your) time.

  9. Make sure your team works overtime. As IT project are overdue anyway, put pressure on your team from the start.

  10. Throw away paper documents when the project is over. Paper files takes place in your office and none ever read them.


Here is the video of this presentation:

Thursday, June 4, 2009

Server Fault: StackOverflow for Servers Issues

Jeff Atwood and Joel Spolsky have released the public beta of Server Fault. Based on their StackOverflow platform, it contains all existing features that made you love (or hate) StackOverflow.

While StackOverflow is oriented toward programmers, Server Fault aims to bring solutions to System, servers, and network administrators. Let's hope it will work as well. I cannot wait to see my first question answered.

Thursday, April 30, 2009

Office 2007 Service Pack 2

After yesterday successful installation of the Windows SharePoint Services 3.0 Service Pack 2 I decided today to install the Office 2007 Service Pack 2 (SP2). Note that I have a fully patched Office 2007 in my computer with almost all Office applications, including Visio and SharePoint Designer.

I downloaded that small service pack of 290MB and immediately started the installation. It was again quite straightforward with only a click to accept the Microsoft conditions. My principal occupation during the installation was to wait for over 20 minutes for the patch to install and then accept for my computer to reboot. Everything worked exactly as foreseen.

One of the best improvements of Office 2007 SP2 is probably the support for PDF (probably the most universal file format) and ODF (the openOffice suite file format). These two file formats are now directly integrated into the Office 2007 suite. As I wanted to test this new functionality, I opened a 4.3MB-large complex Word document full of pictures, diagrams, styles, and internal links and saved it as PDF from Word. The result was a 5MB-large very nice PDF document where all links were working. The pictures quality remained high. I then tested my old PDF converter method which is PDF995. It took much longer to convert the 150+ pages, did not contain links, and ended up with a file size of 9MB. A colleague of mine tested the same conversion using PDFCreator But after 25 minutes of wait, he finally killed the process. The Microsoft solution is therefore not too bad in this case.