![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: We have currently have just completed an upgrade from a Vax cluster to an Alpha one, the performance of the system is very good but I have a question concerning the performance of indexed RMS files. Previously the discs on which our data resided had cluster size of 3 or 4 and accordingly kept the bucket sizes in the files to a multiple of this. The new disc on which our data now lives has a much larger cluster size of 52. Is there any benefit in keeping the bucket size lower than 52 or should I increase them all to 52. I understand the effect bucket sizes have on file performance but I am not sure about the link with the large cluster size. A related question is also is there anything to make EDIT/FDL more usable with these high bucket sizes as the graphs etc stop well short of these values. Some more info which may be relevant We use RUJ and point the journals to a disc with a cluster size of 9. We have approx 500 RMS files ranging from single key files of only 10 blocks or less up to files with 4 keys and a files sizes just short of 2 million blocks. VMS version is 7.1-2 The Answer is : Is there any benefit in keeping the bucket size lower than 52? It is the other way around -- if there is a benefit for a bucket size of 52, it is equally valid for a cluster size of 9 and you would have been short-changing yourself for not making that change. If it was not good for you earlier, then it is likely still not good. The relation between clustersize and bucksize is relativly unimportant. There is some modest potential for space saving due to round-up and some modest performance (1%?) due to allignment, when everything else is set up perfectly and completely under control. The bucketsize itself extremely important for production system performance where as the clustersize is really only important during allocation. If your files are created or converted with reasonable allocation and extend sizes, then the cluster size can be readily ignored. Larger bucketsizes are very beneficial when sequential reads ($GET next by the primary key) form a dominant activity, and/or when the index gets deep. Smalerl bucketsizes are beneficial when 'contention' plays a (negative) role (eg: many processes going after the same buckets) and when frequent updates and insertions occur. Remember, if the application changes just one byte in a record, RMS will write out a whole bucket of blocks. The cluster factor plays NO role for either of these. If you use EDIT/FDL/NOINTERACTIVE to automatically tune your FDL files, you may want to (have to!) pre-process them and hardcode a SMALL clustersize value (such as the 3 or 4 you had previously used) in order for EDIT/FDL not to get carried away. An alternative to changing FDL files is to use TWO FDL files for input to EDIT/FDL. The main argument should be a true description of the file. The second argument would be provided in the /ANALYSIS and can be limited to the following lines (adjusted to your file, of course!): IDENT "minimal template for EDIT/FDL/NOINTERACTIVE analyze input" FILE; CLUSTER_SIZE 12 ANALYSIS_OF_KEY 0; MEAN_DATA_LENGTH 123 DATA_RECORD_COUNT 1234 The mean record length tends to be stable for a given file. The data record count can be obtained from the last CONVERT and corrected to the expected values for the current convert. The OpenVMS Wizard does not see a particular relationship between RU Journalling and cluster or bucket size. The bucket size is important for AI journalling (which writes out the used bytes in buckets to its log).
|