Tag Archives: servers

Microsoft Small Business Server 2011: A Techie’s First Impressions

Microsoft’s Small Business Server features prominently in my life as an IT consultant. Its combination of Windows Server, Microsoft Exchange and SharePoint at a low price-point makes it a compelling proposition for smaller firms.

Dislike of Windows Vista has resulted in many of my clients continuing to maintain systems running SBS 2003 and Windows XP. Now these products are approaching the end of their support lifecycle, many of them are migrating to SBS 2011 and Windows 7. Now that I have completed the first of these migrations, I am in a position to present my first impressions.

First Impressions of Small Business Server 2011

As with previous incarnations of Small Business Server, SBS 2011 is designed to appear easy to use. In many ways it is, with wizards designed to make frequent tasks such as adding users, configuring software updates and sharing printers simple and intuitive.

As with earlier versions, however, these wizards are running on top of Microsoft’s complex and sophisticated Windows Server and Exchange technologies. While much of the server configuration can be done using the wizards (accessed via the SBS 2011 Administration Console), some essential tasks throw admins way into the server configuration deep-end.

Small Business Server 2011
Small Business Server 2011

As an example, I encountered a complicated feature when I increased the maximum incoming email size from the default. This landed me at the Exchange 2010 command line interface – daunting enough for someone raised on SBS 2003 – and I imagine utterly impenetrable for a non-technical person!

New Features for Admins

The Administration Console provides access to all the key server features and maintains an ongoing “traffic light” style alert system which informs admins of any issues with software updates, security and backups. These alerts link in with daily emails sent to the people in charge of the system to provide quick notification of problems.

I particularly like the fact that SBS 2011 appears to place emphasis on any significant errors listed in the Windows event logs, which encourages administrators to proactively investigate all problems in the continuing quest to obtain green “OK” statuses across the board!

Adding new PCs to the SBS 2011 network is a slick process with better integration than previous versions. For example, if an administrator grants a user delegate access to a mailbox, Outlook picks this up and adds the mailbox to their Outlook folder tree with no client configuration required.

New Features for Users

From a user’s perspective, there is a fair amount of new functionality in this incarnation of Small Business Server. How much users will notice, however, depends on how much of the old functionality they were making use of.

The new remote access portal now provides access to shared files via the Web browser – a valuable enhancement in the “Dropbox age,” and is a compliment to the existing options of remote controlling an office PC, or accessing email via Web-based Outlook. The richly featured Exchange 2010 Outlook Web App now provides this.

At the desktop level, less has changed. Essentially, users access shared files and interface with Exchange via Outlook. SharePoint looks shinier than before, but in my experience, few small businesses actually make much use of it.

Conclusion

In a world where many small businesses are considering a move to the cloud, there’s still a place for Microsoft Small Business Server. It is hugely configurable and delivers enterprise-level IT services at a reasonably competitive price. Businesses just need to make sure they have someone reliable to look after it – there’s still a lot of complexity hidden behind that shiny admin console.

Optimize Your MySQL Server With the MySQL Tuner Script

MySQL is powerful, open-source database software. When joined with PHP or another programming language, the uses of MySQL are almost endless.

The ability to use MySQL in an unlimited number of ways is both a blessing and a curse. While MySQL can be used for just about anything, there is no single proper way to configure a MySQL server. The amount of system resources such as memory and processor to allow the server to use depend on the application. For example, the settings that you would use for a small web server running a single WordPress site would be significantly different from if you were using MySQL with a whole network of WordPress sites.

MySQL Tuner Script

The MySQL Tuner Script is a Perl script that analyses your running MySQL server and makes configuration recommendations based on past performance of the server.  Making the changes suggested by the MySQL Tuner Script can help improve the performance and stability of your MySQL server along with any applications that are using it.

Step 1: Start by downloading the Perl script from http://mysqltuner.com/mysqltuner.pl.

wget http://mysqltuner.com/mysqltuner.pl

Step 2: Make the script executable.

chmod +x mysqltuner.pl

Step 3: Run the script as any user.

./mysqltuner.pl

Step 4: Enter your MySQL username and password when prompted.

Step 5: The script shows the values of current global MySQL variables.Any good values are shown as [OK] and bad values are shown with [!!].  Example output is shown below.

[user@mysql-server Desktop]$ ./mysqltuner.pl

 >>  MySQLTuner 1.2.0 - Major Hayden
 >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/
 >>  Run with '--help' for additional options and output filtering
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password:

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.5.13
[!!] Switch to 64-bit OS - MySQL cannot currently use all of your RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 43M (Tables: 103)
[--] Data in InnoDB tables: 48K (Tables: 3)
[!!] Total fragmented tables: 16

