13 Mayıs 2019 Pazartesi

Hızlı WordPress Kurulumu Nasıl Yapılır?

WordPress sitenizde sunucu limitlerine takıldıysanız yeni sanal sunucunuzda Vesta CP ve düşük sistem kaynakları ile çok hızlı bir siteniz olabilir.
Bu yazımızda sırasıyla ücretsiz panel olan VestaCP ve çok az kaynak kullanımı ile mükemmel sunucu optimizasyonu sizin için detaylı bir şekilde anlatıyoruz. Aşağıdaki yazılımlarla çok hızlı çalışan bir bulut sunucuya sahip olabilirsiniz.
Anlatacağımız optimizasyon önerileri VestaCP kurulumu ve WordPress kurulumu tamamlandıktan sonra yapılmalıdır

Hızlı WordPress için Sırasıyla yapacağımız kurulumlara bakalım

VestaCP: Ücretsiz ve hafif hosting paneli. Vesta CP, kullanımı kolay, opensource hosting kontrol panelidir. Web sitelerinizi sanal sunucunuzda bulundurmak için  en iyi seçeneklerden biridir ve temiz bir arayüzü vardır. Vesta  RHEL 5, RHEL 6, CentOS 5, CentOS 6, CentOS 7, Debian 7, Debian 8, Ubuntu 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10, Ubuntu 14.04 ve Ubuntu 16.04 işletim sistemlerine yüklenilebilir.
PHP 7: Php son sürüm ile WordPress siteniz daha hızlı çalışacaktır
Opcache: Disk okuma yazma işlemlerinizi %100 e yakın oranda azaltır. Bu sayede sata disklerde dahi yüksek perforans elde edersiniz.
MariaDB: MySql’e göre daha performanslı ve daha güvenli.
Redis: Sayfa ve sql sorgularını ön belleğe alıp büyük hız avantajı elde edin

VestaCP Kurulumu

Sunucunuza Putty benzeri bir programla root kullanıcı adıyla bağlanın ve sırasıyla aşağıdaki komutları çalıştırın.
curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh --nginx yes --phpfpm yes --apache no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --mysql yes --postgresql no --hostname alanadiniz.com --email eposta@alanadiniz.com --password şifreniz
Kurulum bittiğinde ssh penceresinde gördüğünüz url i not etmeyi unutmayın. Bunu panele giriş için kullanıcaksınız

VestaCP üzerinden WordPress kurulumu

      • VestaCP’ye giriş yapın ve menude DB yazan yere tıklayın
      • Add Dadabase’e tıklayın ve db bilgilerinizi girin. Kullanıcı, db ismi bilgilerinizi bir kenara not etmeyi unutmayın
      • WordPress so sürümü indirip zip li dosyayı bilgisayarınızda açın.
      • wp-config-sample.php yazan dosyanın ismini wp-config.php olarak değiştirin
      • Notepad++ editörü ile aşağıdaki satırları daha önceden dot aldığınız veri tabanı ismi, kullanıcı adı ve şifre ile değiştirin
    define ('DB_NAME', 'db_ismi');

    / ** MySQL veritabanı kullanıcı adı * /
    define ('DB_USER', 'db_kullanici_adi');

    / ** MySQL veritabanı şifresi * /
    define ('DB_PASSWORD', 'db_şifresi');
  • Düzenleme bittikten sonra sunucunuzun public_html klasörüne bu dosyaları Filezilla gibi bir ftp programı ile yükleyin.
  • Alanadınızı url kısmına girdiğinizde WordPress install ekranındaki girişleri tamamlayıp kurulumu bitirebilirsiniz

Php Yükseltme

Öncelikle sisteminizin güncelliğini kontrol edin
# yum update
VestaCP’yi PHP 7’ye yükseltebilmemiz için remi-php70 havuzunu etkinleştirin:
# yum-config-manager --enable remi-php70
Sistemi tekrardan güncelleyip, PHP paketlerini PHP 7’ye yükseltin:
# yum update
Php-fpm hizmetini yeniden başlatın:
# systemctl restart php-fpm

Opcache Yükleme

Opcache’i yüklemek çok kolay,  şu komutu çalıştırın:
# yum install php-opcache
php-fpm servisini yeniden başlatın:
# systemctl restart php-fpm
Nginx yeniden başlatın:
# systemctl restart nginx
Aşağıdaki komutu çalıştırıp Opcache’nin etkin olup olmadığını kontrol edin:
php -i | grep opcache.enable
Opcache etinse, aşağıdaki çıktıyı görürsünüz:
opcache.enable => On => On

MariaDB Yükseltme

