Я тут нещодавно отримав багато нових знань, в тому числі про роботу сайтів — зокрема, щодо опрацювання логів, знаходження причини навантаження на сайт та інших цікавих речей. Також мені показали, як докопуватися до причини того, чому сайт гальмує.
Суть полягає в тому, що спеціальний шматок PHP-коду, вставлений в index.php, зберігає всі змінні оточення у файлики. Потім, з консолі, за допомогою команди php-cgi і того-ж шматка коду це оточення відтворюється — тільки тепер index.php запускається не веб-сервером, а вручну. Вручну — значить, можна все це загорнути в команду strace, що відстежує всю системну активність піддослідного скрипту, що дозволяє побачити, на чому відбувається затримка.
І тут я згадав, що адмінка мого стенделону останнім часом гальмувала — то-ж вирішив її перевірити. Поки я все поставив на місця, пару раз помилився, проте, нарешті, зробив все правильно. На мій подив, під strace адмінка не гальмувала — скрипт виконувався швидко, як і повинно бути.
На мій іще більший подив, коли я прибрав із index.php той шматок коду, то виявив, що адмінка взагалі не гальмує, в нормальних умовах. Хоча, конфігурацію я не міняв.
Причини я так і не встановив — маю лише версії. Раніше, коли я заходив у адмінку, вона, серед інших проблем, попереджала мене про те, що Drupal не може встановлювати мережеві з'єднання. Після експериментів — перестала. Напевне, запуск скрипта не через веб-сервер, а вручну, допоміг йому якимось чином зрозуміти, що все гаразд. Але що саме там відбулося, я вже не дізнаюся. Для тих, кому цікаво — раніше сайт жив на моєму VPS, де був Apache, а потім мігрував без змін на звичайний сервер, де nginx і я не адміністратор.