I got this trying to start my z/VM system.
The books talk about editing and changing/etc/sysctl.conf. I just changed my *.devmap and reduced the size of the memory in the
[system] memory 3G
statements
I got this trying to start my z/VM system.
The books talk about editing and changing/etc/sysctl.conf. I just changed my *.devmap and reduced the size of the memory in the
[system] memory 3G
statements
I found it hard to find information about MQ events and what to do with them, so Ive documented my thoughts below.
Thanks to Gwydion and Morag for the many corrections!
MQ writes messages to system queues when specific activities occur, for example when a channel is made put(disabled) or a channel stops. This allows you to have a program take these and take actions.
Ive categorised the actions into
Different queues are used depending on the event
Our neighbour’s son came up to me and said “I am a magician – look here is my trick”. The trick was a good trick, but then I had to explain that being a magician is more than doing just one trick.
I thought of this as I was reviewing some old note books and found the comments I made about a customer visit, and the “MQ architect and lead MQ programmer”.
This architect knew about Request-Reply and Fire-and-Forget, but he was missing other tricks.
The conversation went along the following lines
Messages processed in strict sequence
Me: Do your messages have a requirement to be strictly processed in sequence?
Him: I dont know, why?
Me:You can only have one putting application, one channel, and one application getting messages. If you have more than any of these – you can get messages processed in the wrong order.
Availability and scalability
Me: What response time requirements do you have for the end-to-end transaction?
Him: under 5 seconds
Me: If the back end queue manager goes down, how long does it take to restart?
Him:About a minute
Me: So one backend will not provide the availability you need.
Him: But we use clustering!
Me: On how many queue managers is the queue defined on?
Him: One
Me: Do you use different clusters for online and batch traffic?
Him:Why?
Me: To isolate traffic, and ensure that batch does not impact online, either in channel throughput – or filling up the System.Cluster.Transmit.Queue.
and so it went on.
The defaults for many cluster channels are not very good. For example the values for
CLWLPRTY, CLWLRANK and CLWLWGHT are all 0, meaning the lowest priority.
If you want to make one connection or queue a lower priority, you have to alter all the cluster receiver channels, and local queues, to have a value – such as 5, let the definitions propagate round the network, and then change the one you wanted!
It may be worth doing this over an extended period, so you get good values, without disrupting your MQ environment.
Looking back over my time at IBM some things changed, some things have not changed much.
One of my first jobs was CICS build. These were the days when Systems Test took a year – and we had one build a month. My job was to compile all of the modules, print the listings, put the clean compiles in the rack, and take the failing listings to the developer. DASD was expensive, and I remember going to see the new double density 3340s with their 70MBs capacity! It was a big leap to be able to store listings on DASD when DASD was “cheap” – and spinning platters 2 foot across!
We ran the ( the original DOS, later renamed as VSE) and VS1under VM/360. If you wanted a new instance of DOS, you created the paging packs etc, and changed the VM exec, and started it.
We would put fixes onto the SYSRES, and give the developers a choice of the ‘old’ or ‘new’ SYSRES. it is strange that this quick deploy is now one of the “latest developments” in “cloud”.
The pendulum swings too and fro.
I spent 40+ years at IBM, and will be retiring on June 5th 2018. When I was at IBM I blogged things which I thought were interesting, and hope to do the same when retire. I am moving away from Hursley in the south of the UK and going to Orkney, on an island north of Scotland