Gary Huntress wrote:
> 
> 
> David Logan wrote:
>> mos wrote:
>>
>>> At 09:27 PM 3/31/2006, you wrote:
>>>
>>>> I have been offering free database hosting for over 4 years and I've
>>>> been doing it on a shoestring.    My last MySQL server was a generic
>>>> 1GHz system with 256MB RAM running Redhat 9.   The performance was
>>>> surprisingly good because the query loads were not typically high.  
>>>> One persistent problem was the initial connection times.   On that
>>>> old system if I had less than approx 10,000 separate databases then
>>>> the connection times were "fast", and on the order of 1 second or
>>>> so.   If I had more than 10,000 databases this dramatically changed
>>>> the connection times to well over 15 seconds or more.
>>>>
>>>> I always attributed this connection lag to a problem with the
>>>> filesystem and the large number of directories.  The old server had
>>>> RH9 and ext3 with no htree support which I was told could help with
>>>> this problem.
>>>>
>>>> I recently bought a new 2.4 GHz system with 1GB of RAM and installed
>>>> Fedora 4 with ext3 and htree support.  All new hardware, faster
>>>> drives, more RAM and updated software.  I thought I was golden!   
>>>> Well, I have 14,000 databases on this new system and it is as slow
>>>> as the old 1GHz system.
>>>> The tuning articles I've read, and the sample my-*.cnf files that
>>>> ship with the tarball appear to apply to the more typical
>>>> installation of a single huge database rather than thousands of
>>>> individual dbs.   Can anyone offer any suggestions?
>>>>
>>>> Thanks,
>>>>
>>>> Gary Huntress
>>>
>>>
>>>
>>> Gary,
>>>         Just a guess, but could the problem be the 14,000 directories
>>> you have to store the 14,000 databases? The problem could be the OS
>>> directory structure. Putting the data into fewer databases will
>>> likely solve the problem or perhaps move half of the directories to
>>> another drive.
>>>
>>> Mike
>>>
>>>
>>>
>>>> -- 
>>>> MySQL General Mailing List
>>>> For list archives: http://lists.mysql.com/mysql
>>>> To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
>>>
>>>
>>>
>> Hi Gary,
>>
>> I think that Mike may have hit the nail on the head. I've a few unix
>> directories with multiple thousand files and they do become a bit of a
>> problem to manage speedwise. Perhaps, as Mike has suggested, place
>> half of them on another drive.
>>
>> The other option could be to run multiple instances of MySQL, each
>> having a different port number (this could be based on username or
>> something similar) eg. A-D port 3306, E-H 3307, etc. and reducing the
>> number of dbs per instance (server) that way.
>>
>> Regards
>>
> I agree with the diagnosis.  I'm unsure how to move 1/2 the databases to
> a new drive though.  That would be the simplest solution.   As I
> understand it, MySQL will only use 1 data directory, so the best case
> would be symlinks.   I'm not sure about this but 15,000 symlinks to
> multiple drives may be just as slow as 15,000 directory entries.   Were
> either of you thinking of another way to split up the directories?   
> Unfortunately, since I assign one database per user, I can't limit the
> number created.
> 
> Multiiple servers may be my best option.
> 
> Thanks,
> 
> Gary

Not necessarily sure this is the problem.  But if it is, it could be
solved by switching to a different filesystem.  Or, if you are using
ext3fs, you could try enabling dir_index on the filesystem (tune2fs -O
dir_index ... man tune2fs), which could give you a boost in performance
in a large dir (this could take a long time to complete).  You may also
want to up your table cache so that mysql can keep more of your commonly
used tables open?




-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to