Archive for January, 2012
SQL Azure and Query plans / Performance
Jan 31st
I showed you a while ago the improved SQL Azure management portal. After having nothing in 2008, Project Houston was a great step towards a Cloud only management portal. But December 2011 they renewed the complete SQL Azure management portal. Besides a more Metro look-and-feel they added also some extreme helpful tools and utilities.
30-Jan-2012
Jan 31st
More on the wiki
The main issue found yesterday was in a commandfile that is started by the server – it refers to an object or method that does no longer exist. So chances were there would be a new version with the new Pthon version.
And so there was: a template is supplied! So I copied the file to the location the wiki maps to and where the file is expected to reside.
Now it takes a while to show a next error:
Silverlight vs HTML5
Jan 30th
A fellow MVP once mailed: “I’ve got friends that were heavy into SLdevelopment that now do none. It’s gone from their #1 technology to now being banned for development within their company. What changed? The first time that one of their clients said “now show me how it looks on my iPad” and they had no answer.”
29-Jan-2012
Jan 29th
Updates
Three updates to be done, without much of a problem. At least, that’s anticipated.
Mysql
I’m running the release by Jean-François Piéronne, currently version 5.1.23, which has been released quite some time ago. Latest version as today is 5.1.46; same level but probably enhanced. So I updated the database, following the recommendations of the wiki on his site. There is a small typo in this document, but if you know VMS, it’s not much of a problem.
After restart, you need to update a number of tables but the script runs into a number of “Column already exists” errors. I don’t think it matters much, since the database runs fine after that.
The first attempt to access the blogs using IE8 failed but that may have been caused by running PHP-processes that lost connection the database (obviously the database needed to be stopped…)
Anyway, MySQL is now up-to-date.
Python and related
Second there are the Python updates. These come as logical devices: containers conta8ng all files, to be mounted as disks: one containing the libraries, and one containing the running software – one of them being the MoinMoin wiki. That update requires logical disks to be redefined, and some more logicals to be redefined.
This has all been taken care of, but for some reason, something goes wrong in running the WASD-procedure that starts the wiki:
Windows Azure management via WP7
Jan 29th
At this moment Windows Azure services can be monitored and management via the Windows Azure management portal. But the portal is implemented via Silverlight, which is less accessible with a browser with no support of plugins.
Using R and Oracle tracefiles
Jan 18th
If you are not familiar with R, this is the description from the R site: R is a language and environment for statistical computing and graphics. I encountered R at the Erasmus university, where I am working on a project with DNA data which is put in an Oracle database (see: http://huvariome.erasmusmc.nl/ (It’s down at the moment)).
13-Jan-2012
Jan 13th
DoS attacks on blogs – part 2
One of the things I did after the server was restarted, was to define s throttle on the blogs, the wiki and the download area. This wioll oprevent this number of concurrent accesses to them, limiting the risks. It may mean that when I get a lot of requests, some will have to wait a bit longer, or will be queued for some time, or get a “Server busy” error. The issue is clearly visisble in yesterday’s history. Not so much in CPU – there are some spikes up to 25%:

At times there have been peaks in CPU, normally it’s just a few\percent, these spikes up to 25 are remarkable, esepcially in the timeframe in which they occur…
In memory usage – especially pagefile usage – the problem is clear:

Free memory is exhausted, but there is space enough avaliable in the pagefile, and far more cqan be paged into the files; but since none of the processes clearly ran out of virtual memory, there is something else that blocked processing. The only culprit in that case, might be MySQL….
The number of processes:

runs in to the roof – in steps, and it follows memory usage: starting to rise at six to stablize just a few minutes later, until the numbert of processes increases again at 7, again stabilizes at 9, and again increasing in steps until the system of out of slots at 10; in the next half hour, is seems some processes com to an end but immediately, that free slot is taken again….From that moment on, until the system is rebootes at 21:00, no new processes can be created; once in a while one ends, but another will take the slot immedeately…
Paging show2s a massive peak at 6:00 and 7:00.

These will be the moments that the large amount of processes are created. It matches the graph seen yesterday on the amount of requests on these moments.
The graph of buffered IO shows the same peaks:

So the problem started at 6:00, stabalized until 7:00, and then contibued until the system ran out of resources at about 10:30 (local time, which is UTC without DST on the system).
12-Jan-2012
Jan 13th
DoS attack on blogs
This morning, the web was unreliable in both speed of access and success. Webmail, which normally works like a charm, would react slowly, cause a 503 error, or time-out. The same to the opertion desk: the home page is a plain HTML file – no withles nor bells. That would load fine, although slow, but access to functions within the menu could cause similar problems.
Luckily, the WASD web-pages were acecsable.
Looking at what could cause the problems, I looked at the activity on the system, and I notices a really large number of PHP-server processes: meaning that someone was trying to blow the blogs to pieces.
So the next action was to stop these processes, but it seemed an impossible task: for any process I killed, another one was created. Or processes were said to be ’suspended’…
Next stop: restart the webserver – which normally causes all pending PHP-servers to disappear. But not so this time; that is: the server list of running processes showed them gone, but SHOW SYSTEM still had them….So I retried – wityh no luck.
At some point, an error 500 (unexpected server error) was returned whenever a rfequest was send that would the webserver require to create a new process; but since the admin apges are handled internally, WATCH could show me the reason: “no pcb available”. The system was simply out of gas….But not completely, wherever the webserver could handle requests itself, like the admin pages, the images beyond the Trips,Tracks&Travels blog, or download files, that worked as before. Also mail and other processes normally running kept running as usual; a bit slower, perhaps.
It was not until later in the afternoon that I had the ability to solve the problem, because of this lack of process blocks, login wasn’t possible either – I just had to work from the console.
To my luck, the DecWindows session on my console was still up and running, so from there, I could try to clean up the mess. Each slot tahat would normally be open, was now occupied by a ser4ver-subprocess running PHP, in either LEF or LEFO state. So I stopped each of them. Next re-showing what was running, the processes re-appeared, to I tried again – with no result.
The only solution I had than was to reboot the server. After that, the webs worked like they should.