Önce tüm veritabanlarınızdan bir yedek oluşturun.
mysqldump yardımcı programını kullanmak yerine, sisteminizdeki tüm kullanıcıların yedeğini oluşturmak için VestaCP CLI’yi kullanabilirsiniz, isterseniz şunu yapın:
# v-backup-users
Yedeklemeyi geri yüklemeniz gerekiyorsa, öncelikle yedek dosya adını yazarak yazarken:
# v-list-user-backups <username>
Ve sonra aşağıdaki komutu çalıştırarak belirli bir kullanıcı için tüm veritabanlarını geri yükleyebilirsiniz:
# v-restore-user <username> <backup_name> no no no <username> no no no
Veritabanlarını geri yüklemek istediğiniz kullanıcı adı için <username> ve v-list-user-backups komutuyla alınan yedek adı için <backup_name> değerini değiştirin.
MariaDB’yi yükseltmek için eski MariaDB sürümünü kaldırarak başlayın
# yum remove mariadb mariadb-server
Nano editörü ile repo dosyasını oluşturarak MariaDB 10 deposunu ekleyin ve sonra aşağıdaki metni yapıştırın:
# nano /etc/yum.repos.d/MariaDB.repo
# Used to install MariaDB 10 instead of default 5.5
# http://mariadb.org/mariadb/repositories/

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Sistemi güncelleyin:
# yum update
MariaDB 10’u kurun:
# yum install mariadb mariadb-server
Yükleme tamamlandıktan sonra aşağıdaki komutu çalıştırarak MariaDB’yi başlatın:
# systemctl start mariadb
Önyükleme sırasında MariaDB hizmetini etkinleştirin:
# systemctl enable mariadb.service

Redis Kurulumu

Redis,  veritabanı ve önbellek olarak kullanılan bir bellek içi veri yapısı deposudur.
Sayfalarınızı önbelleğe almak veya veritabanı satırlarınızı önbelleğe almak için Redis’i yapılandırmakla büyük bir hız avantajı elde edersiniz.
Aşağıdaki komutu yazarak Redis’i kurabilirsiniz:
# yum install redis
Yum paket yöneticisi Redis’i yüklemeyi bitirdikten sonra Redis’i başlatmak için aşağıdaki komutu yazın:
# systemctl start redis
Redis hizmetini önyüklemede başlatmak için etkinleştirin:
# systemctl enable redis.service

WordPress Yapılandırması

Redis’i WordPress için bir önbellekleme sistemi olarak kurmak çok yararlıdır
WordPress’i Redis’i kullanacak şekilde yapılandırmak için Phpredis uzantısını kurmalıyız:
# yum install php-devel
Şu komutla Phpredis uzantısını kurun:
# pecl install redis
Aşağıdaki ileti geldiğinde enter tuşuna basın:
enable igbinary serializer support? [no]
PECL Phpredis’i kurduktan sonra, nano editör ile php.ini dosyasını açın ve alttaki satırı ekleyin:
# nano /etc/php.ini
extension=redis.so
Değişikliklerin etkili olabilmesi için php-fpm’yi yeniden başlatın:
# systemctl restart php-fpm
Şimdi WordPress yönetim ekranınızda oturum açın ve W3 Total Cache eklentisini yükleyin ve etkinleştirin. W3 Total Cache için eklenti ayarlarında sayfa önbelleği ve veritabanı önbellek olarak Redis seçin, ardından her iki seçenek için etkinleştir onay kutusunu işaretleyin ve tüm ayarları kaydet düğmesini tıklayın
Nginx ‘i yeniden başlatın
# systemctl restart nginx
Aşağıdaki komut ile Redis izleyicisini açın:
redis-cli monitor
Şimdi tarayıcınızı kullanarak WordPress sayfanıza gidin. Redis çalışıyorsa aşağıdakine benzer bir çıktı görmelisiniz:
1510462482.538685 [0 127.0.0.1:48166] "GET" "w3tc_xxx.com_0_dbcache_0eacdb46b225fbe864f35d73500d5b5f"


Kaynak

5 Mayıs 2019 Pazar

Debian 9'a VestaCP Yükleme

Debian 9 için Vesta (VestaCP) Kontrol Paneli Kurulumu

VESTACP, Debian çalıştıran makinelere yükleyebileceğiniz bir açık kaynak web barındırma kontrol paneli.

Barındırılan hizmetlerin yapılandırmalarını değiştirmek ve ayarlamak isteyen deneyimli olmayan kullanıcılar için mükemmel, çok temiz ve net bir grafik arayüze sahip dikkat çekici bir web kontrol panelidir.

Kurulum

Sırasıyla SSH root olarak giriş yaptıntan sonra kodları çalıştırınız.


apt-get update && apt-get -y upgrade

apt-get -y install git

cd /root

git clone https://github.com/serghey-rodin/vesta.git

