@iyinet Cok tesekkürler bakalim durum ne olacak...

Bu durumda sorunun mysql konfigurasyonundan kaynaklanmadigini anlamis olduk. PHPbb haricinde uygulama calisiyormu serverda? ...

Merhabalar eger bu mysql kullanimin forumlardan kaynakli oldugunu dü$ünüyorsaniz, forumlarda kurulu olan modül varmi / yokmu diye bir bakın derim. phpBB serveri pek kasmiyor diye biliyorum fakat, ana modullere bagli i$lemlerden kaynaklanabilir. Ana sayfaye eklenmi$ 3 modül var ise, 100 anlik kullanicida serverinizde 300 anlik sorgu cali$acagi anlamina gelir. Onun di$inda iyinet 'in verdiği my. cnf bilgileri, optimasyon icin gayet güzel bilgiler i$e yaramadiysa daha farkli alanlara bakilmalidir. Ayrica neredeyse 0day bir kac exploit ile phpBB forumlardan remote olarak code injection yapilabiliyor. Httpd loglarinizida tail e almanizi tavsiye edebilirim. Saygilarimla.

MySQL icin yapilabilecek pek cok optimizasyon yontemleri mevcut. Oncelikle /etc/my. cnf dosyani buraya koymakla ise basla istersen. Adim adim sorunun uzerinde ilerleyelim...

Once my. cnf in bir yedegini al. my. cnf in optimize edilmis sekli ile asagida: # Example MySQL config file for medium systems. # # This is for a system with little memory (32M - 64M) where MySQL plays # an important part, or systems up to 128M where MySQL is used together with # other programs # # You can copy this file to # /etc/my. cnf to set global options, # mysql-data-dir/my. cnf to set server-specific options or # /. my. cnf to set user-specific options. # # In this file, you can use all long options that a program supports. # If you want to know which options a program supports, run the program # with the &quot;--help&quot; option. # The following options will be passed to all MySQL clients #password = your_password port = 3306 socket = /var/lib/mysql/mysql. sock # Here follows entries for some specific programs # The MySQL server port = 3306 socket = /var/lib/mysql/mysql. sock skip-locking skip-innodb key_buffer = 384M max_allowed_packet = 64M table_cache = 512 max_connections = 500 query-cache-type = 1 # query cache mysql i hizlandirir, 1=acik query-cache-size = 64M # kullanilacak query cache miktari max_allowed_packet=64M # mysqlhotcopy icin wait_timeout=3600 # mysqlhotcopy icin #sort_buffer_size = 512K #net_buffer_length = 8K #read_buffer_size = 256K #read_rnd_buffer_size = 512K #myisam_sort_buffer_size = 8M # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # will render mysqld useless! # #skip-networking # Replication Master Server # binary logging is required for replication # log-bin # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1 # Replication Slave # # To configure this host as a replication slave, you can choose between # two methods : # # 1) Use the CHANGE MASTER TO command - # the syntax is: # # CHANGE MASTER TO MASTER_HOST=&lt;host&gt;, MASTER_PORT=&lt;port&gt;, # MASTER_USER=&lt;user&gt;, MASTER_PASSWORD=&lt;password&gt; ; # # where you replace &lt;host&gt;, &lt;user&gt;, &lt;password&gt; by quoted strings and # &lt;port&gt; by the master's port number (3306 by default). # # Example: # # CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, # MASTER_USER='joe', MASTER_PASSWORD='secret'; # # OR # # 2) Set the variables below. However, in case you choose this method, then # start replication for the first time , the slave will create a master. info file, and any later # change in this file to the variables' values below will be ignored and # overridden by the content of the master. info file, unless you shutdown # the slave server, delete master. info and restart the slaver server. # For that reason, you may want to leave the lines below untouched # and instead use CHANGE MASTER TO # # required unique id between 2 and 2^32 - 1 # # defaults to 2 if master-host is set # but will not function as a slave if omitted #server-id = 2 # # The replication master for this slave - required #master-host = &lt;hostname&gt; # # The username the slave will use for authentication when connecting # to the master - required #master-user = &lt;username&gt; # # The password the slave will authenticate with when connecting to # the master - required #master-password = &lt;password&gt; # # The port the master is listening on. # optional - defaults to 3306 #master-port = &lt;port&gt; # # binary logging - not required for slaves, but recommended #log-bin # Point the following paths to different dedicated disks #tmpdir = /tmp/ #log-update = /path-to-dedicated-directory/hostname # Uncomment the following if you are using BDB tables #bdb_cache_size = 4M #bdb_max_lock = 10000 # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /var/lib/mysql/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /var/lib/mysql/ #innodb_log_arch_dir = /var/lib/mysql/ # You can set.. _buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 16M #innodb_additional_mem_pool_size = 2M # Set.. _log_file_size to 25 % of buffer pool size #innodb_log_file_size = 5M #innodb_log_buffer_size = 8M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50 # The safe_mysqld script err-log=/var/lib/mysql/mysqld. log quick max_allowed_packet = 16M no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M interactive-timeout

