07-03-2012
At the application level page size is an important concept, it's the unit of interaction with the disk. Imagine a database system requesting a record A, it'd be completely inefficient to only read this record (couple of bytes), instead we collocate a bunch of records in a page and we bet on spatial/temporal locality ...
It's a tradeof, if you set the page size to too big, you risk over reading stuff you dont need. Too small, and you risk to get multiple requests for otherwise contiguous records. A bit what the os does with 4096b pages.
I am trying to study that, using a buffered read of different sizes and calculate the throughtput ... I know only basics about disks, but i am certain that the metric i am studying is not uniform, thus doing the math is just meaningless.
I should cope with all parameters(cache,vm,readahead..ect) and have something like:
bs=512b 0.01sec 50kb/s
bs=16kb 0.0004sec 164mb/s
bs=2M 0.01sec 200mb/s
Then i will decide that 16kb is the best time vs throughtput trade off and this will be my page size.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Im looking to get the statistics on a machine
memory, cpu speed drive size etc
thanks in advance (3 Replies)
Discussion started by: simplimarvelous
3 Replies
2. Solaris
Hi ......
I have file system problem when i try to mount get the following message :
mount: /dev/rdsk/c1t4d0s7 not a block device ....
I run fsck it's ok ,,,, after run
newfs -N /dev/dsk/c1t4d0s7 and
fsck -o b=535952 /dev/dsk/c1t4d0s7 .............it's ok ........
At the and when i try... (2 Replies)
Discussion started by: tt155
2 Replies
3. UNIX for Dummies Questions & Answers
Hi,
I am triying to make sure that there exists only one file with the pattern abc* in path /path/. This directory is having many huge files. If there is only one file then I have to take its complete name only to use furter in my script.
I am planning to do like this:
if ; then... (2 Replies)
Discussion started by: new_learner
2 Replies
4. Linux
We are intending to protect a set of user specified files using LVM mirroring where the protected space on which the user files are stored is mirrored on an LV on a different disk. Our problem is that for a user with a custom layout has installed linux with 2 partitons for swap and / and there is... (0 Replies)
Discussion started by: kickdgrass
0 Replies
5. Red Hat
Hi friends,
I wanna know how to block USB devices in my RedHat flavor Operating system.
regards,
Prakash (3 Replies)
Discussion started by: prakashkumar41
3 Replies
6. Shell Programming and Scripting
I talked with this guy who seems to think loop mounting a fs ext3 image on a directory, as opposed to just using the underlying filesystem, will work better as far as IO conflicts. I have no idea why this would be better? I haven't been able to contact him.
Basically we have a daemon that... (0 Replies)
Discussion started by: stevenswj
0 Replies
7. Linux
I use CentOS
I talked with this guy who seems to think loop mounting a fs ext3 image on a directory, as opposed to just using the underlying filesystem, will work better as far as IO conflicts. I have no idea why this would be better? I haven't been able to contact him.
Basically we have a... (1 Reply)
Discussion started by: stevenswj
1 Replies
8. Shell Programming and Scripting
Hello everyone
I am finishing a script allowing me to purge logs on multiple servers, i have one last pb with the ssh command.........it is throwing me the following error :
tcgetattr: Inappropriate ioctl for device (full screen in attached file 1, full script in attached file 2)
It... (15 Replies)
Discussion started by: jimmy75_13
15 Replies
9. UNIX for Advanced & Expert Users
Currently I am using this laborious command
lvdisplay | awk '/LV Path/ {p=$3} /LV Name/ {n=$3} /VG Name/ {v=$3} /Block device/ {d=$3; sub(".*:", "/dev/dm-", d); printf "%s\t%s\t%s\n", p, "/dev/mapper/"v"-"n, d}'
Would like to know if there is any shorter method to get this mapping of... (2 Replies)
Discussion started by: royalibrahim
2 Replies
10. OS X (Apple)
Mac Version 10.15.2 (macOS Catalina)
Does anyone know how to change the name of a connected bluetooth device from the command line on macOS?
I am having trouble with various bluetooth devices which I cannot get the "rename" option in the GUI to "save" properly and so I cannot rename a few... (0 Replies)
Discussion started by: Neo
0 Replies
LEARN ABOUT DEBIAN
px_get_record2
PX_GET_RECORD2(3) Library Functions Manual PX_GET_RECORD2(3)
NAME
PX_get_record2 -- Returns record in Paradox file
SYNOPSIS
#include <paradox.h>
int PX_get_record2(pxdoc_t *pxdoc, int recno, char *data, int *deleted, pxdatablockinfo_t *pxdbinfo)
DESCRIPTION
This function is similar to PX_get_record(3) but takes two extra parameters. If *deleted is set to 1 the function will consider any record
in the database, even those which are deleted. If *pxdbinfo is not NULL, the function will return some information about the data block
where the record has been read from. You will have to allocate memory for pxdbinfo before calling PX_get_record2.
On return *deleted will be set to 1 if the requested record is deleted or 0 if it is not deleted. The struct pxdatablockinfo_t has the fol-
lowing fields:
blockpos (long)
File positon where the block starts. The first six bytes of the block contain the header, followed by the record data.
recordpos (long)
File position where the requested record starts.
size (int)
Size of the data block without the six bytes for the header.
recno (int)
Record number within the data block. The first record in the block has number 0.
numrecords (int)
The number of records in this block.
number (int)
The number of the data block.
This function may return records with invalid data, because records are not explizitly marked as deleted, but rather the size of a valid
data block is modified. A data block is a fixed size area in the file which holds a certain number of records. If for some reason a data
block has newer been completely filled with records, the algorithmn anticipates deleted records in this data block, which are not there.
This often happens with the last data block in a file, which is likely to not being fully filled with records.
If you accessing several records, do it in ascending order, because this is the most efficient way.
Note:
This function is deprecated. Use PX_retrieve_record(3) instead
RETURN VALUE
Returns 0 on success and -1 on failure.
SEE ALSO
PX_get_field(3), PX_get_record(3)
AUTHOR
This manual page was written by Uwe Steinmann uwe@steinmann.cx.
PX_GET_RECORD2(3)