cp /root/vesta/install/vst-install-debian.sh /root/vst-install-debian.sh

bash vst-install-debian.sh

 Kurulum sırasında aşağıdaki gibi bir ekran ile karşılaşacaksınız. y + enter diyerek kurulumu onaylıyoruz.



Mail adresimizi yazarak enter diyoruz.



Hostname doğrulayıp enter diyoruz.

Kurulum başlıyor. VestaCP’nin kurulumu 15 dakika kadar sürebilir.



Yükleme işlemi ağ bağlantınızın hızına bağlı olarak biraz zaman alabilir, bu nedenle sabırlı olun. Kurulumun sonunda, STDOUT’a yazılan panelde oturum açmak için URL, kullanıcı adı ve şifreyi görmelisiniz.

30 Nisan 2019 Salı

YouTube için Anahtar Kelime Bulma Aracı

YouTube Videosu oluşturmak oldukça zor. Çok sayıda görüntü alabilecek iyi bir YouTube videosu oluşturmak zaman ve kaynak gerektirir. Ancak, çabaya değer.

Bu yüzden orada çok fazla video var.
İyi bir video, ürünlerinizi veya hizmetlerinizi tanıtmak, ziyaretçileri web sitenize getirmek ve dönüşümleri artırmak için mükemmel bir iş yapabilir. Ancak sadece iyi bir video oluşturmak bu hedeflere ulaşmak için yeterli olmayacaktır. Oluşturduğunuz videoyu insanların bulabileceklerinden emin olmanız gerekir.

Videonuzu hedef kitlenizin önüne koymanız gerekir.
YouTube için Anahtar Kelime Aracının başarmanıza yardımcı olacağı şey budur.
YouTube Anahtar Kelime Aracı, insanların YouTube.com’da arama yaparken kullandıkları anahtar kelimeleri bulmanıza yardımcı olur.

Youtube'de konunuzla ilgili en çok aranan kelimeleri https://keywordtool.io/youtube bu site üzerinden bulabilirsiniz.

Burada ayrıca Google,Bing, Amazon, eBay, Play Store,Instagram ve Twitter gibi birçok sitenin en çok aranan kelimelerini bulmanız oldukça kolaydır.

20 Nisan 2019 Cumartesi

Blogger Yeni Link Yapısı

BloggerJS, bir Blogger blogundaki URL’lerin biçimini değiştiren bir komut dosyasıdır.

Görsel olarak daha iyi navigasyon oluşturma yarar.

Komut dosyası blogunuza entegre edilir ve gezinme sırasında sitedeki URL'leri "temizler" ve "/ YYYY / MM" veya "/ p" tarihlerini ve durumlarını ortadan kaldırır. html " Ayrıca bu şekilde bir URL'yi paylaşmak daha uygun olur, çok daha iyi görünür.


Önce ve Sonra Url Yapısı aşağıdaki gibi olacaktır.



Kurulum

1. "Blogger Yönetim Panelinize" Giriş Yapın.
2. Sol Menüde var olan "Tema" kelimesine tıklayın.
3. "HTML'yi Düzenle" yazısına tıklayıp, temanın düzenlenme sayfasının açılmasını bekleyin.
4. "CTRL+F" yardımıyla "<head>" etiketini bulunuz.
5. Aşağıdaki "script" dosyasının "<head>" etiketinin bir satır altına ekleyin.


<script type="text/javascript">
// BloggerJS v0.4.0
// Licensed under the MIT License
// Copyright (c) 2017-2018 Kenny Cruz
// github.com/jokenox

