1

Тема: OS для VPS (web hosting)

Вітаю.

зіткнувся з тим, що при перевищенні тисячної відмітки кількості товарів, сайти під prestashop почали нещадно гальмувати при роботі з базами (внесення товарів, редагування, тощо)

всі можливі кеші не допомагають, тож вирішив переїхати на потужніший VPS:

2x2000 MHz
1024 MB
20 GB SSD

Який Linux зараз в тренді на сервер для веб хостинга ставити ?
На старому у мене archlinux , але він для сервера не дуже - вимагає постійної уваги , бо rolling release

на робочих компах - Mint то ж хотілося б щось  близьке.
Debian? Ubuntu_server ? other?

2

Re: OS для VPS (web hosting)

ping написав:

всі можливі кеші не допомагають

дану? весь хайлоад на кеші тільки і працює, а вам не допомагає.
1) поставте apc
2) поставте xhprof, подивіться де створюється максимальна затримка.

я прямо відчуваю, шо проблема з базою. проставте індекси, дайти памяті мускулу.
і більше не юзайте prestashop.

pew pew :D
Блоґ
Подякували: ping1

3 Востаннє редагувалося ping (20.07.2013 13:13:57)

Re: OS для VPS (web hosting)

miroslav.chandler написав:
ping написав:

всі можливі кеші не допомагають

дану? весь хайлоад на кеші тільки і працює, а вам не допомагає.
1) поставте apc
2) поставте xhprof, подивіться де створюється максимальна затримка.

я прямо відчуваю, шо проблема з базою. проставте індекси, дайти памяті мускулу.
і більше не юзайте prestashop.

не юзати престашоп - не вийде, бо альтернатива - MAGENTO - ще вибагливіша :(

APC поставив ще вчора , трошки попустило, але мало.

top каже, що основний час процесора йде на httpd

проблема є з MySQL, її тонко налагоджувати ще не доводилося :(
Ось що видає MySQLTuner (VPS RAM 512KiB):

-------- General Statistics --------------------------------------------------
-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.5.28-log
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster 
[--] Data in MyISAM tables: 11M (Tables: 517)
[--] Data in InnoDB tables: 38M (Tables: 1563)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
[!!] Total fragmented tables: 1563

-------- Security Recommendations  -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 12s (9 q [0.750 qps], 7 conn, TX: 10K, RX: 707)
[--] Reads / Writes: 100% / 0%
[--] Total buffers: 176.0M global + 2.4M per thread (100 max threads)
[OK] Maximum possible memory usage: 419.8M (83% of installed RAM)
[OK] Slow queries: 0% (0/9)
[OK] Highest usage of available connections: 1% (1/100)
[OK] Key buffer size / total MyISAM indexes: 100.0M/3.6M
[!!] Query cache efficiency: 0.0% (0 cached / 4 selects)
[OK] Query cache prunes per day: 0
[OK] Temporary tables created on disk: 0% (0 on disk / 2 total)
[OK] Thread cache hit rate: 85% (1 created / 7 connections)
[OK] Table cache hit rate: 78% (26 open / 33 opened)
[OK] Open file limit used: 1% (20/1K)
[OK] Table locks acquired immediately: 100% (36 immediate / 36 locks)
[!!] Connections aborted: 28%
[OK] InnoDB data size / buffer pool: 38.6M/42.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    MySQL started within last 24 hours - recommendations may be inaccurate
    Enable the slow query log to troubleshoot bad queries
    Your applications are not closing MySQL connections properly
Variables to adjust:
    query_cache_limit (> 1M, or use smaller result sets)

4 Востаннє редагувалося koala (20.07.2013 14:28:03)

Re: OS для VPS (web hosting)

на робочих компах - Mint то ж хотілося б щось  близьке.

Mint - це Ubuntu з допиляною графікою, так що якщо вам зручно - беріть Ubuntu Server. Debian - теж непогано. А взагалі лінукс - то завжди лінукс, після Арча вам все має бути знайоме.

top каже, що основний час процесора йде на httpd

Перегляньте його налаштування, повимикайте (тільки обережно) непотрібні модулі... і подивіться в бік nginx.
Втім, час процесора - то ще не все. Яке навантаження на процесор? Скільки пам'яті ким зайнято?

Подякували: ping1

5

Re: OS для VPS (web hosting)

в престашоп не включайте всі кеші. Включайте компіляцію шаблонів але відключіть інші і побачите що може бути приріст. Або юзайте мемкеш для кешування сторінок товарів ;)

В престі є багато місць де оптимізувати. Але як на мене якщо налаштувати мемкеш тоді буде реально швидше працювати ;)

Подякували: ping1

6

Re: OS для VPS (web hosting)

koala написав:

на робочих компах - Mint то ж хотілося б щось  близьке.

top каже, що основний час процесора йде на httpd

