By steve, 15 March, 2013

I've just been setting up Lync 2010 Multitenant, and want to note the following things that I came across:

1 - Since the frontend, director and edge machines need public and private IP addresses, I chose to deploy all of lync into its own zone, and allow traffic to the SQL server and domain controllers on appropriate ports. You do need to open port 445 to the SQL server during the install process.

Tags

By steve, 26 November, 2012

I have used the following tools to generate disk and filesystem benchmarks to evaluate both the performance of raw disks and different filesystems on the same disk.

ffsb - To benchmark filesystem operations
randomio - To benchmark the IOPS for a given disk
zcav - To generate throughput graphs for the different CAV zones of a hard drive (using gnuplot to generate a graph)

By steve, 27 February, 2012

To get a pop-up to appear in .NET from the code behind, you can do the following:

ScriptManager.RegisterStartupScript(this, this.GetType(), "alertName", string.Format("javascript:alert('Message to display with argument {0}')", argument1), true);

Tags

By steve, 23 February, 2012

A bunch of servers started seeing very high CPU usage in system time. The cause appeared to be related to a high number of nfs_inode_cache objects:

server:~# slabtop
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
1525524 1525524 100% 1.02K 508508 3 2034032K nfs_inode_cache
966120 856476 88% 0.19K 48306 20 193224K dentry

This was confirmed by running the following to clear the nfs_inode_cache:
server:~# sync
server:~# echo 2 > /proc/sys/vm/drop_caches

By steve, 8 December, 2011

We have an application pool that gets unhappy, and the ODBC and/or active directory lookups start to fail until the application pool has been recycled. to fix the problem I was able to add the following code to get an ASP.NET page to recycle its own application pool:

Tags

By steve, 1 November, 2011

To get the Linux kernel to re-scan a scsi controller (to detect missing or newly inserted disks), run the following command


echo "- - -" >/sys/class/scsi_host/hostNUMBER/scan

You can replace any of the "-" characters with a number to scan a specific channel, target or LUN

Tags

By steve, 17 June, 2011

While writing my first web service in .NET I came across the following error:

Cannot serialize member System.ComponentModel.Component.Site of type System.ComponentModel.ISite because it is an interface.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Tags

By steve, 8 June, 2011

I am having a problem where certain dynamic controls are not having their events triggered. I can re-create the problem by getting my code to re-create the controls in the PreRender event as follows:

protected void Page_PreRenderobject sender, EventArgs e)
{
GenControls();
}

protected void Page_Load(object sender, EventArgs e)
{
GenControls();
}

Tags

By steve, 8 June, 2011

To make a web page return to the same position after a postback, 2 things are required. First, the following must be added to the web.config file:

Second, add the following into the Page_Load() function for the page:

protected void Page_Load(object sender, System.EventArgs e)
{
Page.MaintainScrollPositionOnPostBack = true;
}

Tags

By steve, 31 May, 2011

To guarantee that an account session ID is unique across router reboots, we added the following config to our LNS routers:

routert#conf t
router(config)#radius-server unique-ident 1
router(config)#end
router#wr m

If we ever replace a router, we need to increment the unique-ident number to ensure that the new router does not re-use the same session-id's as the old one. This is because we use nas:sessionid as the unique key to identify a session.

Tags