// Configuration
var config = {
  postsDatePrefix: false,
  accessOnly: false,

  useApiV3: false,
  apiKey: "YOUR-API-KEY-HERE"
}
var postsOrPages=["pages","posts"],blogId="<data:blog.blogId/>",urlTotal,fetchIndex=1,ampChar="&amp;"[0],secondRequest=!0,feedPriority=0,nextPageToken;function urlVal(){var url=window.location.pathname;var length=url.length;var urlEnd=url.substring(length-5);if(urlEnd===".html")return 0;else if(length>1)return 1;else return 2}
function urlMod(){var url=window.location.pathname;if(url.substring(1,2)==="p"){url=url.substring(url.indexOf("/",1)+1);url=url.substr(0,url.indexOf(".html"));history.replaceState(null,null,"../"+url)}else{if(!config.postsDatePrefix)url=url.substring(url.indexOf("/",7)+1);else url=url.substring(1);url=url.substr(0,url.indexOf(".html"));history.replaceState(null,null,"../../"+url)}}
function urlSearch(url,database){var pathname=url+".html";database.forEach(function(element){var search=element.search(pathname);if(search!==-1)window.location=element})}
function urlManager(){var validation=urlVal();if(validation===0){if(!config.accessOnly)urlMod()}else if(validation===1){fetchData(postsOrPages[feedPriority],1)}else if(validation===2){if(!config.accessOnly)history.replaceState(null,null,"/")}}
function fetchData(postsOrPages,index){var script=document.createElement("script");if(config.useApiV3){var jsonUrl="https://www.googleapis.com/blogger/v3/blogs/"+blogId+"/"+postsOrPages+"?key="+config.apiKey+"#maxResults=500#fields=nextPageToken%2Citems(url)#callback=parseData";if(nextPageToken)jsonUrl+="#pageToken="+nextPageToken;nextPageToken=undefined}else{var jsonUrl=window.location.protocol+"//"+window.location.hostname+"/feeds/"+postsOrPages+"/summary?start-index="+index+"#max-results=150#orderby=published#alt=json-in-script#callback=parseData"}
jsonUrl=jsonUrl.replace(/#/g,ampChar);script.type="text/javascript";script.src=jsonUrl;document.getElementsByTagName("head")[0].appendChild(script)}
function parseData(json){var database=[];if(!config.useApiV3){if(!urlTotal){urlTotal=parseInt(json.feed.openSearch$totalResults.$t)}
try{json.feed.entry.forEach(function(element,index){var entry=json.feed.entry[index];entry.link.forEach(function(element,index){if(entry.link[index].rel==="alternate")database.push(entry.link[index].href)})})}catch(e){}}else{try{json.items.forEach(function(element,index){database.push(element.url)})}catch(e){}
nextPageToken=json.nextPageToken}
urlSearch(window.location.pathname,database);if(urlTotal>150){fetchIndex+=150;urlTotal-=150;fetchData(postsOrPages[feedPriority],fetchIndex)}else if(nextPageToken){fetchData(postsOrPages[feedPriority])}else if(secondRequest){nextPageToken=undefined;urlTotal=0;fetchIndex=1;secondRequest=!1;if(feedPriority===0){feedPriority=1;fetchData("posts",1)}else if(feedPriority===1){feedPriority=0;fetchData("pages",1)}}}
function bloggerJS(priority){if(priority)feedPriority=priority;urlManager()}
bloggerJS()
</script>

Geliştirici ve Kaynak

5 Nisan 2019 Cuma

My.cnf Ayarları ve Açıklamaları

Merhabalar, My.cnf (Mysql ayar dosyası) üzerinde birkaç ayar ile sunucunun mysql kullanım şekline birkaç ekleme yaparak daha verimli bir veritabanına sahip olacağız.










Öncelikle Sunucuda varsayılan olarak şu anda kullanılan my.cnf ayar dosyasını açın;
nano /etc/my.cnf
Öncelikle bu dosyayı yedeğini alın elinizde bulunsun ardından aşağıdaki optimizasyon için gerekli açıklamaları ve gerekli bilgilendirmeleri okuyarak kendinize göre düzenlemeler yapın.

[client]
port          = 3306
socket        = /tmp/mysqld.sock


[mysqld]

#genel yapılandırma seçenekleri
port          = 3306
socket        = /tmp/mysqld.sock

# sync_binlog, ikili günlüğe yapılan tüm yazmaların derhal olmasını sağlar

sync_binlog=1

# back_log, MySQL bağlantı yöneticisi iş parçacığı işlenmeden önce işletim 
sisteminin dinleme kuyruğunda tutabileceği bağlantıların sayısını belirtir. 
Çok yüksek bir bağlantı oranına sahipseniz ve "bağlantı reddedildi" hatası 
yaşarsanız, bu değeri artırmanız gerekebilir. 
Bu parametrenin maksimum değeri için işletim sisteminizin belgelerine bakın. 
Back_log'u işletim sistemi sınırından daha yüksek olarak ayarlamaya çalışmanın 
hiçbir etkisi olmaz.
back_log = 50
max_connections = 301

# MySQL'in neden max_connect_errors denetimini devre dışı bırakmadığını 
bilmiyorum, ancak bunu yapmıyorsa, özellikle de bir yük dengeleyici 
kullanıyorsanız, MySQL'in renksiz bir sunucudaki bağlantıları kabul etmeyi 
reddetmesini engellemek için yüksek bir değere ayarlayın!
max_connect_errors = 9999999

# Tüm iş parçacıkları için açık tabloların sayısı, mysqld_safe bölümünde 
açık dosya sınırının en az iki katı olduğundan emin olun
table_cache = 4096

# Sunucunun üstesinden gelebilecek bir sorgu paketinin maksimum boyutu.
max_allowed_packet = 16M

# İşlem sırasında ikili günlük için SQL deyimlerini tutacak önbellek boyutu. 
Sık sık büyük, çok beyanlı işlemler kullanırsanız, daha fazla performans 
elde etmek için bu değeri artırabilirsiniz. İşlemlerden gelen tüm ifadeler 
ikili günlük önbelleğinde arabelleğe alınır ve COMMIT'den hemen sonra ikili 
günlüğe yazılır. İşlem bu değerden büyükse, bunun yerine diskte geçici dosya 
kullanılır. Bu arabellek, işlemdeki ilk güncelleme deyimine bağlantı başına 
ayrılır
binlog_cache_size = 1M

# Tek bir HEAP (bellekte) tabloda izin verilen maksimum boyut. 
Bu seçenek, aksi halde tüm bellek kaynaklarını tüketen çok büyük bir 
HEAP tablosunun yanlışlıkla oluşturulmasına karşı koruma sağlar.
max_heap_table_size = 64M

# Sıralama arabelleği, bazı ORDER BY ve GROUP BY sorgularını sıralamak için 
kullanılır. Sıralama verileri sıralama arabelleğine uymuyorsa, bunun yerine 
bir disk tabanlı birleştirme sırası kullanılır - "Sort_merge_passes" durum 
değişkenine bakın. Sıralama gerekiyorsa iplik başına tahsis edilir.
sort_buffer_size = 8M

# Bu arabellek, tam JOIN'lerin optimizasyonu için kullanılır 
(dizin içermeyen JOIN'ler). Bu gibi JOIN'ler çoğu durumda performans için çok 
kötüdür, ancak bu değişkeni büyük bir değere ayarlamak performans etkisini 
azaltır. Tam JOIN'lerin sayısı için "Select_full_join" durum değişkenine bakın. 
join_buffer_size = 8M

# Kaç tane iş parçacığı, bir yeniden önbellekte saklanmalıyız. 
Bir istemci bağlantısı kesildiğinde, istemcinin iş parçacığı öncekinden 
çok fazla iş parçacığı_ekliğinden farklı değilse önbelleğe konur. 
Bu, çok sayıda yeni bağlantınız varsa, gereken iplik oluşturma sayısını 
büyük ölçüde azaltır. (Normalde, iyi bir iplik uygulamanız varsa, bu önemli 
bir performans gelişimi sağlamaz.)
thread_cache_size = 16

# Sorgu önbellek, SELECT sonuçlarını önbelleğe almak ve daha sonra aynı sorguyu 
bir kez daha gerçekleştirmeden tekrar iade etmek için kullanılır. 
Sorgu önbelleğinin etkinleştirilmesi, benzersiz sorgulara ve seyrek olarak 
değişen tablolara sahip olmanız durumunda önemli ölçüde hızlanma geliştirmesine 
neden olabilir. Mevcut değerinizin yükünüz için yeterince yüksek olup olmadığını 
kontrol etmek için durum değişkeni "Qcache_lowmem_prunes" e bakın. Not: 
Tablolarınızın çok sık değiştiği veya sorgularınızın her seferinde metinden 
farklı olması durumunda, sorgu önbellek performans iyileştirmesi 
yerine yavaşlamaya
 neden olabilir.
query_cache_size = 128M

# Yalnızca bu sınırdan küçük sonuç kümeleri önbellekle. 
Bu, diğer tüm sorgu sonuçlarının üzerine yazılmış çok büyük sonuç kümesinin 
sorgu önbelleğini korumak içindir.
query_cache_limit = 4M

# query_alloc_block_size, SQL deyimlerini ve diğer önemsiz bellekleri ayrıştırmak 
için ne kadar bellek ayırdığını denetler. Olası bellek parçalanmasını azaltmak 
için karmaşık sorgular çalıştıran kutularda artırıyorum. YMMV varsayılanı 8 k
query_alloc_block_size = 16K

# İşletim sisteminiz destekliyorsa, takaslamayı önlemek için arabellek havuzunu 
bu seçeneğiyle belleğe kilitleyebilirsiniz. Linux'un bunu destekleyip 
desteklemediğinden emin değilim, ancak Solaris bunu yapar. Linux'ta, swapiness 
sisteminin kullanılması muhtemelen yaklaşık olarak etkilidir.
#memlock

# CREATE TABLE deyimi sırasında farklı şekilde belirtilmemişse, yeni tablolar 
oluştururken varsayılan olarak kullanılan tablo türü.
default_table_type = InnoDB

# Kullanılacak iplik yığını boyutu. Bu hafıza miktarı her zaman bağlantı 
zamanında saklıdır. Kendi yığın aç UDF işlevlerini kullanırsanız veya işletim 
sisteminiz bazı işlemler için daha fazla yığın gerektiriyorsa, MySQL'in kendisi 
genellikle 64 K'den fazla belleğe ihtiyaç duymaz, bunu daha yüksek bir değere 
ayarlamanız gerekebilir.
thread_stack = 192K

# Dahili (bellek içi) geçici tablolar için maksimum boyut. Bir tablo bu değerden 
daha büyük büyürse, otomatik olarak disk tabanlı tabloya dönüştürülür Bu sınırlama 
tek bir tablo içindir. Birçoğu olabilir. Ayrıca, eğer max_heap_table_size 
<tmp_table_size, bunun yerine limit olarak kullanılacaktır, bu yüzden daha büyük 
yapmak yararlı değildir. tmp_table_size = 64M # İkili günlüğe kaydetmeyi 
etkinleştirin. Bu, bir # kopyalama yapılandırmasında MASTER olarak hareket 
etmek için gereklidir. En son yedeklemenizden zamanında kurtarmayı yapmak 
için # yeteneğine ihtiyacınız varsa, ikili günlüğüne de ihtiyacınız vardır. 
# ikili günlüğü için bir dosya adı belirtmek için önerilir, umarım # ev sahibi 
tarafından özel olmayan bir şey. Master-bin'i seçtim. log-bin = master-bin # Eğer 
zincirleme kölelerle çoğaltma kullanıyorsanız (A-> B-> C), sunucu B'de bu seçeneği 
etkinleştirmeniz gerekir. Kölenin ipliği tarafından yapılan güncellemelerin 
kölenin ikili günlüğü
log_slave_updates

# Uyarıları hata günlüğüne günlüğe kaydet
log_warnings

# Yavaş sorguları kaydedin. Yavaş sorgular "long_query_time" da tanımlanan süreyi 
aşan veya log_long_format etkinleştirildiğinde dizinleri iyi kullanmayan sorulardır
. Sisteme sık sık yeni sorgular eklerseniz, bunun açık olması iyi bir fikirdir.
log_slow_queries

# Bu süreyi aşan (saniyeler içinde) tüm sorgular yavaş çalışılacaktır. Bir değer 
olarak "1" i kullanmayın, çünkü bu, zaman zaman çok hızlı sorguların 
güncellenmesine neden olacaktır (şu an MySQL yalnızca şu an ikinci doğrulukla 
zamanı ölçmektedir).
long_query_time = 1

# Yavaş sorgu günlüğüne daha fazla bilgi günlüğü yazın. Normalde bunun açık 
olması iyi olur. Bu, uzun süren sorgulara ek olarak dizinleri kullanmayan 
sorguların günlüğe kaydını sağlayacaktır.
log_long_format

# Tmpfs'i `tmpdir` ONLAYINIZ TAVSİYE EDİN (BE CAREFUL IF YOU PUT). 
Eğer bunu yaparsanız slave_load_tmpdir dosyasını bir tmpfs olmayan dosya 
sistemine ayarlamanız gerekir
tmpdir = /tmp
slave_load_tmpdir = /tmp

# MyISAM tablolar için dizin bloklarını önbelleğe almak için kullanılan 
Anahtar Arabelleğinin boyutu. Bazı bellek OS tarafından önbellek satırları 
için de gerektiği için, mevcut belleğinizin% 30'undan daha büyük bir değere 
ayarlanmayın. MyISAM tablolarını kullanmasanız bile dahili geçici disk tabloları 
için de kullanılacağı için 8-64M olarak ayarlamanız gerekir.
key_buffer_size = 32M

# MyISAM tablolarının tam tablo taramaları için kullanılan arabellek boyutu. 
Tam tarama gerekiyorsa, iplik başına ayrılır.
read_buffer_size = 2M

# Bir sıralama sonrasında sıralanmış sıralarla satır okurken, disk aramalarından 
kaçınmak için satırlar bu arabelleğe okunur. Bunu yüksek bir değere ayarlarsanız, 
ORDER BY performansını çok artırabilirsiniz. Her iş parçacığı için gerektiğinde 
tahsis edilir.
read_rnd_buffer_size = 16M

# MyISAM toplu eklemeler yapmak için (yani, INSERT ... SELECT, INSERT ... VALUES 
(...), (...), ... ve LOAD DATA INFILE) özel ağaç benzeri önbellek kullanır. 
Bu değişken, önbellek ağacının boyutunu iş parçacığı başına bayt olarak sınırlar. 
0 olarak ayarlamak bu optimizasyonu devre dışı bırakır. En iyi performans için 
"key_buffer_size" değerinden büyük ayarlamayın. Bu arabellek, bir toplu ek 
algılandığında tahsis edilir.
bulk_insert_buffer_size = 64M

# Bu arabellek, MySQL'in, TAMİR, OPTİMİZE, ALTER tablo tablolarında ve YÜK 
VERİLERİNDEN KAYNAKLARDA boş bir tabloda dizini yeniden oluşturması gerektiğinde 
tahsis edilir. Her iş parçacığı için ayrılır, bu nedenle büyük ayarlara dikkat 
edin.
myisam_sort_buffer_size = 128M

# MySQL'in geçici dosyanın maksimum boyutu, dizini yeniden oluştururken 
(REPAIR, ALTER TABLE veya LOAD DATA INFILE sırasında kullanmaya izin verir.) 
Dosya boyutu bundan daha büyük olursa, dizin anahtar önbelleği üzerinden 
oluşturulur Yavaş).
myisam_max_sort_file_size = 10G

# Hızlı dizin oluşturma için kullanılan geçici dosya, burada belirtilen miktara 
göre anahtar önbelleğini kullanmaktan daha büyük olursa, anahtar önbellek 
yöntemini tercih edin. Bu, ağırlıklı olarak büyük tablolardaki uzun karakter 
anahtarlarını yavaş anahtar önbellek yöntemini kullanarak dizin oluşturmak için 
zorlar.
myisam_max_extra_sort_file_size = 10G

# Bir tabloda birden fazla dizin varsa, MyISAM bunları paralel sıralamayla 
onarmak için birden fazla iş parçacığı kullanabilir. Birden çok işlemciye ve 
bol miktarda belleğe sahipseniz bu mantıklıdır.
myisam_repair_threads = 1

# Düzenli şekilde kapalı MyISAM tablolarını otomatik olarak kontrol edin ve onarın.
myisam_recover

# BDB desteği etkin olan bir MySQL sunucusu çalıştırıyorsanız, ancak bunu 
kullanmayı planlamıyorsanız bu seçeneği kullanın. Bu, belleği kurtaracak ve 
bazı şeyleri hızlandıracaktır.
skip-bdb

# InnoDB desteği etkinleştirilmiş bir MySQL sunucunuz varsa, ancak bunu kullanmayı 
planlamıyorsanız bu seçeneği kullanın. Bu bellek ve disk alanından tasarruf 
sağlayacak ve bazı şeyleri hızlandıracaktır.
#skip-innodb

# InnoDB tarafından meta veri bilgisini depolamak için kullanılan ek bellek havuzu.
 InnoDB, bu amaçla daha fazla bellek gerektiriyorsa, işletim sisteminden 
ayrılmaya başlayacaktır. Bu, en yeni işletim sistemlerinde yeterince hızlı 
olduğundan normalde bu değeri değiştirmeniz gerekmez. SHOW INNODB STATUS 
kullanılan geçerli miktarı görüntüler.
innodb_additional_mem_pool_size = 32M

# Bu yapılandırma dosyası en az 8G'lık bir ana bellek varsayar
innodb_buffer_pool_size = 6.5G


# tablo başına innodb dosyası için tablo alanı boyutlarını belirleyemezsiniz, 
bu nedenle büyük bir autoextend kullanmak bu durumlarda tercih edilir.
innodb_data_file_path = ibdata1:1G:autoextend
innodb_autoextend_increment=128M
innodb_file_per_table

# InnoDB tablolama dosyalarının başka bir konumda saklanmasını isterseniz bu 
seçeneği ayarlayın. Varsayılan olarak bu MySQL datadir.
#innodb_data_home_dir = 

# InnoDB çekirdeğinde izin verilen iş parçacığı sayısı. En iyi değer, uygulamaya, 
donanıma ve OS zamanlayıcı özelliklerine bağlıdır. Çok yüksek bir değer, iplik 
parçalanmasına neden olabilir.
innodb_thread_concurrency = 16

# 1 olarak ayarlanırsa, InnoDB işlem günlüğünü ACID davranışı sunan her bir 
taahhütteki diske boşaltacaktır (fsync). Bu güvenliği tehlikeye atmaya hazır 
iseniz ve küçük işlemler yürütüyorsanız, disk G / Ç'yi günlüklere azaltmak için 
bunu 0 veya 2 olarak ayarlayabilirsiniz. Değer 0, günlüğün yalnızca günlük 
dosyasına yazıldığı ve günlük dosyası saniyede yaklaşık bir kere diske 
boşaltıldığı anlamına gelir. Değer 2, günlüğün her taahhütte günlük dosyasına 
yazıldığı anlamına gelir, ancak günlük dosyası yalnızca yaklaşık saniyede bir 
kez diske boşaltılır.
innodb_flush_log_at_trx_commit = 1

# InnoDB kapatma işlemini hızlandırın. Bu, InnoDB'nin bir tam boşaltma yapmak ve 
kapatma işleminde arabellek birleştirme ekini devre dışı bırakacaktır. Kapatma 
süresini çok artırabilir, ancak InnoDB bunun yerine bir sonraki başlangıçta bunu 
yapmak zorunda kalacaktır.
#innodb_fast_shutdown

# InnoDB'nin günlük verisini arabelleğe almak için kullandığı arabellek boyutu. 
Dolduğunda, InnoDB diske boşaltmak zorunda kalacaktır. Her neyse saniyede bir kez 
boşaltıldığı için, çok büyük olması mantıklı değil (hatta uzun işlemlerde).
innodb_log_buffer_size = 8M

# günlük dosyalarının, günlükler döndüğünde kontrol noktalarını tutmaması için 
yeterince büyük olduğundan emin olun!
innodb_log_file_size = 1G

# Günlük grubundaki toplam dosya sayısı. 2-3 değeri genellikle yeterlidir.
innodb_log_files_in_group = 2

# LVM'yi kullanırsanız ve sıcak yedekleme için dosya sisteminizi anlık olarak 
görüntülemeyi planlıyorsanız dikkatli olun. bunun çalışması için günlük 
dosyalarınız veri dosyalarınızla aynı mantıksal hacimde olmalıdır.
#innodb_log_group_home_dir

# InnoDB arabellek havuzundaki kirli sayfaların izin verilen maksimum yüzdesi. 
Buna ulaşılırsa, InnoDB onları temiz sayfalardan hiç kaçınmamak için agresif bir 
şekilde yıkamaya başlayacaktır. Bu, yumuşak bir sınır olup, tutulması garanti 
edilmez.
innodb_max_dirty_pages_pct = 80

# mümkün olduğunda dosya sistemi önbelleklerini için direction'u kullanın
innodb_flush_method=O_DIRECT

# Ne kadar bir InnoDB işlemi, geri alınmadan önce bir kilidin verilmesi için 
beklenmelidir. InnoDB, kendi kilit tablosundaki işlem kilitlenmelerini otomatik 
olarak algılar ve işlemi geri alır. LOCK TABLES komutunu veya aynı işlemde 
InnoDB'den başka işlemle güvenli depolama motorlarını kullanırsanız, 
InnoDB'nin fark edemediği bir kilitlenme ortaya çıkabilir. 
Böyle durumlarda zaman aşımı durumu çözmek için yararlıdır.
innodb_lock_wait_timeout = 120

# Bu yapılandırmayla, muhtemelen yine de önemi kalmaz, çünkü ikili günlüğü 
etkinleştirilir; bu, izolasyon seviyesi seri hale getirilemese bile seri hale 
getirilmiş taahhütleri zorlar.
innodb_commit_concurrency=0

innodb_open_files=2000
#
[mysqldump]
# Dosyaya yazmadan önce tüm sonuç kümesini belleğe tamponlamayın. 
Çok büyük masaları boşaltmak için gereklidir
quick

max_allowed_packet = 16M

[mysql]
no-auto-rehash

# Yalnızca anahtarları kullanan GÜNCELLEMELER ve SİLLER'e izin verin.
#safe-updates

[isamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
# İşlem başına izin verilen açık dosya sayısını artırın. 
Uyarı: Global sistem limitini yeterince yüksek ayarladığınızdan emin olun! 
Çok sayıda açılmış tablo için yüksek değer gereklidir
open-files-limit = 16384
Şimdi bu açıklamalara dayanarak sunucunuz için en iyi performansı alacağını düşündüğünüz değerleri siz verin ve my.cnf dosyasını kaydedip kapatın.
Yaptığınız ayarların geçerli olması için mysql yeniden başlatmanız gerekmektedir
service mysql restart
veya
service mysqld restart
İşlemler tammalanmış durumdadır Mutlu günler.


Kaynak

2 Mart 2019 Cumartesi

Şeker Baba WordPress Teması

Arşivde eskiyen hobi amaçlı geliştirilmiş kişisel wordpress siteler için uygun blog teması.
Temada beyaz renkler hakim olup sadeliğe önem verilmiştir.
Konu içi altında detaylı eklentisiz bilgiler verilmektedir.
Örneğin;
Detaylar: » Bu yazı 2019-02-06 15:17 tarihinde admin tarafından Bilim ve Teknoloji kategorisi altında yazıldı. Bu yazıya bir yorum yazabilir bu linke sağ tıklayarak favorilerinize ekleyebilir yada bu yazıyı tavsiye edenlere göz atabilirsiniz. Bu yazı hakkında yapılan yorumlarıda RSS 2.0’ye abone olarak izleyebilirsiniz.
Yan menüde 1 adet reklam ve popüler alan bulunmaktadır. Geliştirilebilir.

İNDİR