logo       

SPOPS question: msg#00002

Subject: SPOPS question
Hi All,

SPOPS has become a nightmare for us, and I am wondering if it is because we 
used the wrong tool for the job, or if it is because we did not use it 
correctly. Since SPOPS is pretty dynamic and capable in lots of ways, I'm 
leaning towards the second.

Our issue is simple. We use SPOPS both for wrapping our database into neat 
little objects... sort of the first four letters of the name (SPOP) and we use 
it for security. That is the area we are having issues. SPOPS is too thorough, 
perhaps.

Let us pretend we have one class. That class has four basic security rights 
associated with it: no access by default (0 world access), read-only access to 
the class, add-access to the class, and full write access to the class. Heck, 
let's drop the 'add' right and just say we have the other three rights. So, a 
user without read or write access is denied access. A user with either of the 
other two has the appropriate access.

SPOPS works quite well at allowing and denying based on these rules.

Now, lets say that the class I spoke of is to objectify a table, a table with 
100,000 records. So, the SPOPS table is now roughly 300,000 records in size, 
just to maintain the security information for the records of that one table.

Now, a user with access (read or write) decides to initiate a search through 
those records (select * from where foo = bar). Even if we allow the user to 
only see 25 records per page of our web application, SPOPS needs to do security 
checks on all 100,000 records for that table. Normally, running a select on 
100,000 records for a PC class machine is not entirely fast, but not so slow 
either. However, once we throw in the SPOPS security checks, things start to 
bog down significantly.

Usually, we won't have a user doing a select on 100,000 records, but it could 
happen. I say usually, right now, because we are just starting with our 
application and have not had to grow it too much beyond its initial deployment. 
As we continue further deployment, we will be dealing with far more than 
100,000 records in a table.

Of course, indexing tables and so on has been done, so that is a bit faster. 
But it sure seems from viewing our MySQL debug log that SPOPS makes a whole lot 
of security queries for each object access, and those start to build up. As our 
CGI processes start to wait for the database operations to finish, they all 
start to gang up and hang around together in memory and the process table (i.e. 
as more users are using the system and doing searches). Eventually, with enough 
users, the server dies.

I know that this could happen without SPOPS involved at all. But, it sure seems 
from reviewing stats and logs and such that SPOPS is responsible for such an 
increase in database usage based solely on security checks that we experience 
dramatic slow down a lot 'easier' than we would like.

I've been thinking for a while that the best plan would be to keep the 'SPOP' 
part of 'SPOPS' and re-implement security checks from scratch. But, you all 
seem to be getting along with OI and lots of users so swimmingly, that I must 
wonder what more I can do to squeeze extra performance out of SPOPS.

So, how about it?

I am still a relative novice to being a DBA and I'm only moderately good at 
getting what I want to out of SPOPS. Maybe not even. I've read the manual, but 
have not yet seen the alternatives.

Thanks for any guidance.

Nicholas Floersch


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
audio.irate.dev...    yellowdog.gener...    ietf.ips/2002-0...    xfree86.fonts/2...    busybox/2003-07...    emacs.jdee/2004...    linux.mandrake....    hardware.microc...    user-groups.lin...    science.analysi...    version-control...    db.filemaker.de...    cluster.openmos...    mail.eyebrowse....    text.xml.xerces...    kde.devel.kwrit...    finance.moneyda...    gcc.regression/...    network.routing...    os.freebsd.deve...    recreation.radi...    qnx.openqnx.dev...    python.xml/2002...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe