[AccessD] Where to publish stuff

Salakhetdinov Shamil mcp2004 at mail.ru
Sat Jul 14 16:13:41 CDT 2012


Hi Jim --

What DNN version did you use there?
AFAIS current DNN version (6.2.1), which is installed with default 'Typical' setup option runs on my sample site is running much quicker than DNN v.5.x and especially DNN v. 4.x and  is producing smaller/cleaner HTML output. 

Upgrading DNN web site should never be done without first making full backup of the current setup.

I'd not try to tune DNN by cleaning its sources - I suppose DNN currently runs very well by default.
DNN also has caching feature, which can be used to cache static and rarely changing dynamic content etc.

We can immediately test sample DNN site response time by attacking it form our PCs by using a C# script I'm posting in P.S. of this message. That C# script can be run from LINQPad (linqpad.net) - free version:

Here are the test results I have got by running the test C# script from my PC:

Started at: 15.07.2012 0:48:27
Completed at: 15.07.2012 0:48:37, elapsed time = 9.621s
Completed tasks count = 50
Downloaded html total length = 1141600
Downloaded html pages count = 50
Download speed: 5.197 pages/s, 118662.651 bytes/s

We can set the "time X" to run this script from our systems to try to put sample DNN web site down, or I can write a simple WinForms utility program, which can be run from our systems "attacking" sample site in the same UTC moments and sending stats to a web service...

When we will get that test results then we will see is there any need to tune default DNN 6.2.x setup or it's running well enough even on a shared virtual hosting located somewhere in Moscow, Russia...

What about this first step plan?

Thank you.

-- Shamil

P.S. Sample web site "attacking" C# script - quick & dirty:

/ /* using statements should be commented in LINQPad and
/ /* additional namespeaces (F4) set instead
//using System.Threading.Tasks
//using System.Net
void Main()
{
 const int CYCLES_COUNT = 10;
 
 DateTime startTime = DateTime.Now; 
 System.Console.WriteLine("Started at: {0}", startTime);
int completedTasksCount = 0;
 PageDownloader.DownloadedHtmlTotalLength = 0;
 PageDownloader.DownloadedPagesCount = 0;
 
 foreach (int i in Enumerable.Range(1, CYCLES_COUNT))
 {
 Parallel.Invoke ( 
 () => Interlocked.Add(ref completedTasksCount, new PageDownloader("GettingStarted.aspx").Run())
 ,() => Interlocked.Add(ref completedTasksCount, new PageDownloader("Home.aspx").Run()) 
 ,() => Interlocked.Add(ref completedTasksCount, new PageDownloader("AboutUs.aspx").Run())
 ,() => Interlocked.Add(ref completedTasksCount, new PageDownloader("OurServices.aspx").Run()) 
 ,() => Interlocked.Add(ref completedTasksCount, new PageDownloader("NewsPromotions.aspx").Run())
 );
 }
 
 while (completedTasksCount < 5) System.Threading.Thread.Sleep(500);
 
 DateTime endTime = DateTime.Now; 
 decimal elapsedTimeInSeconds = (decimal) (endTime - startTime).TotalSeconds;
System.Console.WriteLine("Completed at: {0}, elapsed time = {1:#0.000}s", endTime, elapsedTimeInSeconds); 
 
 System.Console.WriteLine("Completed tasks count = {0}", completedTasksCount); 
 System.Console.WriteLine("Downloaded html total length = {0}", PageDownloader.DownloadedHtmlTotalLength); 
 System.Console.WriteLine("Downloaded html pages count = {0}", PageDownloader.DownloadedPagesCount); 
 
 System.Console.WriteLine("Download speed: {0:#0.000} pages/s, {1:#0.000} bytes/s", 
 PageDownloader.DownloadedPagesCount/elapsedTimeInSeconds,
 PageDownloader.DownloadedHtmlTotalLength/elapsedTimeInSeconds); 
 
 
}
public class PageDownloader
{
 public static int DownloadedHtmlTotalLength;
 public static int DownloadedPagesCount;
private string _pageUrl;
 public PageDownloader(string pageFileName)
 {
 string httpPrefix = "http://shamils-42.hosting.parking.ru/";
 _pageUrl = httpPrefix + pageFileName; 
 }
 
 public int Run()
 {
 try
 {
 string html = new WebClient().DownloadString(_pageUrl);
 
 Interlocked.Add(ref PageDownloader.DownloadedHtmlTotalLength, html.Length);
 Interlocked.Increment(ref PageDownloader.DownloadedPagesCount); 
 
 }
 catch (Exception ex)
 {
 System.Console.WriteLine("Downloading failed for '{0}'", _pageUrl); 
 }
 
 return 1;
 }
}



Sat, 14 Jul 2012 11:10:32 -0700 от "Jim Lawrence" <accessd at shaw.ca>:
 
  
  
Hi Gustav/Shamil:

There are none. It is running off a friend's servers and I am allowed
everything I would like... We have IIS but may be going for the Ingnx server
just for speed. I think we have MS SQL server 8.

I would like to do something with the DNN FE as it is the ultimate resource
pig. Get a few hundred instances going and you can bring any server and
database to its knees as there is no other package that does more round
trips.

My experiences with NDD have been fairly frustrating. This same friend
updated his version of NDD and SQL version and all his websites shut-down.
It took us over a month to get the site running again after I had deleted
thousand of lines of what I thought were convoluted useless code...classes
calling classes calling classes (I.e. 758 lines with resource files, were
replaced with 8 lines of code). That type of job should have taken an
afternoon to get it working, tops. It stores everything in the database! The
site is still has little issues and needs another week or two to completely
clean up but the pages loads in a tenth of the time and now it run
rock-solid.

That said maybe NDD should be used to get a demonstration package
boiler-plated together and up and running.

Jim 

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock
Sent: Saturday, July 14, 2012 7:51 AM
To: accessd at databaseadvisors.com
Subject: Re: [AccessD] Where to publish stuff

Hi Shamil

To me that certainly looks like a route to follow. And why abandon DNN
because it runs on Microsoft software? That would not be logical to me.

But what about hosting costs? We have very little resources, and I would
prefer not to be bothered with adds.

/gustav

<<< snip >>>


More information about the AccessD mailing list