Kje najeti server

Mislim da dvoma sploh ni. O Hetzner ponudbi sem že pisal, sedaj smo pa skoraj leto kasneje, in še vedno jih lahko le hvalim. Čez praznike sem sicer našel malce časa in zamenjal prejšnji server z novejšim, za isti denar, ampak močnejši procesor, več RAMa in več diska. V bistvu sem vse to naredil predvsem zaradi diska.

Za 49 EUR/mesečno boste težko dobili kjerkoli kaj boljšega, oblaki gor ali dol. Če pa kdo najde kaj boljšega, pa naj hitro sporoči. Za hot backup pa še vedno uporabljam virtualca na contabo.com (prej se je imenoval giga-international.com), kjer za 10 EUR/mesec dobiš 2 GB RAMa in 100 GB diska. Na področju virtualcev se mi zdi precej bolj presenetljivo, da se vmes ni pojavil še kakšen nov konkurent, s vsaj približno primerljivo ponudbo.

Sicer pa menjava serverja vedno s seboj prinese tudi nekaj novih spoznanj, ki jih je vredno zabeležiti, bolj zase kot za druge, da pač naslednjič ne padeš na isto finto.

Skratka, če import mysqldump-a javi napako, lahko z -f to v bistvu preskočiš, ampak to ne pomeni, da ne bodo uvoženi samo problematični zapisi (v mojem primeru 2) ampak vsi v tistem ukazu, kar lahko pomeni tudi par 1000 recordov. Zabavno, če si malce površen, in to spregledaš.

Percona oz. mysql 5.5 dela zanič, brez innodb konfiguracije. Sam sem sedaj dodal:

innodb_log_buffer_size = 8M
innodb_log_files_in_group = 2
#innodb_log_file_size = 256M
innodb_file_per_table = 1
innodb_data_file_path = “ibdata1:10M:autoextend”
innodb_autoextend_increment = 8
innodb_open_files = 2048
open_files_limit  = 32768
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_commit_concurrency = 0
innodb_thread_concurrency = 16
innodb_concurrency_tickets = 500
innodb_additional_mem_pool_size = 4M
innodb_buffer_pool_size = 4000M
# transaction-isolation = READ-COMMITTED
table_cache = 1024
thread_cache = 16
query_cache_size = 256M

Po nastavitvi se seveda mysql morda ne pobere več. Če recimo te nastavitve prenesem na virtualca se mysql ne bo dvignil. innodb_buffer_pool_size na 4GB na mašini z 2GB pač ne gre. Iz istega podobnega razloga sta zakomentirana tudi transaction-isolation in innodb_log_file_size. Nisem še ugotavljal, kaj je narobe z tem.

Ne smemo tudi pozabiti na apc.shm_size = 256M in apc.stat = 1 (ali 0, kar vam pač paše). Samo ne pozabit, ker so lahko zanimive posledice :-))

Ravno tako tudi ne pozabit na IP6. Ker sedaj privzeto to že vsi vklapljajo, tako da se vam komot lahko zgodi da imate postavljeno, hkrati pa ne ustrezno nastavljen firewall. Sam sem IP6 lepo izklopil. Ne rabim še.

In za finale še ena php.ini nastavitev, ki pa niti ni vezana z to nadgradnjo. max_input_vars = 5000. Jup, se strinjam. Imeti forme z več kot 1000 polji (to je default vrednost) nekako ni primer dobrega programiranja. Pride pa do tega, ko eksprimentalno narediš nek vnos, ki se nato izkaže kot zelo zelo ok, ga obdržiš in potem ne narediš vseh v naprej zamišljenih optimizacij (ajax pa to).

Hetzner vsebuje tudi 100GB ftp prostora za backup, ki se ga splača ponucat. Za to je primeren lftp programček. Z njim zelo enostavno narediš mirror lokalnega backupa na njihov ftp. Konkretno

/usr/bin/lftp -e ‘mirror –continue –delete-first –only-missing –reverse /backup/ /;exit;’ -u someuser,somepass somehost.your-backup.de

Na prejšnjem serverju sem imel cron jobe v vseh variantah. Nekaj vpisanih preko crontab -e pod par userji. Nekaj v /etc/crontab in nekaj v /etc/cron.hourly in par v /etc/cron.daily in /etc/cron.hourly. Ob prenosu se je pokazalo, da je to dokaj neobvladljivo, tako da sem sedaj naredil čez vse križ in bom vse imel kar lepo v /etc/crontab. Razen tistih ki jih sistem kar sam naseli v ustrezne poddire. Naj bodo tam, če jim paše.

Evo, toliko zaenkrat. Vesel bom bil, če mi kdo kaj pokomentira, deli svoje izkušnje ipd…

PS: Če pa bi kdo šel na Hetzner, pa nima izkušenj z najemom / upravljanjem stežnika, in sedaj plačuje za to komu bistveno več, pa naj se javi. Lahko kaj uredimo :-)))