Перегляньте його налаштування, повимикайте (тільки обережно) непотрібні модулі... і подивіться в бік nginx.
Втім, час процесора - то ще не все. Яке навантаження на процесор? Скільки пам'яті ким зайнято?

включив top і смикаю  в он-лайні два близьку по кількості товарів (1000 одиниць) сайти  - один під opencart, інший prestashop
presta конкретно заганяє CPU в червону зону:
%Cpu(s): 20.8 us, 79.2 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

причому найсильніше вантажить CPU саме httpd -> ps axfu:
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
...
http      5396 12.4  5.4 104024 27684 ?        S    18:19   0:35  \_ /usr/sbin/httpd -k start
http      5404 15.1  6.2  99620 31972 ?        S    18:20   0:30  \_ /usr/sbin/httpd -k start
....

оскільки при смиканні opecart цих проблем нема - значить шукати надлишково підключені модулі апача сильно сенсу нема?

nginx... здається тоді доведеться відмовитися від APC кешування?
варто? настільки сильний приріст швидкості видачі?

п.с.
тут ще питання -  чи хостер видає чесно все, що заявив...

7 Востаннє редагувалося koala (21.07.2013 07:56:25)

Re: OS для VPS (web hosting)

ping написав:

nginx... здається тоді доведеться відмовитися від APC кешування?

Це тільки я ось тут бачу ось це?

miroslav.chandler, вибачте, тепер буду так писати :[

8

Re: OS для VPS (web hosting)

nginx використовувати як проксі-сервер. На replace зараз так. Взагалі зараз багато так роблять.

9 Востаннє редагувалося miroslav.chandler (20.07.2013 23:07:03)

Re: OS для VPS (web hosting)

ping написав:

nginx... здається тоді доведеться відмовитися від APC кешування?

Прихований текст
https://si0.twimg.com/profile_images/2727748211/c3d0981ae770f926eedf4eda7505b006.jpeg

що вам видав xhprof?
ставте nginx

Replace написав:

nginx використовувати як проксі-сервер. На replace зараз так. Взагалі зараз багато так роблять.

ужс)


koala написав:
ping написав:

nginx... здається тоді доведеться відмовитися від APC кешування?

Це тільки я бачу?

я вже не раз думав ддоснути цей сервіс, задовбав просто)

pew pew :D
Блоґ
Подякували: koala1

10

Re: OS для VPS (web hosting)

miroslav.chandler написав:

що вам видав xhprof?
ставте nginx

- нічо не видав - ця тулза відсутня в офіційному репозиторії Archlinux, а ставити програми з AUR на робочий дійючий сервер я не люблю.

- nginx... читаю, знайомлюся. ще не ставив ніколи його.
наскільки зрозумів, суть в тому, що за рахунок менших габаритів та оптимальнішого коду , nginx швидко видасть картинки, стилі, джава-скрипти (бо яка ще статика в інтернет-магазину ?) передавши апачу запити на генерацію динамічного контенту на внутрішній IP (куди запхали апача), поки ми тягнемо статику,  апач підготує динаміку з php, передасть на nginx і той докине на веб-сторінку.
обіцяють якраз зняти пікові викиди навантаження на процесор.

11

Re: OS для VPS (web hosting)

ping написав:
miroslav.chandler написав:

що вам видав xhprof?
ставте nginx

- нічо не видав - ця тулза відсутня в офіційному репозиторії Archlinux, а ставити програми з AUR на робочий дійючий сервер я не люблю.

- nginx... читаю, знайомлюся. ще не ставив ніколи його.
наскільки зрозумів, суть в тому, що за рахунок менших габаритів та оптимальнішого коду , nginx швидко видасть картинки, стилі, джава-скрипти (бо яка ще статика в інтернет-магазину ?) передавши апачу запити на генерацію динамічного контенту на внутрішній IP (куди запхали апача), поки ми тягнемо статику,  апач підготує динаміку з php, передасть на nginx і той докине на веб-сторінку.
обіцяють якраз зняти пікові викиди навантаження на процесор.


Прихований текст
https://si0.twimg.com/profile_images/2727748211/c3d0981ae770f926eedf4eda7505b006.jpeg

ясне діло що відсутня. ця тулза написана фейсбуком і до арча, як і до AUR не має відношення взагалі. заставляти не буду)

нашо апач під нгінксом?)) це для мене не зрозуміло взагалі) поставте собі php-fpm і тіштеся)

без xhprof тут робити нема що. вгадувати якось не професіонально)

pew pew :D
Блоґ
Подякували: koala1

12 Востаннє редагувалося ping (22.07.2013 13:20:23)

Re: OS для VPS (web hosting)

результат:
новий VPS

2x2000 MHz
1024 MB
20 GB SSD

Debian 7  64-bit
nginx + apache2

