Re: RAID arrays and performance
От | James Mansion |
---|---|
Тема | Re: RAID arrays and performance |
Дата | |
Msg-id | 47557734.7090604@mansionfamily.plus.com обсуждение исходный текст |
Ответ на | Re: RAID arrays and performance (Matthew <matthew@flymine.org>) |
Список | pgsql-performance |
matthew@flymine.org wrote: > So, if you hand requests one by one to the disc, it will almost always be > faster to order them. On the other hand, if you hand a huge long list of > requests to a decent SCSI or SATA-NCQ disc in one go, it will reorder the > reads itself, and it will do it much better than you. > > Sure - but this doesn't suggest threading so much as pushing all reads into AIO as soon as they can be identified - and hoping that your os has a decent AIO subsystem, which is sadly a tall order for many *nix systems. I do think some thought should be given to threading but I would expect the effect to be more noticeable for updates where you update tables that have multiple indices. In the case of your scan then you need threading on CPU (rather than concurrent IO through AIO) if the disks can feed you data faster than you can scan it. Which might be the case for some scans using user functions, but I wouldn't have thought it would be the case for a sinple index scan. At some point, hopefully, the engines will be: a) thread safe (if not thread hot) so it can exist with threaded user functions and embedded languages b) able to incorporate C++ add-in functionality There may not be a pressing reason to support either of these, but having a capability to experiment would surely be helpful and allow incremental enhancement - so baby steps could be made to (for example) move stats and logging to a background thread, move push of results to clients out of the query evaluator thread, and so on. Parallel threading queries is a whle different ball game which needs thought in the optimiser. James
В списке pgsql-performance по дате отправления: