PDA

View Full Version : Dot Project 2.0.1 is very slow


cchausse
15-04-05, 10:33 AM
I just installed dotproject 2.0.1 on a Windows 2000 system with apache 2 and mysql 4.1 and it is terribly slow. I have to wait at least 3 seconds and up to 10 seconds sometimes between any click in the user interface. This is really sad because dotproject is, in my opinion, the best open-source web based project management tool . It has fantastis features and is very well presented. But with that slowliness it is unusable.

I noticed that on the demo site (http://www.dotproject.net/demo/) it is a lot more fast. What is running on this machine or in other word does somebody know a trick on how to make it run faster ?

nicovl_work
20-04-05, 12:28 AM
Hi cchausse.

I have a test version of dotProject running fine on an EPIA 600Mhz which is a really low power computer.

dotProject is not the problem, your hardware is probably not the problem. The problem is probably windows. Switch to Linux and watch dotProject fly!

Nico.

liquor
21-04-05, 12:38 AM
I run on it on Windows XP and its prettty fast... I have a dual xeon 2.8ghz with 2gb of ddr ram though =)

zepernick
21-04-05, 07:14 AM
We are running on a win2k server.

We have also noticed a speed issue since moving to 2.0, but it has so many great features that we have been willing to deal with it :)

Does anyone know if there are any settings in PHP or mysql that may be running in some sort of debug mode and causing extra work? I tried looking through the querys to see if it may have been an index issue on the db, but have not had any luck even after adding a couple of new indexes.

We are running php 4.3.3.

When running the select @@version query in mysql, it comes back with:

4.0.14-max-debug. This makes me wonder that mysql may be running in a debug mode that may be slowing things down. Any ideas??

Thanks,

Paul Zepernick

dumarjo
22-04-05, 01:38 AM
I run it on linux slackware 9.1 with a PII-350 apache 1.3.29 and 256Megs of ram and work pretty well

Jonathan

zepernick
22-04-05, 04:05 AM
How many records in the DB? I think that is the factor. We have 3500 tasks in the system currently.


Paul

zepernick
22-04-05, 09:01 PM
I still believe there is something on the DB side that needs to be tuned, and that it is not PHP that is causing the slowness. I spent last night researching some mysql db analyzers. I will be trying some out. If I am able to do anything to improve performance, I will post the results. If anyone else has any suggestions please let me know.

Paul

MrEyes
22-04-05, 10:31 PM
I am experiencing the same problems with speed.

My Configuration is :

dotproject 2.0.1
mysql 4.1
apache 2.0.5
php 5.0.2
Windows Server 2003 (Standard)

As mine is a new system there are only 3 projects with 10 tasks between them so DB load is unlikely to be an issue.

The webserver also runs a Subversion source control system (which is heavily loaded) as this runs well I assume that Apache is OK

That leaves PHP/DotProject/Windows - I have a sneaky feeling that it will be Windows but this is yet to be confirmed.

zepernick
23-04-05, 06:59 AM
My coworker was able to greatly improve the performance of our dotproject system by changing the my.cnf file for mysql. We did not even have one of these when I originally posted, so I am not sure what the defaults were. Below is the settings we are now using:

This seems to be the biggest factor

set-variable = query_cache_size=256M

--------------------------------------------------------------------------
# Example mysql config file.
# Copy this file to c:\my.cnf to set global options
#
# One can use all long options that the program supports.
# Run the program with --help to get a list of available options

# This will be passed to all mysql clients
[client]
#password=my_password
port=3306
#socket=MySQL

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# The MySQL server
[mysqld]
log_slow_queries=\slow-queries.log
long_query_time=1
port=3306
#socket=MySQL
skip-locking
set-variable = key_buffer=256M
set-variable = max_allowed_packet=1M
set-variable = table_cache=256
set-variable = sort_buffer=4M
set-variable = record_buffer=1M
set-variable = myisam_sort_buffer_size=64M
set-variable = thread_cache=8
set-variable = query_cache_size=256M
#Try number of CPU's*2 for thread_concurrency
set-variable = thread_concurrency=8
log-bin
server-id = 1

# Uncomment the following rows if you move the MySQL distribution to another
# location
#basedir = d:/mysql/
#datadir = d:/mysql/data/

# Uncomment the following if you are using BDB tables
#set-variable = bdb_cache_size=64M
#set-variable = bdb_max_lock=100000

# Uncomment the following if you are using Innobase tables
#innodb_data_file_path = ibdata1:1000M
#innodb_data_home_dir = c:\ibdata
#innodb_log_group_home_dir = c:\iblogs
#innodb_log_arch_dir = c:\iblogs
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_log_archive=0
#set-variable = innodb_buffer_pool_size=16M
#set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innodb_file_io_threads=4
#set-variable = innodb_lock_wait_timeout=50


[mysqldump]
quick
set-variable = max_allowed_packet=64M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=1M
set-variable = write_buffer=1M

[myisamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=1M
set-variable = write_buffer=1M

[mysqlhotcopy]
interactive-timeout


The task list was taking about 17seconds to come up, and it is now down to 2 seconds. It has at least cut in half the load times of all the other screens.

Paul Zepernick

revoak
27-05-05, 04:05 AM
Zepernick hit the nail on the head for me. After an upgrade to 2.0.1 the thing was dog slow, but after changing to the my-large.cnf settings and upping the query_cache_size to 64 MB, the thing is blazing.

If you having speed issues I would definate suggest optimizing your MySQL my.cnf file.

aguidice
02-12-06, 08:54 AM
I implemented this same my.cnf w/o modification on my Mac OS X Server and what a difference. This one tip has probably saved adoption of dotproject and other PHP/MySQL applications in my organization. Thanks to you all for participating and especially to zepernick for sharing.

brjoha
23-09-08, 07:41 AM
Thanks for the suggestions about improving mysql performance. Our organization is using dotProject and has about 950 projects. Before I made these changes to my.cnf the list of all projects took about 80-90 seconds to bring up. However, after these changes the list still takes 20-30 seconds to display. Does anyone have other further suggestions on how to improve performance of dotProject, and especially the list of projects?

Mysql System specs - VMWare virtual machine (Intel Xeon CPU 3.00 Ghz, 512M Memory, RHEL). The obvious speedup would be to have a dedicated mysql machine, but we are curious if we can optimize dotProject further without taking that step.

Thank You.

Trashie
23-09-08, 05:48 PM
Try the alternate permission-handling class.You can find it and get the install instructions in this thread (http://forums.dotproject.net/showthread.php?t=8352).