culpable' Alıntı:

disconnect' Alıntı:

Dikkat! Asagidaki oneri sadece esq icindir ve dedicated server icindir, eger optimizasyon isteginiz var ise sizde my. cnf icerigini ve top ciktisini buraya yapistirin. Once my. cnf in bir yedegini alip saklayin! Islem yapmadan once aciklamalari sonuna kadar okuyun! Innodb kullanmiyorsaniz ve serverinizda sadece 1 mysql calisiyor ise, nin altinaki satirlari kaldirin ve asagidaki blogunu oldugu gibi my. cnf e koyun. Bunun ardindan my. cnf i kaydedip service mysql restart ile mysql i yeniden baslatin. datadir=/var/lib/mysql socket=/var/lib/mysql/mysql. sock pid-file=/var/run/mysqld/mysqld. pid skip-locking # 1 mysql varsa skip-innodb # innodb kullanilmiyorsa key_buffer = 384M # 1Gb bellek icin 384M, 512Mb icin 192M table_cache = 512 max_connections = 500 query-cache-type = 1 # query cache mysql i hizlandirir, 1=acik query-cache-size = 32M # kullanilacak query cache miktari max_allowed_packet=64M # mysqlhotcopy icin wait_timeout=3600 # mysqlhotcopy icin Not: bu butun sorunlarinizi cozmeyebilir, ama baslangic icin yapilmasi gerekmektedir. Bunun ardindan, yapilacaklari daha sonra aciklayacagim...

teşekkürler. my. cnf dosyası şu şekilde: safe-show-database innodb_data_file_path=ibdata1:10M:autoextend query_cache_type=1 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql. sock query_cache_size=128M connect_timeout=5 max_connections=100 thread_cache=100 thread_concurrency=120 thread_stack=512000 key_buffer_size=512K sort_buffer_size=100K read_buffer_size=100K max_allowed_packet=64M user=mysql basedir=/var/lib err-log=/var/log/mysqld. log pid-file=/var/run/mysqld/mysqld. pid

iyinet' Alıntı:

Windows server için de geçerlidir.

Aynı dertten bende muzdaribim 1 haftadır. ne yaptıysam bir çözüm üretemedim. Sizin söylediklerinizide uyguladım, ama mysql yine sistemde Cpu'yu %99'luk veya daha yüksek kullanıma ulaştırıyor. bende bulunan my. cnf dosyası boştu aslında sizin makalelerinize göre editledim. Serv. Özellikleri Pentium D 3.4 2048 Ram centOS4 my. cnf dosyam Kod:

Cevabın için teşekkürler. ama ben zaten mysql5 kullanıyorum arkadaşım

Lütfen mysql5 kullanınız tek pide düşecektir mysql çalışması. Ondan sonra bir sorun yaşayacağınızı sanmıyorum.

Her şey için tekrar teşekkürler CPU sorunu halloldu ama bu seferde ram kullanımı yükseliyor yavaş yavaş. Bunun için bir optimizasyon varmı?

Merhaba, top komutu kullanarak shellden sistem kullanımına baktığımda aşağıdaki gibi bir sonuç veriyor: top - 22:40:34 up 16 min, 1 user, load average: 6.50, 4.98, 3.08 Tasks: 88 total, 4 running, 84 sleeping, 0 stopped, 0 zombie Cpu : 90.0% us, 9.6% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.3% si Mem: 1023412k total, 766548k used, 256864k free, 12920k buffers Swap: 2094112k total, 0k used, 2094112k free, 300900k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2023 mysql 16 0 220m 25m 3276 S 51.6 2.6 7:04.98 mysqld 2147 apache 16 0 34120 16m 3632 R 9.2 1.7 0:09.23 httpd 1926 apache 15 0 34456 17m 3892 S 6.9 1.7 0:12.63 httpd 1953 apache 17 0 34604 17m 3896 R 6.6 1.7 0:09.30 httpd 2149 apache 15 0 34352 17m 3816 S 6.6 1.7 0:04.64 httpd 2105 apache 15 0 34992 17m 3780 S 6.2 1.8 0:10.86 httpd 2110 apache 15 0 34628 17m 3880 S 3.6 1.8 0:11.16 httpd 1655 apache 15 0 30300 13m 3824 S 2.0 1.3 0:12.83 httpd MySQL sürümü: 4.0.25 PHP sürümü: 4.3.11 İşlemci: P4 2.4 Ghz Ram: 1 GB İşletim Sistemi: Linux (Fedora Core 2) Makinada 2 tane phpBB forum için MySQL veritabanı var (Anlık tekil hit toplam 100-200 dolaylarında). Bir tanesinin veritabanı 200 mb civarında, diğerininki ise 15 mb. Fakat koca makina da sadece mysql %50 - 60 arası cpu yiyor. CPU kullanımını nasıl düşürebilirim? Bu sorunu çözebilecek arkadaşlara yardımları için şimdiden çok teşekkür ederim.