Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

APACHE, PHP VE LINUX İLE MAKSİMUM PERFORMANS Burak DAYIOĞLU

Benzer bir sunumlar


... konulu sunumlar: "APACHE, PHP VE LINUX İLE MAKSİMUM PERFORMANS Burak DAYIOĞLU"— Sunum transkripti:

1 APACHE, PHP VE LINUX İLE MAKSİMUM PERFORMANS Burak DAYIOĞLU

2 2 Daha Yüksek Performans Amaç: Daha fazla yatırım yapmadan aynı altyapıyı daha etkin kullanmak Beklenti: Web üzerinden çok yoğun kullanılacak uygulamanın minimal sürede gerçekleştirilmesi ve hizmete alınması Apache ve PHP en uygun ikili Linux, x86 mimarisi üzerinde Oracle çalışan UNIX’lerden birisi

3 3 Çekirdek Ayarları Değişikliği Çekirdeğin çalışma zamanında ayarlarını değiştirmek mümkün İki farklı yöntem echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward sysctl -w net.ipv4.ip_forward=1 sysctl -w net.ipv4.ip_forward=1 Her iki durumda da değişiklikler geçici; iki alternatif yöntem ile kalıcı hale getirilebilir: Değişikliklerin açılış betiklerine yerleştirilmesi Değişikliklerin açılış betiklerine yerleştirilmesi Uygun satırların /etc/sysctl.conf ’a eklenmesi Uygun satırların /etc/sysctl.conf ’a eklenmesi

4 4 Dosya Sistemi Ayarları Son erişim zamanı bilgisinin (atime) güncellenmesini iptal edin /etc/fstab dosyasında ilgili dosya sistemi için: /dev/sda1 /webfiles ext2 noatime 1 2 /etc/fstab dosyasında ilgili dosya sistemi için: /dev/sda1 /webfiles ext2 noatime 1 2 Çekirdeğin dosya sistemi için tampon bellek yönetim stratejisini değiştirin sysctl -w vm.bdflush=" “ /doc/sysctl/vm.txt dosyasında açıklamaları mevcut

5 5 Dosya Sistemi Ayarları Dosya sistemi belirteçlerinin ve inode sayısının limitlerini arttırın: sysctl –w fs.inode-max=“128000” sysctl –w fs.file-max=“64000” ulimit –n Yeni nesil dosya sistemlerinden birisini kullanın (reiserfs, ext3 vb.)

6 6 Ağ Sürücüsü Ayarları Yerel TCP bağlantı noktası aralığını genişletin: sysctl –w net.ipv4.ip_local_port_range=“ ” Ağ sürücüsünün işini hafifletmek için “TCP Timestamping”’i iptal edin: sysctl –w net.ipv4.tcp_timestamps=0

7 7 Ağ Sürücüsü Ayarları Hizmet almak üzere bağlantı kuyruğunda bekleyebilecek istemci sayısını arttırın sysctl –w net.ipv4.tcp_max_syn_backlog = 256 TCP Açık iletişim zaman-aşımını düşürün sysctl –w net.ipv4.tcp_keepalive_time=30 İletişim sonlandırma zaman aşımını düşürün sysctl –w net.ipv4.tcp_fin_timeout = 30

8 8 Görev Yönetimi Ayarları Bir kullanıcının aynı anda işletebileceği maksimum süreç sayısını arttırın ulimit –u unlimited İnteraktif kullanıcılar var ise süreç sayısını rahatça ARTTIRAMAZSINIZ! while(1) fork();

9 9 Güncel Çekirdek Kullanımı Çekirdek 2.2.x yerine 2.4.x kullanımı web hizmet performansını ciddi biçimde arttırdı Kesilme temelli G/Ç (Interrupt-driven I/O) Kesilme temelli G/Ç (Interrupt-driven I/O) Yoklama temelli G/Ç (Poll-driven I/O) Yoklama temelli G/Ç (Poll-driven I/O) Hibrid G/Ç Hibrid G/Ç

10 10 Apache’nin Derlenmesi Modülleri dikkatle seçin Derlenmiş modüllerin bir listesini httpd –l ile görebilirsiniz Derlenmiş modüllerin bir listesini httpd –l ile görebilirsiniz Gereksiz tüm modülleri iptal edin Gereksiz tüm modülleri iptal edin Mmap_static modülunu ekleyin Mmap_static modülunu ekleyin PHP’yi modül olarak ekleyin PHP’yi modül olarak ekleyin  Gereksiz php bileşenlerini devre dışı bırakın Tüm Apache modüllerini statik olarak derleyin Tüm Apache modüllerini statik olarak derleyin Maksimum paralel istem sayısını arttırın src/include/httpd.h dosyasını açıp HARD_SERVER_LIMIT değişkeninin değerini 4096’ya çıkartın src/include/httpd.h dosyasını açıp HARD_SERVER_LIMIT değişkeninin değerini 4096’ya çıkartın

11 11 Apache Görev Yönetimi MaxClients XXX StartServers XXX MinSpareServers XXX MaxSpareServers XXX MaxRequestsPerChild 0

12 12 Apache Ayarları FollowSymLinks on AllowOverride none HostNameLookups off KeepAlive on KeepAliveTimeoutMaxKeepAliveRequests

13 13 Resimleri Bellekte Bekletme MMapFile ile ön-bellek kullanımı disk erişimini ciddi biçimde azaltabilir MMAPFile /usr/local/apache/htdocs/img/a1.jpg MMAPFile /usr/local/apache/htdocs/img/a1.jpg

14 14 PHP Ayarları PHP’yi statik Apache modülü olarak derleyin Ayarlardan max_execution_time = 30 max_execution_time = 30 memory_limit = (2MB) memory_limit = (2MB) display_errors = Off display_errors = Off log_errors = Off log_errors = Off track_errors = Off track_errors = Off register_argc_argv = Off register_argc_argv = Off

15 15 PHP ile Programlama Echo, print ve PHP koduna HTML karıştırma Aralarında performans bakımından önemli bir fark yoktur Aralarında performans bakımından önemli bir fark yoktur Kalıcı (ing. persistent) veritabanı bağlantıları

16 16 PHP Yorumlayıcısı PHP yorumlayıcısının çalışma biçimi Hiç çağrılmamasına rağmen, 100 satırın silinmesi çalışma hızını ciddi biçimde arttırır

17 APACHE, PHP VE LINUX İLE MAKSİMUM PERFORMANS Burak DAYIOĞLU


"APACHE, PHP VE LINUX İLE MAKSİMUM PERFORMANS Burak DAYIOĞLU" indir ppt

Benzer bir sunumlar


Google Reklamları