все просто літає, схоже проблема була таки в перевантаженості процесора.
тести швидкодії дають скорочення часу завантаження сторінки в 2 -3 рази.


але nginx здорово роботи підсунув - URL rewrite для статики узгодити з кожною CMS доведеться окремо

Подякували: koala1

13

Re: OS для VPS (web hosting)

miroslav.chandler написав:

нашо апач під нгінксом?)) це для мене не зрозуміло взагалі) поставте собі php-fpm і тіштеся)

а як з цим:

Here is a quick list of what you need to get started with the installation of PrestaShop 1.5.
A web-host providing the following:

    PHP 5.2 or later.
    MySQL 5.0 or later.
    Better if: Unix hosting, Apache Web Server 1.3 or later, at least 64 Mb of RAM.

там багато  модулів заточені під Apache

14

Re: OS для VPS (web hosting)

Єдине що для nginx прийдеться допиляти, то перенести все з .htaccess(якщо такий є у вашій CMC) в настройки віртуал хосту. Побавтесь на локальному компютері, побачите що не так все страшно.

15

Re: OS для VPS (web hosting)

Якби сервером користувався лише я, то так, можна було б просто залишити Apache, а так більше 50 сайтів і користувачів велика кількість.
Головне, що nginx приймає всю статику та повільних клієнтів і серверу значно легше.
:)

16 Востаннє редагувалося ping (05.08.2013 21:48:47)

Re: OS для VPS (web hosting)

Питання по поштовому агенту.
На старому  сервері стояв postfix.
Зараз Debian і тут по змовчуванню exim4 + dovecot
Питання - міняти на постфікс чи нема сенсу?

п.с.
таки покрутився з exim4, заплутався в конфігах, плюнув і поставив postfix - він якийсь логічніший, чи шо...

17

Re: OS для VPS (web hosting)

ping написав:
miroslav.chandler написав:

нашо апач під нгінксом?)) це для мене не зрозуміло взагалі) поставте собі php-fpm і тіштеся)

а як з цим:

Here is a quick list of what you need to get started with the installation of PrestaShop 1.5.
A web-host providing the following:

    PHP 5.2 or later.
    MySQL 5.0 or later.
    Better if: Unix hosting, Apache Web Server 1.3 or later, at least 64 Mb of RAM.

там багато  модулів заточені під Apache

цей рідмі древній як лайно мамонта і апач 1.3.
і відчуваю залежність від апачу створює тільки .htaccess, який можна переписати під нгікс.
ваше діло)

pew pew :D
Блоґ
Подякували: ping1

18

Re: OS для VPS (web hosting)

і відчуваю залежність від апачу створює тільки .htaccess, який можна переписати під нгікс.
ваше діло)

фактично це одна проблема я б сказав )) А так нджінкс + рнрфпм ;)

Подякували: miroslav.chandler, ping2

19 Востаннє редагувалося ping (05.08.2013 21:47:04)

Re: OS для VPS (web hosting)

панове, а підкажіть - які програми моніторингу Linux VPS варті уваги?
(ніяких панелей типу webmin не передбачається)

також - ніяких особливих вимог - просто мати можливість вчасно побачити якісь аномальні сплески активності чи наближення до критичного споживання ресурсів.

п.с.
наразі дивлюся на Monit та  Munin.

п.п.с.
поставив Munin - легка і проста система індикації роботи VPS
що і вимагалося.

ну і для швидкого огляду звітності - logwatch з генерацією звіту на пошту.

20

Re: OS для VPS (web hosting)

вперше підключав на VPS додаткову IP адресу.
може кому згодиться (варіант для Debian):

~$ nano /etc/network/interfaces

щось подібне появиться:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

додаємо другий IP на eth0 (як віртуальний інтерфейс, бо мережева карта в нас одна - eth0 ), дописавши наступні рядки (нулі заміняємо на додатковий IP адрес):

# The secondary network interface

iface eth0:1 inet static
address [000.000.000.000]

(netmask and gateway я не прописую - вони вже визначені конфігурацією VPS при отриманні додаткової адреси, міняються з консолі управління сервером)
і піднімаємо інтерфейс:

~$ sudo ifup eth0:1

перевіряємо:

~$ sudo ifconfig -a

eth0      Link encap:Ethernet  HWaddr  ....[censored ;)] ....
          inet addr: ....[censored ;)] ....  Bcast: ....[censored ;)] ....  Mask:255.255.255.0
          inet6 addr:  ....[censored ;)] ....Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10123869 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5769190 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3300997973 (3.0 GiB)  TX bytes:5077259186 (4.7 GiB)

eth0:1    Link encap:Ethernet  HWaddr ....[censored ;)] ....
          inet addr: ....[censored ;)] .... Bcast: ....[censored ;)] ....  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1934057 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1934057 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1558001491 (1.4 GiB)  TX bytes:1558001491 (1.4 GiB)