-------- Security Recommendations  -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 2d 19h 17m 51s (769K q [3.176 qps], 102 conn, TX: 301M, RX: 238M)
[--] Reads / Writes: 2% / 98%
[--] Total buffers: 288.0M global + 9.9M per thread (50 max threads)
[OK] Maximum possible memory usage: 784.9M (9% of installed RAM)
[OK] Slow queries: 0% (0/769K)
[OK] Highest usage of available connections: 24% (12/50)
[OK] Key buffer size / total MyISAM indexes: 64.0M/46.2M
[OK] Key buffer hit rate: 99.8% (8M cached / 19K reads)
[OK] Query cache efficiency: 62.1% (34K cached / 56K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 2K sorts)
[OK] Temporary tables created on disk: 6% (33 on disk / 517 total)
[OK] Thread cache hit rate: 82% (18 created / 102 connections)
[!!] Table cache hit rate: 15% (163 open / 1K opened)
[OK] Open file limit used: 6% (285/4K)
[OK] Table locks acquired immediately: 100% (727K immediate / 727K locks)
[OK] InnoDB data size / buffer pool: 48.0K/128.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
 Run OPTIMIZE TABLE to defragment tables for better performance
 Enable the slow query log to troubleshoot bad queries
 Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
 table_cache (> 2048)

[user@mysql-server Desktop]$

Step 6: To change the values of the variables you will need to edit the [mysqld] section of your my.cnf file, usually located in /etc/my.cnf, but this may vary for you.

Step 7: Make the changes to the global variables suggested by the script and restart your MySQL server.

/etc/init.d/service mysql restart

You can run the script again, but it is suggested that you wait 24 hours to see how the my.cnf changes affect the performance.

Have any tips for optimizing the performance of your MySQL server?  Share them with us in the comments below!

Sparkfun’s Free Day: A Giveaway Meets a Server Stress Test

Two hours – that is all it took for $150,000 to be given away on the internet.  Now for most of us, it seems very foolish to let $150,000 just be burned off like the fuse on a stick of dynamite.  But for the electronics prototyping distributor Sparkfun, it was a calculated, well-planned charity.

This massive event is known as Sparkfun Free Day, a day unto which the distributor from Boulder, CO decides to give away rewards to its customers in order to show appreciation and support.  For each person that logged in or created an account, they got the opportunity to spend up to $100 of in-store credit on anything in Sparkfun’s store by answering technical trivia while they were shopping.  Furthermore, they donated up to $30,000 to local charities while the event was happening.

In 2010, the number of participants completely disabled Sparkfun’s servers and had the goal of $100,000 in freebies get consumed in just 1 hour and 44 minutes.  This year, the results were no less different.

From its opening at 10am CST on January 13th, some of my colleagues and I attempted to get in to get our share of free Bluetooth modules, calipers, and accelerometers.  This is how far we made it: the option to take the quiz or take a loyalty benefit (based on how many years you have been a Sparkfun customer).

But unfortunately for us, any attempts to get further than this caused a boatload of problems.  Like this:

And this:

And most often, this:

So what happened to our browser refreshed attempts to gain freebies?  Well, you can thank the sheer number of participants for these images.  What Sparkfun basically did to themselves for two hours is an unintentional DoS; a Denial of Service on their own servers.  So not only did Free Day benefit their consumer base, it also tested their servers to the utter limits.  Now that’s what I call a very expensive (but quite clever) test.  

Here is a full recap of the stats from Free Day 2011, and it is pretty interesting to see the results.  Regardless of how everyone fared during those tumultuous two hours, one has to give Sparkfun a ton of credit.  And like all contests, there’s always the hope of next year.

How to Install Flash Player Updates on Citrix/XP/Terminal Servers

Anybody who has had to deal with Citrix servers knows that it’s a pain getting anything installed without affecting end-users.  Adobe Flash Player is no different – it must be installed a specific way to make it work properly without getting the dreaded “Application was installed previously with administrative permissions, please install again” error.

Procedure

Step 1: Download the latest .msi version of Flash Player from Adobe’s download location.

Step 2: Open your Start Menu, click Control Panel –> Add or Remove Programs.

Step 3: Click ‘Add New Programs‘ on the left side of the window.

Step 4: Click the ‘CD or Floppy‘ button, which will open a prompt to select your installer.  Locate and select the .msi file you downloaded in Step 1 and click ‘Next’.

flash-citrix-dialogStep 5: You will now see the standard Adobe Flash Player installer, which can be installed just like a normal program.  And you’re done!

Author’s note: This guide also works with Windows XP for administrators looking to push patches to client workstations.