Sly32

Рейтинг
370
Регистрация
29.03.2012
Mik Foxi #:
переноси сразу на норм вдс норм хостера. 

Переноси сразу на облачный сервис, чо уж там.)))

Антоний Казанский #:
Но иногда не хочется возиться с развёртыванием и переносом сайта, хочется - зашёл, залил скрипт

Ну я не вижу большой разницы - залить скрипт или развернуть сайт) Но если там секурность и прочее - значит нужно написать скрипт, написать скрипт для его развертывания и все. С пхпшным не помогу, но думаю это такая же простая задача как на питоне.

htexture #:
Увеличивал буферизацию, но хдд использование растет пропорционально народу на сайте. Сервер исключительно с базой данных работает. 

Это нормально, не все операции работают  в памяти. Ну и надо смотреть особенности мускли, я давно от нее отказался, постгрес лучше. Я говорю исходя из моего опыта,  буфферизация отличается в разных реляционных базах.

Ты хочешь проверить скорость процессора  и базы на самом хостинге или скорость ответа хостинга? Если второе, то чат тебя обманул
Эти скрипты нужно запускать на самом хостинге и они тебе покажут, как быстро процессор сервера обрабатывает данные, скорость твоего интерпретатора. 
Есди же ты хочешь проверить хостинг, как все это работает в целом - нужно писать скрипты, например с использованием curl, можно ping.
Но это все равно особо ничего не даст. В действительности только развертывание твоего сайта и потом профилирование запросов покажет реальную картину.
Элизабет #:
Можно попробовать продвигаться под Google. Кому это удобно, конечно. Но он тоже странный. Я тут столкнулась с тем, что он выдаёт Дзен. При этом Дзен в регионе заблокирован. В чём смысл?

а где это он заблокирован?

Элизабет #:
Странно... Мне всегда казалось, что люди, в основном, оказывают предпочтение тем, кто снимает у них жильё без всяких договоров, а тут - наоборот...

А я думал что такое давно в прошлом. В Польше с таким вообще строго. Ну и снять квартиру без договора - чревато проблемами.
Кстати для ВНЖ тоже нужен контракт на жилье. Не уверен, что прокатит липовый, в ужонде могут проверить.

alaev #:
Запрещено, а вы первые нарушаете закон

VPN - Virtual Private Network, c каких это пор они запрещены даже в россии? Под VPN можно например развернуть сервер, к кторому есть доступ только у работников компании. 

В твоем случае человечество ничего не потеряет если пропадет такой гег=ниальный сайт из то-50 по версии журнала работница и крестьянка. 😀

В плане бэкапа вполне можно хранить на твердотельном, если твой шкаф постоянно подвергается опасности урониться. Надежность SSD измеряется в циклах чтения записи и в режиме бэкапа тебе его хватит на десятки лет. 

Если ты имеешь ввиду буфферизацию, то достаточно увеличить размер буфера, но не более 40% от всей. Если ты хочешь вообще работать с базой в памяти , то дорога в noSQL. Например MongoDB
webinfo #:

Указывать родительский пункт.

Но потом еще обрабатывать ответ. С утра набросал сравнительный профайлер по времени и простенький код

import os
import time
import json
import functools
from sqlalchemy import create_engine, text
from sqlalchemy.orm import sessionmaker


def profiler(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        start_time = time.time()  # Start the timer
        result = func(*args, **kwargs)  # Execute the function
        end_time = time.time()  # End the timer
        execution_time = end_time - start_time  # Calculate the execution time
        print(f"Execution time for {func.__name__}: {execution_time:.4f} seconds")
        return result  # Return the function result
    return wrapper


@profiler
def get_language_db():
    connector = "postgresql+psycopg2://postgres:postgres@localhost:5432/simple_db"
    engine = create_engine(
        connector,
        connect_args={"options": "-c timezone=utc", "connect_timeout": 30},
    )
    Session = sessionmaker(bind=engine, expire_on_commit=False)
    session = Session()
    try:
        result = session.execute(text("SELECT * FROM menu"))
        return result.fetchall()  # Fetch all the results
    finally:
        session.close()



@profiler
def get_language_from_file(lang: str = "en") -> dict:
    file_name = "lang_settings.json"
    file_path = "".join((os.getcwd(), "/settings/", file_name))
    with open(file_path, "r") as f:
        data = json.load(f)
        lang = data.get(lang)
        if not lang:
            return data.get("en")
        return lang


if __name__=="__main__":
    print(get_language_from_file())
    print(get_language_db())

И вот результат без кэширования работы с базой:

Файл:

Execution time for get_language: 0.0002 seconds

{'subjects': {'subjects': {'chemistry': 'chemistry', 'math': 'mathematics'}}, 'mentors': 'mentors', 'scheduler': 'scheduler', 'news': 'news', 'adverts': 'adverts'}

База:

Execution time for get_language_db: 0.1151 seconds

[('en        ', 'mentee    ', 'mentee    '), ('en        ', 'mentor    ', 'mentor    '), ('en        ', 'news      ', 'news      '), ('en        ', 'advert    ', 'advert    '), ('en        ', 'schedule  ', 'schedule  '), ('en        ', 'schedule  ', 'schedule  '), ('en        ', 'schedule  ', 'schedule  '), ('en        ', 'schedule  ', 'schedule  '), ('en        ', 'schedule  ', 'schedule  ')]

Обратите внимание,  в каком виде ответ. Из файла я сразу получаю удобоваримый json, который могу отдавать в шаблонизатор.
Из базы мне еше нужно написать обработчик, который сконвертит список в json.

FuRReX #:
На DLE достаточно просто.

Натыкать кнопок?? Создать 2 шаблона и два языковых файла? Это вообще не SOLID 😀

Всего: 7322